首页 > 编程知识 正文

matlab求解微分方程详细步骤,matlab求解微分方程示例

时间:2023-05-05 00:54:40 阅读:276532 作者:2333

数学应用软件作业6 用Matlab求解微分方程(组)的解析解和数值解精选

注:上机作业文件夹以自己的班级姓名学号命名,文件夹包括如下上机报告和 Matlab 程序。

上机报告模板如下:

佛山科学技术学院

上 机 报 告

课程名称 数学应用软件

上机项目 用 Matlab 求解微分方程 (组)的解析解和数值解

专业班级 姓 名 学 号

一. 上机目的

1. 了解求微分方程(组)的解的知识。

2. 学习 Matlab 中求微分方程的各种解的函数,如dsolve 命令、ode45 函数等等,其中注意把

方程化为新的方程的形式。

3. 掌握用 matlab 编写程序解决求解微分方程的问题。

二. 上机内容

’’’ ’’ ’

1、求高阶线性齐次方程:y -y -3y +2y=0 。

2 、求常微分方程组

dx dy

2x   10 cos t, x  2

 t 0

dt dt

dx  dy 2y  4e2t , y t 0  0

dt dt

3、求解

分别用函数 ode45 和 ode15s 计算求解,分别画出图形,图形分别标注标题。

4 、求解微分方程

y ' y  t  1, y (0)  1,

先求解析解,在[0,1]上作图;

再用 ode45 求数值解 (作图的图形用 “o”表示),在同一副图中作图进行比较,用

不同的颜色表示。

三. 上机方法与步骤

给出相应的问题分析及求解方法,并写出 Matlab 程序,并有上机程序显示截图。

题1:直接用命令dsolve 求解出微分方程的通解。

Matlab 程序:

dsolve('D3y-D2y-3*Dy+2*y','x')

 dx

  5cos t 2 exp(2t) x y

 xt

dy

题 2 :将微分方程组改写为  5cos t 2 exp(2t) x y ,再用命令 dsolve 求解微分方

dt

 x (0)  2, y (0)  0

程的通解。

Matlab 程序:

建立 timu2.m 如下:

[x,y]=dsolve('Dx=5*cos(t)+2*exp(-2*t)-x-y','Dy=-5*cos(t)+2*exp(-2*t)+x-

y','x(0)=2,y(0)=0','t')

x=simple(x)

y=simple(y)

题 3 : 由于所给的微分方程为一阶微分方程,则直接用函数ode45 和 ode15s 求解微分方程的

数值解,具体程序如下:

(1)Matlab 程序:

建立M文件fun2.m,如下:

function dy=fun2(t,y);

dy=zeros(2,1);

dy(1)=0.04*(1-y(1))-(1-y(2))*y(1)+0.0001*((1-y(2))^2);

dy(2)=-10000*y(1)+3000*((1-y(2))^2);

取t0=0,tf=100,建立程序timu32.m如下:

t0=0;tf=100;

[T,Y]=ode45('fun2',[0 100],[1 1]);

plot(T,Y(:,1), '+',T,Y(:,2),'*');

title('ode45图形');

(2 )Matlab 程序:

建立M文件fun1.m,如下:

function dy=fun1(t,y

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。