## How to create multiple matrix using for loop?

on 26 Nov 2012

### Ilham Hardy (view profile)

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!!

## Products

No products are associated with this question.

### Ilham Hardy (view profile)

on 26 Nov 2012

```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
```

### Amin Bashi (view profile)

on 26 Nov 2012

``` 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])```

### Muruganandham Subramanian (view profile)

on 26 Nov 2012

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 (view profile)

on 26 Nov 2012

Thanks liham Hardy

Kirti

### Kirti (view profile)

on 27 Nov 2012

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.

#### Join the 15-year community celebration.

Play games and win prizes!

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi