assign subscrips to vectors

2 visualizzazioni (ultimi 30 giorni)
dav
dav il 12 Mar 2013
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

Risposta accettata

Cedric
Cedric il 12 Mar 2013
Modificato: Cedric il 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 Commenti
dav
dav il 12 Mar 2013
thank you everyone!
Cedric
Cedric il 12 Mar 2013
Modificato: Cedric il 12 Mar 2013
You're welcome, please check the last EDITs that I made (worded a little better, eliminated typos).

Accedi per commentare.

Più risposte (2)

Youssef  Khmou
Youssef Khmou il 12 Mar 2013
hi, try :
N=200;
for n=1:N
yt1(n)=.............
yt2(n)=.......
.....
end
  4 Commenti
dav
dav il 12 Mar 2013
I mean something like the following:
For m=1:5
ym=ytm;
end
where ytm is a full vector for m=1,2..5
Youssef  Khmou
Youssef Khmou il 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?

Accedi per commentare.


Walter Roberson
Walter Roberson il 12 Mar 2013

Tag

Non è stata ancora inserito alcun tag.

Community Treasure Hunt

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

Start Hunting!

Translated by