我是靠谱客的博主 机灵黑米,这篇文章主要介绍Matlab(1)使用ode45求解常微分方程,现在分享给大家,希望可以做个参考。

在工程和计算中常常需要求解微分方程,但微分方程的解析解通常很难得到,所以一种退而求其次的方法就是求其数值解。这里是使用Matlab中的ode45求解常微分方程数值解的简单说明。具体可使用"help ode45"命令查看它的帮助文档。

ode45求非刚性微分方程的解,中阶方法。使用语法为 [T,Y] = solver(odefun,tspan,y0)。

下面举例说明:

假如我们要求解如下方程组,它描述的是无外力作用下的刚体运动。


首先创建一个函数文件,文件名为odefun.m,代码如下:

复制代码
1
2
3
4
5
6
7
8
% odefun.m function dy = odefun(t,y) dy = zeros(3,1); % a column vector dy(1) = y(2) * y(3); dy(2) = -y(1) * y(3); dy(3) = -0.51 * y(1) * y(2); end

然后创建命令文件,文件名为testode45.m,代码如下:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
% testode45.m %----------------------------------------------------- % 清空所有变量 clear % 清空屏幕 clc % 时间跨度取0-12,可以空格分隔,也可以用逗号分隔 tspan = [0,12]; % 初始值 y0 = [0,1,1]; % 调用语句 [T,Y] = ode45( @odefun, tspan, y0 ); % 绘图 plot(T,Y(:,1),'-',T,Y(:,2),'-.',T,Y(:,3),'.') legend('x','y','z')

最后在命令行窗口使用命令testode45,就可以得到所求方程的图像

复制代码
1
testode45
图像为


参考文献:

【1】Matlab中ode45的参考页


作者:贾思特

日期:2018-7-8

最后

以上就是机灵黑米最近收集整理的关于Matlab(1)使用ode45求解常微分方程的全部内容,更多相关Matlab(1)使用ode45求解常微分方程内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(66)

评论列表共有 0 条评论

立即
投稿
返回
顶部