和线性常微分方程组参数拟合类似,我们要用差分代替微分,然后进行插值处理,然后构造最小化函数。 最后用最优化方法处理该函数即可。 这里举个例子,先随便设一个非线性微分方程组,并给定初值: 然后定义最小化函数: 最后用之前介绍的非线性最优化方法解决。 matlab代码 ...
比如我们已经有了微分方程模型和相关数据,如何求模型的参数。 这里以SEIR模型为例子,SEIR模型可以参考之前的文章。 一般的线性方程我们可以用最小二乘来解,一般的非线性方程我们可以用LM来解。 这里是线性微分方程组,所以我们采用最小二乘来解。 关键是构造出最小二乘形式,微分可以通过前后数据差分的方法来求。 不过这里还有一个技巧就是如果数据前后帧间隔过大,可以先插值,再对插值后的数据差分。 如果实 ...
2021-02-09 17:36 4 2554 推荐指数:
和线性常微分方程组参数拟合类似,我们要用差分代替微分,然后进行插值处理,然后构造最小化函数。 最后用最优化方法处理该函数即可。 这里举个例子,先随便设一个非线性微分方程组,并给定初值: 然后定义最小化函数: 最后用之前介绍的非线性最优化方法解决。 matlab代码 ...
这里以三元二次常微分方程组做一个例子,更多元更高次的都类似。 比如下列方程组: x'' = x' - x + y' -z' y'' = y' - y - x' z'' = z' - z + x' matlab代码如下: main.m: testfun.m ...
过去有画过常微分方程的向量场,通过向量场能够很形象的看出方程解的状态。 最近过节在家刷视频刷到了3Blue1Brown介绍微分方程的视频。 视频中对钟摆建立的微分方程组通过向量场的形式也很形象的表达了系统状态。 这里用matlab也实现一下,同时对三维情况也做了一个实现。 绘制的方法 ...
如下: 结果如下: 红线为微分方程的三个特解。 关于方程组的向量场绘制可以参考这里。 ...
原文地址:MATLAB解常微分方程组的解法(好东西要共享)作者: 流若星辰 1:问题 常微分方程的初值问题的标准数学表述为:y'=f(t,y),a<=t<=b,y(a)=y(0) ;我们要求解的任何高阶常微分方程都可以用替换法化为上式所示的一阶形式,其中y ...
1、如下公式: 其中x、y、m、n为参数,a、b为未知数,利用MATLAB求解方程; syms x y m n a b; [a,b]=solve('x=m*cos(a)+n*cos(a+b)','y=m*sin(a)+n*sin(a+b)','a','b'); 会得到四组解 ...
一、隐式Euler: 函数文件1: 函数文件2: 函数文件3: 脚本文件: 效果图: 二、变步长的隐式Eul ...
这里讨论常微分方程。常微分方程的阶数就是函数求导的最高次数。这里以二阶线性微分方程为例。 形如方程5的称为二阶线性微分方程。 线性的概念定义为: 下面讨论 二阶线性微分方程 ...