# How to decompose and expand a vector into ones

4 views (last 30 days)
Blue on 8 Aug 2019
Commented: Adam Danz on 9 Aug 2019
Hi,
How would you decompose and expand a vector in Matlab ?
I might not be using the right terminology but let's I = [2, 2]'
How can I multiply that by 12 and get a 1x48 vector filled by ones ?

Adam Danz on 8 Aug 2019
Edited: Adam Danz on 8 Aug 2019
" I = [2, 2]' How can I multiply that by 12 and get a 1x48 vector filled by ones ?"
My interpretation: you want to multiply (or add?) the elements in I and then you want to multiply that result by 12 to get 48. Then create a row vector of 1s with length 48. Is that right?
I = [2, 2]';
x = ones(1,prod(I)*12); % prod() or sum() as in madhan's ans
the key is to use ones().

Blue on 9 Aug 2019
You know you are indispensable, right ? Thanks.
Adam Danz on 9 Aug 2019

madhan ravi on 8 Aug 2019
ones(sum(I)*12,1)

Adam Danz on 8 Aug 2019
"and get a 1x48 vector filled by ones"
You'd need to switch around those terms.
madhan ravi on 8 Aug 2019
Yup it was intentional.