フィルターのクリア

making a 341x341 matrix from a 465124x1 matrix.

1 回表示 (過去 30 日間)
Jeroen
Jeroen 2012 年 5 月 21 日
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 件のコメント
Titus Edelhofer
Titus Edelhofer 2012 年 5 月 21 日
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 日
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 日
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 Center および File ExchangeCreating and Concatenating Matrices についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by