slicing matrix in efficient way
Ältere Kommentare anzeigen
I have a 120*1 matrix and i want to divide into 3 matrix x,y,z where first 10 elements goes to x, next 10 to y and next 10 to z and then next 10 elements to x as the second column. I did that
x = [1:10; 31:40; 61:70; 91:100] %=[10x4]
y = [11:20;41:50;71:80;101:.110] % =[10x4]
z= [21:30; 51:60; 81:90;111:120] %=[10x4]
Is there any efficient way to do that?
Akzeptierte Antwort
Weitere Antworten (2)
madhan ravi
am 5 Jun. 2020
Matrix = reshape(1:120,10,[]);
x = Matrix(:,1:3:end)
y = Matrix(:,2:3:end)
z = Matrix(:,3:3:end)
James Tursa
am 5 Jun. 2020
Another way:
a = 1:120;
r = reshape(a,30,[]);
x = r( 1:10,:);
y = r(11:20,:);
z = r(21:30,:);
Kategorien
Mehr zu Creating and Concatenating Matrices finden Sie in Hilfe-Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!