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.

Antworten (2)

Star Strider
Star Strider am 8 Aug. 2017

3 Stimmen

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 Kommentare

Musaddiq Sajjad
Musaddiq Sajjad am 8 Aug. 2017
Hey it works now. Thank you so much! :)
out of curiosity, why was it showing a box?
Star Strider
Star Strider am 8 Aug. 2017
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!

Melden Sie sich an, um zu kommentieren.

the cyclist
the cyclist am 8 Aug. 2017

2 Stimmen

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))

Gefragt:

am 8 Aug. 2017

Kommentiert:

am 8 Aug. 2017

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by