construct a vector formed by arrays of different lengths

Hi all
i want to built a vector using multiple arrays with different length. First of all with thi code
a=zeros(100000,sum(c));
for i=1:3
a(i,:)=b(i)*ones(1,c(i));
end
with this code i want to built a 3xsum( c) matrix. b has the same dimension of c but c has different lengths!! So when multiplied with b give different lengths of a. I want to join neatly the three vector a obtained; how can i do that?
Thank you for the help!!
Regards

3 Kommentare

what is c? in a there are 3 rows, but you initiated it with 100000 rows.
b is an array with 3 components
c is an array with 3 component which has value:[101,17,1]
i want to obatin
a1=b1-1,b1-2,b1-3,b1-4,.....b1-101
a2=b2-1,b2-2,b2-3,b2-4,.....b2-17
a3=b3-1
and then obtain a=[a1,a2,a3]

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

KSSV
KSSV am 2 Sep. 2020
a=cell(3,1);
for i=1:3
a{i}=b(i)*ones(1,c(i));
end

4 Kommentare

EldaEbrithil
EldaEbrithil am 2 Sep. 2020
Bearbeitet: EldaEbrithil am 2 Sep. 2020
Thank you very much KSSV!!
but you forget to join the final vector
what if i want to join the cell in a single one
for i=1:3
Acell=[a(i)];
end
is this code valid for this purpose?
Ok solved with this
Acell=vertcat(a{:});
yes use vertcat or cell2mat.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Produkte

Version

R2019a

Gefragt:

am 2 Sep. 2020

Kommentiert:

am 2 Sep. 2020

Community Treasure Hunt

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

Start Hunting!

Translated by