how to make loop

I have asked the question as http://www.mathworks.com/matlabcentral/answers/3748-how-to-make-a-loop-for-end. Matt fig helped me this: x=[1.6,2.7,3.5,4.4,5.2,6.8,7.9,8.4,9.1,10.2]; N = length(x); % The largest number. Change to whatever... a = 1; % The starting point. Change to 3,5... whatever S = 3; n = zeros(1,floor((N-a)/(S))+1); % Pre-allocate the array... for ii = 1:length(n) n(ii) = x(S*(ii)+(a-S)); end Now,I want to make a new loop for S (S=1:length(x)),that gets the value of S from 1 to length(x).So I can get every value of n when the S is different. How are the codes about?

1 Commento

Andrew Newell
Andrew Newell il 22 Mar 2011
@Tian, it would really help those of us who answer your questions if you formatted your code: one line per command, indent two spaces.

Accedi per commentare.

 Risposta accettata

Matt Fig
Matt Fig il 22 Mar 2011

0 voti

L = length(x)
N = L; % The largest number. Change to whatever...
a = 3; % The starting point. Change to 3,5... whatever
T = cell(1,L); % Store everything in a cell array.
for jj = 1:L
S = jj;
n = zeros(1,floor((N-a)/(S))+1); % Pre-allocate the array...
for ii = 1:length(n)
n(ii) = x(S*(ii)+(a-S));
end
T{jj} = n;
end
T{:}
You should go back and format your question. Is there a particular reason why you want to do this with loops?

1 Commento

Tian Lin
Tian Lin il 22 Mar 2011
In the beginning,I only wanted to do a loop to get some data from matrix.With your help,I find some questions about changing the conditions of loops,so I asked again and again.Sorry for you,there isn't any particular reason.Next time,I will think over and then ask a question.By the way,I will say thank you agian.

Accedi per commentare.

Più risposte (0)

Prodotti

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by