How to reshape a matrix from a vector?

1 回表示 (過去 30 日間)
TRAILOKYA
TRAILOKYA 2014 年 10 月 14 日
編集済み: Sean de Wolski 2014 年 10 月 14 日
I have a vector of 105 elements where the sizes are not compatible for a matrix. I want to make it a 2 dimensional matrix by adding zeros at last so that it becomes compatible for the matrix. Would you please tell me how can i do it?

採用された回答

Thorsten
Thorsten 2014 年 10 月 14 日
編集済み: Thorsten 2014 年 10 月 14 日
If, e.g., 200 is the desired size, just use
vec(200) = 0;
All values between 105 and 200 will be filled with zeros.
  1 件のコメント
John
John 2014 年 10 月 14 日
Hello, use the reshape command.
Consider that your matrix has to be m x n (rows x columns) = total number of elements. Then do what Thorsten says vec(totalNumberOfElements) = 0, then
Matrix = reshape(vec,m,n).
Remember that rows run faster than columns... That is, the elements will be ordered in a row fashion way.

サインインしてコメントする。

その他の回答 (1 件)

Sean de Wolski
Sean de Wolski 2014 年 10 月 14 日
編集済み: Sean de Wolski 2014 年 10 月 14 日
If you want a 100x2 from a 105 element vector, padding with zeros, this should do it:
buffer(1:105,100)

カテゴリ

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