如果程式說少
IMSLMPistub.lib
IMSLS_err.lib
請到
C:\Program Files\Microsoft Visual Studio\DF98\IMSL\LIB
修改以下程式
IMSLMP~1.lib => IMSLMPistub.lib
IMSLS_~1.lib => IMSLS_err.lib
關於高斯積分說明
程式如同題目下所示
program 名字
use msimsl
parameter(n=50)
integer i,iweigh,nfix,nout
real*8 dalpha,dbetad,qw(n),qx(n),qxfix(2),width,ans
iweigh=1
dalpha=0.0d0
dbetad=0.0d0
call dgqrul(n,iweigh,dalpha,dbetad,nfix,qxfix,qx,qw)
do i=1,n
ans=ans+f(qx(i))*qw(i)
end do
其call輸出的qx(n),qw(n)為
把-1~1分成n+1份
在-1和1的附近切的比較密(所以公式要變換一下)
所以其間格qw較小
故當然0左右qw較寬
所以要求面積
即為高f(x)乘以寬w
如果只用高斯法求
n=10000要十幾秒(p3866,128Mb)
精準度5%(嚴重不足)
必須利用梯形法求其他部分(公式變換,ex:平移,比例放大)
以上說明
--
. . . .
. .
. ~~旅行就要像一張白紙一樣 .
. . 無拘無束的才行~~ .
. . .
--
※ 發信站: 批踢踢實業坊(ptt.csie.ntu.edu.tw)
◆ From: 140.112.244.223
※ 編輯: clwu122 來自: 140.112.244.223 (05/15 19:08)
※ 編輯: clwu122 來自: 140.112.244.223 (05/15 20:18)