数值.docx
- 文档编号:23338881
- 上传时间:2023-05-16
- 格式:DOCX
- 页数:8
- 大小:37.87KB
数值.docx
《数值.docx》由会员分享,可在线阅读,更多相关《数值.docx(8页珍藏版)》请在冰豆网上搜索。
数值
实习名称
数值实验
实习地点
吉林农业大学信息技术学院
实习起止时间
2012.6.8-2012.6.15
实习报告
一、实验目的:
使同学们理解Romberg积分法,完成设计编程实
现Romberg积分算法。
二、实验题目:
(1)试用Romberg积分计算,当
0.5,1,1.5,2,2.5,3,3.5,
的值
(2)对
分别用
多项式曲线
并对误差进行比较
1、实验原理:
变步长梯形公式
hm=(b-a)/2^(m-1)
m=1
T11=(b-a)/2(f(a)+f(b))
Tm,1=0.5{Tm-1,1+h(m-1)[(f(a+(k-0.5)h(m-1)+…..
f(a+(k-0.5)h2^((m-1)-1))]}
Tm,j=1/(4^(j-1)-1)(4^(j-1)Im,(j-1)-I(m-1),(j-1)),j=2,3…,
M=2,3,…
T11
T2,1T2,2
T3,1T3,2T3,3
T4,1T4,2T4,3T4,4
T5,1T5,2T5,3T5,4T5,5
…..…..…..
相邻的两个对角元素之差绝对值小于给定的代数精
度要求时停止
2、程序与其实现:
1.1构建M文件
functionl=integral(fun,a,b,ep,n)
T=zeros(n);
h=b-a;
l=h*(feval(fun,a)+feval(fun,b))/2;
T(1,1)=l;
fork=1:
n-1
h=h/2;
l=l/2;
N=2^(k-1);
fori=1:
N
l=l+h*(feval(fun,a+(2*i-1)*h));
end
T(k+1,1)=l;
forj=2:
k+1
T(k+1,j)=(4^k*T(k+1,j-1)-T(k,j-1))/(4^k-1);
end
ifabs(T(k+1,k+1)-T(k,k)) break end l=T(k+1,k+1); end k end 1.2利用龙贝格的积分计算 fun=inline('(2*pi).^(1/2)*exp(-(x.^2)*(1/2))') fun= Inlinefunction: fun(x)=(2*pi).^(1/2)*exp(-(x.^2)*(1/2)) a=0;b=x;ep=0.00005;n=20; l=integral(fun,a,b,ep,n 计算得出如下表格 x 0.5 1 1.5 2 2.5 3 3.5 L 1.7030 2.6448 3.2219 3.4987 3.6025 3.6331 3.6401 k 9 11 12 11 12 14 14 1.3最小二乘拟合 %数据的最小二乘拟合中,其中 %x,y为数据的(x,y)坐标; %n为拟合的次,缺省值为1; %w为权值,缺省值为1; %S为拟合的系数 程序代码 FunctionS=squarleast(x,y,n,w) Ifnargin<4w=1;end Ifnargin<3n=1;end puA=zeros(n+1);phb=zeros(n+1,1); fori=0: n forj=0: n phA=(i+1,j+1)=sum(w.*(x.^i).*(x.^j)); end phb(i+1)=sum(w.*(x.^(i)).*y); end S=phA\phb; 利用最小二乘拟合下列数据 x=[0.511.522.533.5] y=[1.10891.97252.64513.16893.57653.8946 4.1420] w=[691112131414] S=squarleast(x,y,2,w) x= 0.50001.00001.50002.0000 2.50003.00003.5000 y= 1.10891.97252.64513.1689 3.57653.89464.1420 w= 691112131414 S= 0.2526 1.9266 -0.2348 1.4多项式曲线拟合 tdata=0.5: 0.5: 3.5; cdata=[1.70302.64483.22193.4987 3.60253.63313.6401]; fun=@(a,tdata)(a (1)*pi).^(a (2))*exp( -(tdata.^a(3))*(a(4))) a0=[21/221/2]; a=nlinfit(x,y,fun,a0) t=0: 0.5: 10; yf=fun(a,t); plot(x,y,'o',t,yf) (2) (Y=1/y=A+B/x) tdata=0.5: 0.5: 3.5; cdata=[1/1.70301/2.64481/3.2219 1/3.49871/3.60251/3.63311/3.6401]; fun=@(a,tdata)(a (1)+a (2)/tdata) a0=[21/221/2]; a=nlinfit(x,y,fun,a0) t=0: 0.5: 10; yf=fun(a,t); plot(x,y,'o',t,yf) 实验总结 Roberg求积方法是在积分区间逐次分半的 过程中利用外推法产生的一种数值积分方 法,当被积函数的光滑性条件满足时,可以得 到较准确的积分近似法 在编写程序时会由于不细心把程序代码写错了 导致程序运行不出来. 在编写程序时,应先理一下思路,知道具体算法后, 再进行编写 编写程序时要耐心 要熟练运用matlab这门课程才能更好的解决数值分析 里的知识。 这次实验也让我了解到团队合作的重要性,要学会分工 合作. 实际成绩评定 签章 年月日 指导教师意见:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数值