making a 341x341 matrix from a 465124x1 matrix.

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!

댓글 수: 2

But 341*341 gives 116281, not 465124 ...?
Jan
Jan 2012년 5월 21일
Titus, this is a surprising detail.

댓글을 달려면 로그인하십시오.

 채택된 답변

Andreas Goser
Andreas Goser 2012년 5월 21일

1 개 추천

Sounds like you are looking for the RESHAPE command.

댓글 수: 1

Jeroen
Jeroen 2012년 5월 21일
okay thank you I tried the reshape function and it works now

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Thomas
Thomas 2012년 5월 21일

2 개 추천

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)

카테고리

도움말 센터File Exchange에서 Creating and Concatenating Matrices에 대해 자세히 알아보기

질문:

2012년 5월 21일

Community Treasure Hunt

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

Start Hunting!

Translated by