计算方法第三次上机实习报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验报
2.程序代码
clc
clear all;
format long
a=input('请输入你要求得积分的下限:');
b=input('请输入你要求得积分的上限:');
e=input('请输入你要求得积分的结束精度:');
k=input('请输入你要求得积分的最大次数:');
fx=@(x)sin(x)/x;
lbg(@f,a,b,k,e)
function lbg(fx,a,b,k,e)
T=zeros(k,k);
T(1,1)=(b-a)*(1+fx(b))/2;
for i=1:k
m=0;
for j=1:2^(i-1)
m=m+fx(a+(2*j-1)*(b-a)/(2^i));
end
T(i+1,1)=0.5*T(i,1)+(b-a)*m/2^i;
for n=1:i
T(i+1,n+1)=(4^n*T(i+1,n)-T(i,n))/(4^n-1); end
if abs(T(i+1,i+1)-T(i,i))<=e & i>=4
break;
else
;
end
end
for i=1:k
if T(i,1)==0
break;
else
;
end
end
if j==k
error('所求次数不够或不可积') else
;
end
T=T(1:j-1,1:j-1)
disp('所求的积分值为:')
disp(T(j-1,1))
end
function fx = f(x)
fx = 1;
else
fx = sin(x) / x;
end
end
3.实验结果
四、实验心得
这是计算方法的最后一次上机实验,经过了前几次在MATLAB的摸爬滚打之后,我对MATLAB的使用比一开始熟练了很多。这次实验之中对基本函数的使用和对函数的调用等等我甚至已经可以做到不用
借助网络搜索寻找函数。(第一次实验基本上就是需要一个函数就上网搜索他的意思和使用方法)。通过对龙贝格方法的使用,我体会到了龙贝格算法的快速收敛性(计算基本是瞬间完成了)。这也正是龙贝格算法的最大优势。