making a 341x341 matrix from a 465124x1 matrix.

1 次查看(过去 30 天)
Hello everybody,
I have a matrix that is 465124x1. From this matrix I want every 341 values put in another matrix. so the values from 1-341 is the first column and than the values from 342-683 is the second column etc. This should yield a 341x341 matrix.
It gives a 341x341 matrix but just with the values from 1-341 from the orginal matrix. Here is my code:
for i = 1:341:465124
for p = 1:1:341
a = i+340;
kolom(:,p) = value(i:a,1);
end
end
I do not know what i am doing wrong so please help.
Thank you!

采纳的回答

Andreas Goser
Andreas Goser 2012-5-21
Sounds like you are looking for the RESHAPE command.

更多回答(1 个)

Thomas
Thomas 2012-5-21
465124/(341*341)=4
You will get 4 341*341 matrices from one 465124 matrix..
You could try
% a is your 465214x1 matrix
b=reshape(a,341,341,[]) % this will give u a 3 dimensional matrix of size (341*341*4)

类别

Help CenterFile Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by