[問題] 關於排容原理已回收
想請教一下各位高手一些問題
因為小弟的研究裡有需要用到,算機率聯集的值
並不是兩個矩陣的那種聯集,所以並不是 "union([A] [B])"
是例如有三個機率 P1、P2、P3 (國中數學畫三個圈圈表示那種)
所以聯集 U(P1 P2 P3)=P1+P2+P3-(P1*P2+P2*P3+P1*P3)+P1*P2*P3
聯集基本上是使用排容原理去算的
小弟有利用排容原理寫出一個program如下是沒問題的
但太大維度根本無法運算,用for去改時間也會過於冗長
請問有無 指令 or 方法 可以改進?
(我需要 N=200)
Q = rand(1,N);
[K,N] = size(Q);
P_sum = 0;
for n=1:N
A = nchoosek(Q,n);
for m = 1:(prod(1:N)/(prod(1:n)*prod(1:(N-n))))
P = (-1)^(n-1)*prod(A(m,:));
P_sum = P_sum + P;
end
end
小弟不才,想破頭還是想不到= =
麻煩各位高手撥冗回答了!THX
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 163.22.21.135