Reshape matrix to have the same value every 30 cells

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

 Réponse acceptée

This is not a reshape it's a repmat:
repmat(A, 1, 30)

1 commentaire

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.

Connectez-vous pour commenter.

Plus de réponses (1)

Birdman
Birdman le 19 Fév 2018
Modifié(e) : Birdman le 19 Fév 2018
B=mat2cell(repmat(A,1,30),ones(1,7),30)
type A{1} and the result will be 30 10's.

2 commentaires

Thanks for the reply however I am getting an error "Inner matrix dimensions must agree"
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.

Connectez-vous pour commenter.

Catégories

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by