数学建模学习笔记——微分方程建模
本文章为《数学建模算法与应用(司守奎)》书籍的学习笔记,文章内代码大部分为该书籍的搬运或在网络上的搜集,主要目的为简化阅读的过程,以便直接实现代码的运用,我也会对书中的习题给出自己的解。
一、基础知识储备
微分方程建模没有通用的方法,每道题的微分方程都是针对这一问题的,故这里我不在重复搬运书中的内容,我只整理一下微分方程部分需要用到的函数和微分建模的一般思路。
1.微分方程的建模思路
(1)根据实际要求确定要研究的量(自变量、未知函数、必要的参数等)并确定坐标系。
(2)找出这些量所满足的基本规律(物理的、几何的、化学的或生物学的等等)。
(3)运用这些规律列出方程和定解条件。有时需要根据题目中的相等关系列写等式(如运动方向同向的关系)。
2.常用函数汇总
该部分代码全部来源于matlab官网,只是做一个简单的整理,实际用法请查阅官方文档。
(1)nlinfit-非线性拟合
%基本用法,对非线性函数进行拟合得到未知参数的值
modelfun = @(b,x)(b(1)+b(2)*exp(-b(3)*x));
b = [1;3;2];
x = exprnd(2,100,1);
y = modelfun(b,x) + normrnd(0,0.1,100,1);
beta0 = [2;2;2];
beta = nlinfit(x,y,modelfun,beta0)
(2)syms-创建符号标量变量和函数
%通常我们求解微分方程时会用到
syms x y;
syms s(t) f(x,y);
f(x,y) = x + 2*y;
f(1,2) %输出5
(3)desolve-求解微分方程组
syms y(t) a b
eqn = diff