欢迎来到天天文库
浏览记录
ID:50127355
大小:145.50 KB
页数:2页
时间:2020-03-05
《数值分析实验报告龙贝格算法.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、《数值分析》课程实验报告所属学院电气与信息工程学院专业电气工程学号实验名称龙贝格算法的MATLAB程序姓名一、实验目的利用MATLAB编写龙贝格算法,并测试。二、实验内容1龙贝格求积算法Matlab主程序2调用函数解题三、实验步骤1写出龙贝格求积算法Matlab的程序function[t]=rbg(f,a,b,c)t=zeros(15,4);t(1,1)=(b-a)/2*(f(a)+f(b));fork=2:4sum=0;fori=1:2^(k-2)sum=sum+f(a+(2*i-1)*(b-a)/2^(k-1));endt(k,1)=0.5*t(k-1,1
2、)+(b-a)/2^(k-1)*sum;fori=2:kt(k,i)=(4^(i-1)*t(k,i-1)-t(k-1,i-1))/(4^(i-1)-1);endendfork=5:15sum=0;fori=1:2^(k-2)sum=sum+f(a+(2*i-1)*(b-a)/2^(k-1));endt(k,1)=0.5*t(k-1,1)+(b-a)/2^(k-1)*sum;fori=2:4t(k,i)=(4^(i-1)*t(k,i-1)-t(k-1,i-1))/(4^(i-1)-1);endifk>6;ifabs(t(k,4)-t(k-1,4))3、['答案',num2str(t(k,4))]);break;endendendifk>=15disp(['不收敛']);end2调用函数解题由于被积函数sin(x)/x在积分下限0时函数值难定,故取积分下限为10^(-60)。调用函数解题如下:四、实验小结在学习龙贝格算法之前,我们学习了梯形公式,辛普森公式,科茨公式。我们知道函数变化有急有缓,我们希望能够用很短的时间和很少的步数来求得积分函数的数值,由此所以龙贝格算法比其他的几种公式有很大的优势,我在写龙贝格算法时经常忘记定义变量或者写错语句,后来参考了别人的程序后自己进行了一下改进。最后得到了结果。
3、['答案',num2str(t(k,4))]);break;endendendifk>=15disp(['不收敛']);end2调用函数解题由于被积函数sin(x)/x在积分下限0时函数值难定,故取积分下限为10^(-60)。调用函数解题如下:四、实验小结在学习龙贝格算法之前,我们学习了梯形公式,辛普森公式,科茨公式。我们知道函数变化有急有缓,我们希望能够用很短的时间和很少的步数来求得积分函数的数值,由此所以龙贝格算法比其他的几种公式有很大的优势,我在写龙贝格算法时经常忘记定义变量或者写错语句,后来参考了别人的程序后自己进行了一下改进。最后得到了结果。
此文档下载收益归作者所有