A question about for loop

Hello all,
I have a vector p=[.5 .7 .2]; I have a quantity d that is equal to (1-p(1))*(1-p(2))*p(3)+(1-p(1))*p(2)*(1-p(3))+p(1)*(1-p(2))*(1-p(3))
Can anybody tell me how I can use for loop to get d instead of writing the formula of that?
Thanks.

 Risposta accettata

Azzi Abdelmalek
Azzi Abdelmalek il 22 Dic 2014
p=[.5 .7 .2];
idx=nchoosek(1:3,2)
out=0;
for k=1:size(idx,1)
m=setdiff(1:3,idx(k,:));
out=out+p(m)*(1-p(idx(k,1)))*(1-p(idx(k,2)))
end

Più risposte (0)

Categorie

Scopri di più su MATLAB in Centro assistenza e File Exchange

Tag

Non è stata ancora inserito alcun tag.

Community Treasure Hunt

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

Start Hunting!

Translated by