how to make loop

3 views (last 30 days)
Tian Lin
Tian Lin on 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 Comment
Andrew Newell
Andrew Newell on 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.

Sign in to comment.

Accepted Answer

Matt Fig
Matt Fig on 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 Comment
Tian Lin
Tian Lin on 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.

Sign in to comment.

More Answers (0)

Categories

Find more on MATLAB in Help Center and File Exchange

Tags

Products

Community Treasure Hunt

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

Start Hunting!