how to fill matrix without using for loop?

5 Ansichten (letzte 30 Tage)
Carlos Oliveira
Carlos Oliveira am 11 Nov. 2013
Beantwortet: Carlos Oliveira am 11 Nov. 2013
a=zeros(24,4); b=ones(24,1);
Why does not this work?
a(:,1:end)=b(:)
Subscripted assignment dimension mismatch.
Does anyone know where I am going wrong? bold

Akzeptierte Antwort

Dale
Dale am 11 Nov. 2013
Bearbeitet: Dale am 11 Nov. 2013
Are you trying to replicate b through A? In which case use the repmat function:
A = repmat(b,24,1)
Edit: Just realised that b is a column, so it should be A = repmat(b,1,4)

Weitere Antworten (2)

Wayne King
Wayne King am 11 Nov. 2013
Bearbeitet: Wayne King am 11 Nov. 2013
because b isn't the right size. b is 24x1 but you are trying to fill all 4 columns of a
How about just
a = ones(24,4);
or if you really want to "fill" starting with zeros.
a = zeros(24,4);
b = ones(24,1);
b = repmat(b,1,4);
a = b;

Carlos Oliveira
Carlos Oliveira am 11 Nov. 2013
Thank you Dale. :)

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by