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

Antworten (1)

Azzi Abdelmalek
Azzi Abdelmalek am 9 Jul. 2015
Bearbeitet: Azzi Abdelmalek am 9 Jul. 2015

0 Stimmen

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

Kategorien

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

Tags

Gefragt:

am 9 Jul. 2015

Bearbeitet:

am 9 Jul. 2015

Community Treasure Hunt

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

Start Hunting!

Translated by