我是靠谱客的博主 懵懂面包,最近开发中收集的这篇文章主要介绍牛顿斯科特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/

最后

以上就是懵懂面包为你收集整理的牛顿斯科特MATLAB求积分,Newton—Cotes积分公式的matlab实现与数值算例的全部内容,希望文章能够帮你解决牛顿斯科特MATLAB求积分,Newton—Cotes积分公式的matlab实现与数值算例所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(51)

评论列表共有 0 条评论

立即
投稿
返回
顶部