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

看板MATLAB作者 (everfree)時間4年前 (2019/09/24 15:03), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
需要對一個複雜的函數積分計算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. 另外也有用匿名函數試著寫過 fY=@(y) normpdf(y+3*(Cp-C)*n^0.5,0,1)+normpdf((y-3.*(Cp-C).*n^0.5),0,1); G=@(y) chi2cdf(((n-1)*((3*Cp*n^0.5-y).^2)/9*n*c1^2),n-1); GY=@(y) fY(y).*G(y); pv=integral(GY,0,3*Cp*n^0.5) 但計算出來pv=1很明顯是錯的,不確定問題在哪邊,來請教大家 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.114.53.36 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1569308617.A.32D.html
文章代碼(AID): #1TYR_9Cj (MATLAB)
文章代碼(AID): #1TYR_9Cj (MATLAB)