Variable in input prompt
조회 수: 11 (최근 30일)
이전 댓글 표시
I am trying to have a counter for the specific object the data of which is currently being entered.
I tried:
for n = 1:10
input_matrix(2:3,n) = input(['Enter the Mass and Volume in brackets [Mass Volume] of Object # ' n '']);
dens(n) = input_matrix(2,n) / input_matrix(3,n);
end
but it shoes a Box instead of n. Please help, thank you.
댓글 수: 0
답변 (2개)
Star Strider
2017년 8월 8일
Use a sprintf call:
input_matrix(2:3,n) = input(sprintf('Enter the Mass and Volume in brackets [Mass Volume] of Object # %d: ', n))
댓글 수: 2
Star Strider
2017년 8월 8일
My pleasure!
The box is an unprintable character. That has to do with mapping ‘n’ to the ASCII character codes. If ‘n’ does not match a printable character, a box of some sort appears in its place.
If my Answer helped you solve your problem, please Accept it!
the cyclist
2017년 8월 8일
You would need to convert the number to a string to display it. Closest to your syntax would be
input(['Enter the Mass and Volume in brackets [Mass Volume] of Object #',num2str(n)])
but preferable would be
input(sprintf('Enter the Mass and Volume in brackets [Mass Volume] of Object #%d: ',n))
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!