I am trying to use the iterator (ii) of my for loop as a string in my input prompt. The code is shown below
for ii = 1:n
x = input('What is the orientation of molecule ' num2str(ii) 'in the x-direction?');
end
but this does not work. Any suggestions?

1 Kommentar

lsutiger1
lsutiger1 am 6 Nov. 2015
Thank you to all who replied! Much appreciated!!

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

Walter Roberson
Walter Roberson am 6 Nov. 2015

8 Stimmen

x = input(['What is the orientation of molecule ' num2str(ii) 'in the x-direction?']);

Weitere Antworten (2)

Wanbin Song
Wanbin Song am 6 Nov. 2015

3 Stimmen

Input argument of 'input' function should be a text.
Your code shows that your input arguments of 'input' function consists of three string.
Just combine them as below.
for ii = 1:n
x = input(['What is the orientation of molecule ' num2str(ii) 'in the x-direction?']);
end
Then it will work.
Steven Lord
Steven Lord am 28 Sep. 2024

0 Stimmen

Another possibility you can use in recent releases of MATLAB (since I think release R2016a) is to use a string array.
ii = 5;
promptMessage = "What is the orientation of molecule " + ii + " in the x direction?"
promptMessage = "What is the orientation of molecule 5 in the x direction?"
You could then pass promptMessage into the input function (or directly construct the prompt message inside the input call.) I didn't show that because calling input is not supported on MATLAB Answers.

Kategorien

Mehr zu Historical Contests finden Sie in Hilfe-Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by