在基础教程完结后,一直苦于没有内容更新,在后续更新中,会针对同学们在日常学习中经常用到的基础应用进行针对性更新,主要包括数学建模、语音处理、信号与系统、模式识别等内容。
针对于微分方程的求解,本期主要针对于微分方程的数值解,解析解可参考dsolve函数对其进行求解,微分方程数值解有多种求解方法,从matlab求解方式来看:
(1)可以在脚本中编程求解实现,即编写程序求解实现;
(2)可以在simulink中调用模块求解。
首先对程序求解进行研究,关于微分方程的求解,大家一定有过相关的了解,比如常见的欧拉法、龙格库塔法等等,后续针对于该部分内容都会进行相应研究,关于微分方程求解,先给大家提振信心,本次教程主要针对于matlab自带函数ode45如何求解微分方程进行应用。
对于ode45函数的调用,大家可以在matlab命令行中输入helpode45,观察相关函数的调用方式,其内核为4,5阶龙格库塔法,咱们先不了解具体的数学原理,在本次求解中,先利用matlab可以实现简单的微分方程的求解。Ode45调用格式如下:
[t,y] = ode45(odefun,tspan,y0)
其中odefun为要求解的微分方程的标准形式,tspan为求解区间,y0为初始解。
(1) 针对于一阶微分方程
在区间[0,10]上的解的情况,其中y(0)=1
在matlab中首先构建odefun,即函数表达式,上述形式即为标准形式,构建函数如下(个人喜欢用子函数定义,这样便于后续调用):
function dydt=fun(t,y)
dydt=y+t*sin(t);
end
关于子函数的调用基础知识,同学可参考之前的基础教程1.
创建主函数,调用上述,主程序如下:
clc;clear;close all;
tspan=[0,10];
y0=1;
[t,y]=ode45(@fun,tspan,y0);
主要调用的函数为函数句柄,即在前加一个@,这样就可以求解出y了。求解结果如下图所示.
这样就可以完成一阶简单微分方程的求解了!后续会更新多阶微分方程求解和其他数值解的方法。本次教程主要针对于ode45函数应用。
针对于微分方程的求解,本期主要针对于微分方程的数值解,解析解可参考dsolve函数对其进行求解,微分方程数值解有多种求解方法,从matlab求解方式来看:
(1)可以在脚本中编程求解实现,即编写程序求解实现;
(2)可以在simulink中调用模块求解。
首先对程序求解进行研究,关于微分方程的求解,大家一定有过相关的了解,比如常见的欧拉法、龙格库塔法等等,后续针对于该部分内容都会进行相应研究,关于微分方程求解,先给大家提振信心,本次教程主要针对于matlab自带函数ode45如何求解微分方程进行应用。
对于ode45函数的调用,大家可以在matlab命令行中输入helpode45,观察相关函数的调用方式,其内核为4,5阶龙格库塔法,咱们先不了解具体的数学原理,在本次求解中,先利用matlab可以实现简单的微分方程的求解。Ode45调用格式如下:
[t,y] = ode45(odefun,tspan,y0)
其中odefun为要求解的微分方程的标准形式,tspan为求解区间,y0为初始解。
(1) 针对于一阶微分方程
在区间[0,10]上的解的情况,其中y(0)=1
在matlab中首先构建odefun,即函数表达式,上述形式即为标准形式,构建函数如下(个人喜欢用子函数定义,这样便于后续调用):
function dydt=fun(t,y)
dydt=y+t*sin(t);
end
关于子函数的调用基础知识,同学可参考之前的基础教程1.
创建主函数,调用上述,主程序如下:
clc;clear;close all;
tspan=[0,10];
y0=1;
[t,y]=ode45(@fun,tspan,y0);
主要调用的函数为函数句柄,即在前加一个@,这样就可以求解出y了。求解结果如下图所示.
这样就可以完成一阶简单微分方程的求解了!后续会更新多阶微分方程求解和其他数值解的方法。本次教程主要针对于ode45函数应用。