# How can I asign columns of a matrix to different matrixes?

1 view (last 30 days)
David Kaeser on 13 Oct 2020
Commented: David Kaeser on 13 Oct 2020
Hi I would like to a large data matrix in different matrices. The data matrix is a 4 * 85932 (558*154) matrix where I want to asign each column to a different new matrix with the dimension of (558*154) and save it to the workspace. I tried to write following function to achieve that and than to run it from the command window. I only get a output in the command window but the matrices are not saved in the workspace.
Function
function [x, y, z, Vx, Vy] = matrix_generation(data)
%MATRIX_GENERATION returns the x, , z, Vx, vy as 558*154 matrixes
% splits each collum in 154 columns with each has 558 data
% the data matrix has 5 columns
for i= 1:5
q = zeros(558,154);
% each column has 154*558 rows
for j=1:154
for a = 1:558
q(a,j) = data(j*a,i);
end
end
if (i ==1)
x = q;
elseif (i ==2)
y = q;
elseif (i ==3)
z = q;
elseif (i ==4)
Vx = q;
else
Vy = q;
end
end
end
##### 2 CommentsShowHide 1 older comment
David Kaeser on 13 Oct 2020
Sorry I meant 85932 rows

madhan ravi on 13 Oct 2020
permute(reshape(matrix, 154, 558, []), [2, 1, 3])
David Kaeser on 13 Oct 2020
Ok thanks a lot. I was not sure how to store the result in my different matices but managed it now. Thanks again it worked now perfectly.