FEX=0.
do i=1,M !!外循环对x方向积分
FSX(i)=0.
FSY(i)=0.
do j=1,N !!内循环对y方向积分
FSX(I)=FSX(i)+(FX(i,j)+FX(i,j+1))*H/2.0
end do
end do
do i=1,M
FEX=FEX+(FSX(i)+FSX(i+1))*H/2.0
end do
pasuka 发表于 2015-11-22 18:49
最简单直白的就是蒙特卡罗方法,必要时改成并行或者CUDA加速也是挺容易的
希望档次高些,可以用Clenshaw-Cu ...
kerb 发表于 2015-11-23 01:09
这个有多种方法,根据你对积分精度要求和区域大小而定,从你的题目上看,你是等间距的,二次一维线积分即可 ...
kerb 发表于 2015-11-23 01:09
这个有多种方法,根据你对积分精度要求和区域大小而定,从你的题目上看,你是等间距的,二次一维线积分即可 ...
xmzhy500234 发表于 2015-11-23 14:28
我目前用同一个程序,计算了两个例子,一个例子是63X63节点,一个是127X127,两者应该在结果上是相差不大 ...
pasuka 发表于 2015-11-23 15:14
误差大不大,被积函数的性质很重要,振荡函数、间断函数都有对应的特殊处理
离散点是平均分布,那么蒙特 ...
xmzhy500234 发表于 2015-11-23 15:30
问题到重点了
被积函数,主要就是没有函数!,是一系列值,最关键就在这里了。其实是函数就简单多了 ...
欢迎光临 Fortran Coder (http://bbs.fcode.cn/) | Powered by Discuz! X3.2 |