Entry Level Exam Question

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

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.

Sign in to comment.

Answers (2)

Try this:
X = 999;
for X = 777; end
disp(X)

2 Comments

So, is it completely rewriting the value of X?

Sign in to comment.

Image Analyst
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

Tags

Asked:

on 7 Mar 2013

Commented:

on 31 Mar 2020

Community Treasure Hunt

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

Start Hunting!