概述
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/
最后
以上就是懵懂面包为你收集整理的牛顿斯科特MATLAB求积分,Newton—Cotes积分公式的matlab实现与数值算例的全部内容,希望文章能够帮你解决牛顿斯科特MATLAB求积分,Newton—Cotes积分公式的matlab实现与数值算例所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复