affect values to cells without a loop

1 回表示 (過去 30 日間)
Christophe
Christophe 2015 年 7 月 9 日
編集済み: Azzi Abdelmalek 2015 年 7 月 9 日
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
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

カテゴリ

Help Center および File ExchangeEntering Commands についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by