How would I write this code using for and while loops/

댓글 수: 4

What have you done so far? What specific problems are you having with your code?
How do I flip every entry for V?
You could use if statement
for i=1:length(V)
if V(i)
V(i)=0;
else
V(i)=1;
end
end
Yeah I finally figured out 2a of the problem. Im working on 2b, so I'm trying to flip every second instance of 0. If I do it right, array V (V = [1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1]), should become V = [1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1]. I underlined the zeroes that should flip to ones.
This is the code I used:
But, instead of getting V = [1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1]
I get:
Any help?

댓글을 달려면 로그인하십시오.

답변 (1개)

Sourabh Kondapaka
Sourabh Kondapaka 2021년 2월 17일
편집: Sourabh Kondapaka 2021년 2월 18일
I would recommend you to check out the free Matlab OnRamp Course
For 2b:
V = [1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1];
count = 0;
for i = 1 : length(V)
% Below 'if' condition is same as : if V(i) == 0
if ~V(i)
count = count + 1;
% As you want to modify every second instance, i'm just checking the modulus value of count
% with 2.
if mod(count,2) == 0
V(i) = 1;
end
end
end

카테고리

도움말 센터File Exchange에서 MATLAB에 대해 자세히 알아보기

질문:

2021년 2월 11일

편집:

2021년 2월 18일

Community Treasure Hunt

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

Start Hunting!

Translated by