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.

 採用された回答

Azzi Abdelmalek
Azzi Abdelmalek 2014 年 12 月 22 日

0 投票

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

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeMATLAB についてさらに検索

タグ

タグが未入力です。

質問済み:

Mnr
2014 年 12 月 22 日

回答済み:

2014 年 12 月 22 日

Community Treasure Hunt

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

Start Hunting!

Translated by