MATLAB第三次上机实验报告

上传人:飞*** 文档编号:47050370 上传时间:2018-06-29 格式:PDF 页数:7 大小:138.89KB
返回 下载 相关 举报
MATLAB第三次上机实验报告_第1页
第1页 / 共7页
MATLAB第三次上机实验报告_第2页
第2页 / 共7页
MATLAB第三次上机实验报告_第3页
第3页 / 共7页
MATLAB第三次上机实验报告_第4页
第4页 / 共7页
MATLAB第三次上机实验报告_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《MATLAB第三次上机实验报告》由会员分享,可在线阅读,更多相关《MATLAB第三次上机实验报告(7页珍藏版)》请在金锄头文库上搜索。

1、电子科技大学电子工程学院标 准 实 验 报 告(实验)课程名称MATLAB与数值分析学生姓名:学号:指导教师:一 、 实 验名 称实验三 数值积分、微分方程求解二 、 实 验目 的通过上机实验,使学生对数值积分、微分方程求解方法有一个初步的理解。实验涉及的核心知识点 : 数值积分和积分方程的数值求解、 常微分方程数值求解。实验重点与难点 : 算法设计和 MATLAB 编程三 、 实 验内 容1. 选用复合 Simpson公式,计算11ln 1ln 1xx dx并用 Matlab 的符号运算工具箱计算其精确值。比较结果,找出问题原理,提出解决问题的方法。2. 求积分方程1021tty te y

2、s dsee的数值解和精确解,分析二者的差异。3. 利用 Euler 法对不同的步长求下面初值问题的数值解:20010yty ty并通过绘图,与方程的解析解进行比较。四 、 实 验数 据 及 结果 分 析1. 选用复合 Simpson公式,计算11ln 1ln 1xx dx并用 Matlab 的符号运算工具箱计算其精确值。比较结果,找出问题原理,提出解决问题的方法。function s=simpr1(f,a,b,n)h=(b-a)/(2*n);s1=0;s2=0;for k=1:nx=a+h*(2*k-1);s1=s1+feval(f,x);endfor k=1:(n-1)x=a+h*k*2;

3、s2=s2+feval(f,x);ends=h*(feval(f,a)+feval(f,b)+4*s1+2*s2)/3;function y=f(x)y=(log(1+x)*(log(1-x); (1)在主界面中输入simpr1(f, -1,1,100) 所得结果为:ans = -Inf (2) 在主界面中输入simpr1(f, -0.9999,0.9999,100) 所得结果为ans = -1.1104 2. 求积分方程1021tty te y s dsee的数值解和精确解,分析二者的差异。对原方程进行化简和变形,得:21)0(eyyy原问题转化为一个常微分初值问题。function x,y

4、=euler(fun,x0,y0,xN,N)y(1)=y0;h=(xN-x0)/N;x=x0:h:xN;for n=1:Nx(n+1)=x(n)+h; y(n+1)=y(n)+h*feval(fun,x(n),y(n);endplot(x,y,b)f=inline(dsolve(Dy=y, y(0)=1, x);F=inline(y, x, y)y=euler(F,0,1,5,500);hold onX=linspace(0,5);Y=f(X);plot(X,Y,r)legend(Euler近似 , y=et,0)3. 利用 Euler 法对不同的步长求下面初值问题的数值解:20010yty

5、ty并通过绘图,与方程的解析解进行比较。function E=Euler_1(fun,x0,y0,xN,N)x=zeros(1,N+1);y=zeros(1,N+1);x(1)=x0;y(1)=y0;h=(xN-x0)/N;for n=1:Nx(n+1)=x(n)+h;y(n+1)=y(n)+h*feval(fun,x(n),y(n);end T=x,y;plot(0:N,0:N,x,y,o,x,y,-)function z=f(x,y)z=y-20; 在主界面中输入Euler_1(f,-10,10,10,10)-10-8-6-4-20246810-6-5-4-3-2-101x 105在主界面

6、中输入Euler_1(f,-10,10,10,20)-10-505101520-12-10-8-6-4-202x 106在主界面中输入Euler_1(f,-10,10,10,30) -10-5051015202530-5-4-3-2-101x 107该常微分方程应为tey20,图像如下012345678910-2.5-2-1.5-1-0.500.5x 104五 、 总 结及 心 得 体会1. 由上面的实验结果可以看出有时候复合Simpson公式并不能求出所需解。 本题的原因是在取 1,-1 时式子没有意义, 无法进行运算。 我运用的解决方法是分别用 0.9999,-0.9999 代替。精度越高

7、,此方法所得结果越接近于真实值,但是和真实值还是有差距。2. 由图像可知, Euler 公式能够较精确的求出常微分方程的解。适当的步长h,能比较精确的表示该常微分方程的解。3. 由三个图像比较可知,用Euler 公式求解常微分方程初值问题时,步长越短,其数值解越接近其解析解。此次 MATLAB 实验涉及的核心知识点是数值积分和积分方程的数值求解、常微分方程数值求解。实验重点与难点是算法设计和MATLAB 编程通过此次上机实验,我明白了MATLAB 求积分、常微分方程初值问题的原理,明白了这些原理方法在实际应用中需要结合实际操作进行适当处理,而且要通过更好的算法,尽量减小误差,得到更加精确的解。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号