[心得] syms定義符號後積分錯誤

作者: tgb59631 (everfree)   2019-09-24 15:03:34
需要對一個複雜的函數積分計算p-value,如下圖
https://imgur.com/36989ip.jpg
其中G為卡方分配的cdf,Φ為標準常態分配的pdf
程式碼如下
C=1; n=100; c1=1.15; alpha=0.05;Cp=C+0.12;
syms y;
f=(normpdf(y+3*(Cp-C)*n^0.5,0,1)+normpdf((y-3.*(Cp-C).*n^0.5),0,1)).*chi2cdf(((n-1)*((3*Cp*n^0.5-y).^2)/9*n*c1^2),n-1);
但會跳錯誤訊息
Unable to prove '(5819*(y - 168/5)^2)/4 < 0' literally. Use 'isAlways' to
test the statement mathematically.
另外也有用匿名函數試著寫過
[email protected](y) normpdf(y+3*(Cp-C)*n^0.5,0,1)+normpdf((y-3.*(Cp-C).*n^0.5),0,1);
[email protected](y) chi2cdf(((n-1)*((3*Cp*n^0.5-y).^2)/9*n*c1^2),n-1);
[email protected](y) fY(y).*G(y);
pv=integral(GY,0,3*Cp*n^0.5)
但計算出來pv=1很明顯是錯的,不確定問題在哪邊,來請教大家

Links booklink

Contact Us: admin [ a t ] ucptt.com