很多问题,归结起来是微分方程(组)求解的问题。比如:为什么使用三级火箭发射卫星、阻滞增长人口模型的建立……
MATLAB提供了良好的微分方程求解方案。
一、MATLAB求微分方程的符号解
matlab求常微分方程:
[y1,….yN] = dsolve(eqns,conds,Name,Value);
param:
eqns:符号微分方程或者符号微分方程组(逗号隔开即可)
conds:初值条件
return:
有conds返回符号解,否则返回通解
例子:
1. 求解常微分方程通解:
x^2 + y + ( x-2y)*y'= 0;
clc,clear
syms y(x); dsolve(x^+y+(x-*y)*diff(y) == )2. 求解常微分方程,初值问题
y'''– y' = x; y(1) = 8,y'(1) = 7,y''(2) = 4
clc,clear
syms y(x)
df = diff(y);
d2y = diff(y,);
y = dsolve(diff(y,) - d2y == x,y() == ,df() == ,d2y() == ) t = simplify(y) %化简结果y =x*((exp(-1)*(19*exp(1) - 14))/2 - 1) + 7*exp(-2)*exp(x) - x^2/2 - x^3/6 + (exp(-1)*(19*exp(1) - 14))/2 - (exp(-1)*(25*exp(1) - 21))/3 - 1
t =(17*x)/2 + 7*exp(x - 2) - 7*x*exp(-1) - x^2/2 - x^3/6 + 1/63. 常微分方程组
f''+ 3g = sin(x)
g'+ f' = cos(x)
求通解以及在初值条件为f'(2) = 0,f(3) = 3,g(5) =1处的一个特解。
clc,clear
syms f(x) g(x)
df = diff(f);
[f1,g1] = dsolve(df + *g == sin(x),diff(g) + diff(f) == cos(x));
f1 = simplify(f1)
g1 = simplify(g1)
%特解
[f2,g2] = dsolve(df + *g == sin(x),diff(g) + df == cos(x),df() == ,f() == ,g() == );
f2 = simplify(f2)
g2 = simplify(g2)4. 求线性微分方程组
X‘ = AX,初值X(0) = [1 2 1]’;这里X是向量 A是矩阵
其中,A = [2 1 3;0 2 –1;0 0 2];
syms x(t) y(t) z(t)
X = [x;y;z];
A = [ ; -; ];
B = [ ]';
[x,y,z] = dsolve(diff(X) == A*X,X() == B)x =exp(2*t) + 5*t*exp(2*t) - (t^2*exp(2*t))/2
y =2*exp(2*t) - t*exp(2*t)z =exp(2*t)
5. 其他微分方程组形式、初值、边值问题,用到查阅。
6. 另外注意一点,常微分方程的离散化解法不失为一种很有效的解法(差分、差商解法),这在《数值分析》一课中有讲解。
二、人口模型
1. Malthus模型
2. 阻滞增长模型(Logistic模型)
相关文章
- 参加河北省研究生数学建模比赛有感
- 数学建模:MATLAB Rb下载与安装教程
- “数维杯”国际大学生数学建模竞赛报名通知
- 2024五一杯数学建模竞赛A题完整成品论文和代码分析:建立钢板切割的工艺路径动态规划、贪心与分层优化模型
- 2024年第二十一届五一数学建模竞赛A题思路
- 2024年五一联赛数学建模思路+论文+代码+结果
- 2024年华中杯数学建模A题太阳能路灯光伏板的朝向设计问题解题全过程文档及程序-A题 太阳能路灯光伏板的朝向设计问题
- J1.数学建模 & Python机器学习介绍
- R语言数学建模(一)—— 基础知识
- 数学建模及机器学习算法(一):聚类-kmeans(Python及MATLAB实现,包括k值选取与聚类效果评估)