欢迎来到天天文库
浏览记录
ID:42992418
大小:40.01 KB
页数:3页
时间:2019-09-24
《MATLAB实验报告_常微分方程数值解》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、专业 序号 姓名 日期 实验3常微分方程数值解【实验目的】1.掌握用MATLAB求微分方程初值问题数值解的方法;2.通过实例学习微分方程模型解决简化的实际问题;3.了解欧拉方法和龙格库塔方法的基本思想。【实验内容】用欧拉方法和龙格库塔方法求下列微分方程初值问题的数值解,画出解的图形,对结果进行分析比较【解】:手工分析怎样求解【计算机求解】:怎样设计程序?流程图?变量说明?能否将某算法设计成具有形式参数的函数形式?【程序如下】:functionf=f(x,y)f=y+2*x;clc;clear;a=0;b=1;%求解区间[x
2、1,y_r]=ode45('f',[ab],1);%调用龙格库塔求解函数求解数值解;%%以下利用Euler方法求解y(1)=1;N=100;h=(b-a)/N;x=a:h:b;fori=1:Ny(i+1)=y(i)+h*f(x(i),y(i));endfigure(1)plot(x1,y_r,'r*',x,y,'b+',x,3*exp(x)-2*x-2,'k-');%数值解与真解图title('数值解与真解图');legend('RK4','Euler','真解');xlabel('x');ylabel('y');figure(2)plot(x1,a
3、bs(y_r-(3*exp(x1)-2*x1-2)),'k-');%龙格库塔方法的误差title('龙格库塔方法的误差')xlabel('x');ylabel('Error');figure(3)plot(x,abs(y-(3*exp(x)-2*x-2)),'r-')%Euler方法的误差title('Euler方法的误差')xlabel('x');ylabel('Error');【运行结果如下】:【结果分析】:龙格库塔方法和Euler方法求解常微分方程都能获得比较好的数值解,相比较而言龙格库塔方法的数值解的精度远远要比Euler方法的数值解的精度高
4、。
此文档下载收益归作者所有