Elegant way to create dynamically an array inside a for loop ?
2 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
Azzi Abdelmalek
2014-12-14
编辑:Azzi Abdelmalek
2014-12-14
d=sum(bsxfun(@times,repmat(bsxfun(@times,r',w)',1,1,10),reshape(1:10,1,1,[])),2)
b=d(:,:);
6 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!