Elegant way to create dynamically an array inside a for loop ?
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Stamatis Samaras
am 14 Dez. 2014
Kommentiert: Stamatis Samaras
am 14 Dez. 2014
Check the following piece of code.
r = magic(5);
w = bartlett(5);
for j=1:10
b1(j)=sum(r(1,:).*w'*j);
b2(j)=sum(r(2,:).*w'*j);
b3(j)=sum(r(3,:).*w'*j);
b4(j)=sum(r(4,:).*w'*j);
b5(j)=sum(r(5,:).*w'*j);
end
b = [b1;b2;b3;b4;b5];
each b1,b2,b3,b4,b5 is a vector of size 1x10 and the final result I am looking for is a vector b of size 5x10 .
I was wondering if there is a more robust way to create b rather than the paradigm above.
0 Kommentare
Akzeptierte Antwort
Azzi Abdelmalek
am 14 Dez. 2014
Bearbeitet: Azzi Abdelmalek
am 14 Dez. 2014
d=sum(bsxfun(@times,repmat(bsxfun(@times,r',w)',1,1,10),reshape(1:10,1,1,[])),2)
b=d(:,:);
6 Kommentare
Weitere Antworten (0)
Siehe auch
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!