How to create multiple matrix using for loop?

Hi all, I am having y=[1 2 3 4 5 6 7 8 9 10] as data. i want to write array x1 =[ 1 2 3 4 5] x2 =[2 3 4 5 6] x3= [3 4 5 6 7] like this upto x6 =[6 7 8 9 10]. please help me to create this using matlab. I tried as follows :n=10;k=6;m=5; for i=1:k for j=i:i+m-2 x[i]= a(j); end end but it is not working!!

 Risposta accettata

ya = [1,2,3,4,5,6,7,8,9,10];
for iy = 1:(length(ya)/2)+1
xa(iy,:) = ya(iy:4+iy);
end

Più risposte (3)

y=[1 2 3 4 5 6 7 8 9 10]
x = y([1:5;2:6;3:7;4:8;5:9;6:10])
Hi..
try this code
a=[1:10];
for i=1:numel(a)
if i==a(1)
disp(a)
elseif i<=6
a(1)=[];
disp(a)
else
break;
end
end
Kirti
Kirti il 26 Nov 2012
Thanks liham Hardy

1 Commento

when i use same logic for long data i got subscripted assignment diamentiopn mismatch error.eg. i wrote the code as t=-pi :0.01244:pi y=sin(t) n=length(y); m=n/2;k=n+1-m; for iy=1:k; xa(iy,:)=y(iy+m-1); end disp(xa). I want a sine wave of 504 samples ,add it with White guassian noise.then write sampled sine wave in terms of lagged vectors and then finally the trajectory matrix.

Accedi per commentare.

Categorie

Scopri di più su Loops and Conditional Statements in Centro assistenza e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by