how to make loop

2 visualizzazioni (ultimi 30 giorni)
Tian Lin
Tian Lin il 22 Mar 2011
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
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)

Categorie

Scopri di più su Graphics Performance in Help Center e File Exchange

Tag

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by