slicing matrix in efficient way
82 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
ARN
el 5 de Jun. de 2020
Respondida: James Tursa
el 5 de Jun. de 2020
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?
0 comentarios
Respuesta aceptada
Rik
el 5 de Jun. de 2020
Something like this should do the trick:
a=1:120;
b=reshape(a,10,3,[]);
x=squeeze(b(:,1,:));
y=squeeze(b(:,2,:));
z=squeeze(b(:,3,:));
0 comentarios
Más respuestas (2)
madhan ravi
el 5 de Jun. de 2020
Matrix = reshape(1:120,10,[]);
x = Matrix(:,1:3:end)
y = Matrix(:,2:3:end)
z = Matrix(:,3:3:end)
0 comentarios
James Tursa
el 5 de Jun. de 2020
Another way:
a = 1:120;
r = reshape(a,30,[]);
x = r( 1:10,:);
y = r(11:20,:);
z = r(21:30,:);
0 comentarios
Ver también
Categorías
Más información sobre Matrix Indexing en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!