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 Kommentar

phillip kataswa
phillip kataswa am 31 Mär. 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.

Melden Sie sich an, um zu kommentieren.

Antworten (2)

Walter Roberson
Walter Roberson am 7 Mär. 2013

0 Stimmen

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

2 Kommentare

Brian C
Brian C am 7 Mär. 2013
So, is it completely rewriting the value of X?
Walter Roberson
Walter Roberson am 7 Mär. 2013
Yes.

Melden Sie sich an, um zu kommentieren.

Image Analyst
Image Analyst am 7 Mär. 2013
Bearbeitet: Image Analyst am 7 Mär. 2013

0 Stimmen

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.

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Hilfe-Center und File Exchange

Tags

Gefragt:

am 7 Mär. 2013

Kommentiert:

am 31 Mär. 2020

Community Treasure Hunt

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

Start Hunting!

Translated by