assign subscrips to vectors
2 views (last 30 days)
Show older comments
I have 5 vectors yt1, yt2, yt3,yt4,yt5 of size 200*1.
I need to assign subscripts so that I can call the vector I want in side a loop.
Can you please help me with this?
Thanks
0 Comments
Accepted Answer
Cedric
on 12 Mar 2013
Edited: Cedric
on 12 Mar 2013
You probably want something like
yt = [yt1, yt2, yt3, yt4, yt5] ;
and then use
yt(:,k)
in the loop, where k is the loop index. If yt's were not all the same dimension, you could use a cell array:
yt = {y1, y2, y3, y4, y5} ;
and then use
yt{k}
in the loop.
If you want to avoid copies/aggregation, just define directly the matrix the cell array instead of defining yt1 to yt5, e.g.
yt = zeros(200,5) ; % Prealloc.
yt(:,1) = ... whatever computation you used to define yt1
yt(:,2) = ... whatever computation you used to define yt2
..
or
yt{1} = ... whatever computation you used to define yt1
yt{2} = ... whatever computation you used to define yt2
2 Comments
More Answers (2)
Youssef Khmou
on 12 Mar 2013
hi, try :
N=200;
for n=1:N
yt1(n)=.............
yt2(n)=.......
.....
end
4 Comments
Youssef Khmou
on 12 Mar 2013
alright, i dont think that is possible but you can construct a matrix that contains the vectors :
yt1=rand(200,1);
yt2=rand(200,1);
yt3=rand(200,1);
yt4=rand(200,1);
yt5=rand(200,1);
Y=[yt1';yt2';yt3';yt4';yt5'];
for m=1:5
ym=Y(m,:);
end
ok?
See Also
Categories
Find more on Logical in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!