MATLAB Answers

While loop inside an if loop

28 views (last 30 days)
mcm
mcm on 23 Oct 2016
Edited: Walter Roberson on 23 Oct 2016
I have UPDRS1997 which is an array (1x50). I want a while loop that will display Participant should consult neurologist if the value of the array is not 0
pick_year = input('Pick a year: either 1997 or 2013: ')
if pick_year == 1997
load('UPDRS1997')
while UPDRS1997 ~=0
fprint('Participant should consult neurologist'/n)
end
end
The while loop I created however does not run. Matlab stops by display pick_year.
How can I improve my code?
  2 Comments
Walter Roberson
Walter Roberson on 23 Oct 2016
It is a .mat file in the current directory that contains the variable UPDRS1997 which is a 1 x 50 double.

Sign in to comment.

Answers (2)

Chaya N
Chaya N on 23 Oct 2016
Edited: Chaya N on 23 Oct 2016
"Matlab stops by display pick_year."
When this line is displayed, you have to enter the year on your command window. Your program will only run once you specify the input!
Also, if you do not have any data associated with the year 2013, why is it specified as an input option?
  3 Comments
Chaya N
Chaya N on 23 Oct 2016
For the issue with the while loop, refer to Walter Roberson's excellent solution below.
My question was, when you are prompted for an input, if you specified 2013 as the year, your program would still terminate because there are no statements specified to execute for that condition. If you have no data for that particular input, then it is unnecessary to prompt for the year because you could directly load the data for the year 1997 and run the program. This would also eliminate the first 'if' statement for pick_year.

Sign in to comment.


Walter Roberson
Walter Roberson on 23 Oct 2016
Edited: Walter Roberson on 23 Oct 2016
pick_year = input('Pick a year: either 1997 or 2013: ')
if pick_year == 1997
load('UPDRS1997')
if all(UPDRS1997 ~=0)
fprintf('Participant should consult neurologist, array is all non-zero\n')
elseif any(UPDRS1997 ~=0)
fprintf('Participant should consult neurologist, something in array is non-zero\n')
end
end
  2 Comments
Walter Roberson
Walter Roberson on 23 Oct 2016
Ah yes, you are right.

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by