I am trying to get user input for node coordinates. For some reason the ouput in the command window does not show the variable number, but instead a square:
Input
for i =1:2
x(i)=input(['coordinate for x ' i ' in metres: ']);
end
Output
coordinate for x in metres:

1 commentaire

Dr. Kelsey Joy
Dr. Kelsey Joy le 27 Nov 2021
Modifié(e) : Dr. Kelsey Joy le 27 Nov 2021
num2str(i) so it doesn't just convert the number to a character position
I agree sprintf or fprintf may be a better approach.

Connectez-vous pour commenter.

 Réponse acceptée

Walter Roberson
Walter Roberson le 19 Jan 2019
['coordinate for x ' i ' in metres: ']
Concatenation between a character and a numeric value is define the same as if you had done
['coordinate for x ', char(i), ' in metres: ']
char(1) is the unprintable SOH (Start of Header) character, and char(2) is the unprintable STX (Start Of Text) character.
You should look at sprintf(). Or switch to string objects:
"coordinate for x " + i + " in metres: "
is well defined as formatting the number as text (according to ill-defined rules.)

Plus de réponses (0)

Catégories

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by