牛顿斯科特MATLAB求积分,Newton—Cotes积分公式的matlab实现与数值算例

Newton—Cotes积分公式的matlab实现与数值算例

【摘要】Newton-Cotes积分公式在数值计算定积分中起着重要作用,主要研究其matlab实现以及数值算例,并通过图说明等分区间的份数n≥8时Newton-Cotes积分公式是不稳定的。

【关键词】Newton-Cotes积分公式;matlab;稳定性

1 Newton-Cotes数值积分公式的matlab实现

Newton-Cotes数值积分公式是插值型的,其matlab实现为下面的函数文件:

function y=New_Cotes(a,b,n)。

n=input('n=');% n为求积节点的个数

a=input('a=');% a为积分下限

b=input('b=');% b为积分上限

syms t;

sum=0;

h=(b-a)/n;% h为步长

for i=1:n+1

s=sym(1);

for j=1:n+1

if j~=i

s=s*(t-j+1)/(i-j); % 计算连乘

end

end

s(i)=int(s,0,n); %计算科特斯系数保存在s

y(i)=func(a+(i-1)*h);%计算函数在节点上的函数值

sum=sum+y(i)*h*s(i); %计算Newton-Cotes数值积分

end

sum=vpa(sum,6)%显示计算结果,有效数字位数为6。如果用上面的m文件求例1,只需要定义函数func为被积函数,然后运行Newton-Cotes,输入n,a,b,可以得到计算结果。

2 数值算例

例:利用牛顿科特斯公式计算定积分

,取等分区间的份数n=2,4,6,8,10结果如表:

通过上表可以看出当n≤7时,误差能得到有效控制,计算是稳定的;n≥8时,误差不能得到有效控制,计算是不稳定的.同时In(f)也不一定收敛于I(f)。

总裁校花赖上我

http://wap.aiquxs.com/39759/

  • 4
    点赞
  • 50
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值