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 Commento

phillip kataswa
phillip kataswa il 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.

Accedi per commentare.

Risposte (2)

Walter Roberson
Walter Roberson il 7 Mar 2013
Try this:
X = 999;
for X = 777; end
disp(X)

2 Commenti

Brian C
Brian C il 7 Mar 2013
So, is it completely rewriting the value of X?
Yes.

Accedi per commentare.

Image Analyst
Image Analyst il 7 Mar 2013
Modificato: Image Analyst il 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.

Categorie

Scopri di più su Loops and Conditional Statements in Centro assistenza e File Exchange

Tag

Richiesto:

il 7 Mar 2013

Commentato:

il 31 Mar 2020

Community Treasure Hunt

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

Start Hunting!

Translated by