Reshape matrix to have the same value every 30 cells
1 回表示 (過去 30 日間)
古いコメントを表示
Hi All,
I have a question: I have a matrix
A=[10; 20; 30; 40; 50; 50; 60]
How can I reshape it in order to have a matrix (7x30) X 1 such that the first 30 values are A(1), the next 30 have value of A(2), and so on...
thanks
nikolas
0 件のコメント
採用された回答
Guillaume
2018 年 2 月 19 日
This is not a reshape it's a repmat:
repmat(A, 1, 30)
1 件のコメント
Jos (10584)
2018 年 2 月 19 日
Just to be nitpicking :D ... the first 30 values of A, retrieved by A(1:30) will be [10 20 30 40 50 60 70 10 20 ...] because A is a column vector and Matlab stores values columnwise.
その他の回答 (1 件)
Birdman
2018 年 2 月 19 日
編集済み: Birdman
2018 年 2 月 19 日
B=mat2cell(repmat(A,1,30),ones(1,7),30)
type A{1} and the result will be 30 10's.
2 件のコメント
Guillaume
2018 年 2 月 19 日
You're on a version earlier than R2016b. You have to use bsxfun on earlier versions.
Not that it matters, since the answer has completely changed.
参考
カテゴリ
Help Center および File Exchange で Resizing and Reshaping Matrices についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!