Entry Level Exam Question
Show older comments
What does the following code display?
V=[2 4 6 8];
for V = 1:2:5
if V>=3
disp('yes')
else
disp('no')
end
end
disp(V);
I know the output is:
no
yes
yes
5
But I'm not sure why. What determines the yes and no answers, and why does the value of V become 5? Any help?
1 Comment
phillip kataswa
on 31 Mar 2020
The last number to iterate thorough the loop is 5. I think that instead of displaying the whole vector V
V is automatically changed to a scaler vector and only stores the last number that iterates through the loop.
Answers (2)
Walter Roberson
on 7 Mar 2013
Try this:
X = 999;
for X = 777; end
disp(X)
Image Analyst
on 7 Mar 2013
Edited: Image Analyst
on 7 Mar 2013
The first V you made is essentially thrown away and never used.
V=[2 4 6 8]; % Never used at all.
When you do this:
for V = 1:2:5
you're saying that, in the loop, you want V to take on values 1, 3, and 5. It means (startvalue):(stepValue):(endingValue). After the loop, V retains its last value of 5 and that's what you print out.
Categories
Find more on Loops and Conditional Statements in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!