How can I use the loop 'for' or other, to produce the same matrix (24,72) depicted in the figure? kind regards.

 Akzeptierte Antwort

Joseph Cheng
Joseph Cheng am 15 Jan. 2016
Bearbeitet: Joseph Cheng am 15 Jan. 2016

2 Stimmen

since it is a nice simple pattern of (zeros for columns that are a multiple of 3) then:
DesiredResult = ones(24,72);
DesiredResult(:,3:3:end)=0;

Weitere Antworten (1)

Brendan Hamm
Brendan Hamm am 15 Jan. 2016

1 Stimme

You could do this with a loop:
A = ones(24,72);
for k = 1:72
if rem(k,3) == 0
A(:,k) = 0;
end
end
or you could do this in one line:
A = repmat([1 1 0],24,72/3);
The latter is much faster and more elegant.

Kategorien

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

Community Treasure Hunt

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

Start Hunting!

Translated by