affect values to cells without a loop
显示 更早的评论
I have the following cells :
a{1}=zeros(1,3);
a{2}=zeros(1,4);
ii{1}=1;
ii{2}=3;
b{1}=2;
b{2}=3;
How can I set a{1}(ii{1})=b{1}; and a{2}(ii{2})=b{2}; without a loop ? (for example using cellfun) Thanks
回答(1 个)
Azzi Abdelmalek
2015-7-9
编辑:Azzi Abdelmalek
2015-7-9
a{1}=zeros(1,3);
a{2}=zeros(1,4);
ii{1}=1;
ii{2}=3;
b{1}=2;
b{2}=3;
out=cellfun(@(x,y,z) [x(1:y-1) z x(y+1:end)],a,ii,b,'un',0)
But you should know that a for loop is faster then using cellfun
类别
在 帮助中心 和 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!