Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
|
![]() |
#1 |
初级会员
注册日期: 2009-11-02
帖子: 1
声望力: 0 ![]() |
![]()
RT~
小弟刚学数值分析,自己编的matlab程序,复合-3点高斯-勒让德求积公式,代码见下面!为什么计算pi总是不对啊?pi=4/(1+x^2),0~1积分。是这样的,这个程序要用很大很大的n才能算稍微准确一点,但是用其他自己编的辛普森公式之类的,只用几段就可以算出来了,应该高斯公式是精度最高的啊?哪位达人抽点时间帮我看一下代码程序?有什么问题啊??谢谢啦!金币相送!! function I=fguass(fh,a,b,n) %fh:输入一个函数 %a:积分下限,b:积分上限,n:积分区间区间的分段数 h=(b-a)/n; x=a:h:b; x1=0.5*h-sqrt(15)/10*h+x; x2=0.5*h+x; x3=0.5*h+sqrt(15)/10*h+x; fx1=5/9*fh(x1); fx2=8/9*fh(x2); fx3=5/9*fh(x3); fx=h/2*(fx1+fx2+fx3); I=sum(fx); |
![]() |
![]() |