首页 > 其他分享 >微分方程建模

微分方程建模

时间:2023-07-23 14:57:04浏览次数:30  
标签:plot %% dsolve 建模 dy 微分方程 ode45

引例

image
3.png
4.png

数学概念

5.png

如何建立微分方程

专业知识+套用现有模型

matlab求微分方程解析解

1、解析解:给出解的具体表达式, 数值解:微分方程太复杂了求不出来解析解就只能求数值解
6.png
2、matlab求微分方程解的函数

dsolve('方程1', ' 方程2', ..., '方程n ', '初始条件 ', '自变量 ')

注意事项
7.png
eg1;y-dy=2x
ans:

dsolve('y - Dy = 2*x', 'x')

2.png
eg2;y-dy=2x 且 y(0) = 3
ans:

%% 注意这里的Dy,其中D是大写
dsolve('y - Dy = 2*x', 'y(0) = 3', x')

这里给出了初始值,与上面eg1的区别是给出初始值求出来的是特解不给的话求出来的是通解
3、关于eg1的拓展,如果微分方程中还含有其他的未知参数如何处理

dsolve('y - Dy = a*x', 'x')

matlab求微分方程数值解

3.png
4.png

ode45和ode15s

刚性和非刚性:
5.png
odee45对应非刚性问题,ode15s对应刚性问题
90%的是用ode45
6.png

clear all;
clc
%% 如果我们觉得每个点之间默认的间隔不够小时,我们可以自己设置
[x, y] = ode45('df1', [0, 2], 3);

%% 画图
figure(1)
plot(x,y, 'b*-');


%% df1.m文件
function dy = df1(x, y)
    % 微分方程y-y'=2x
    dy = y - 2 * x; % 微分方程写成标准形式
    % 注意函数的返回值一定是因变量y的一阶导数
    % 函数的输入有两个,分别是自变量x和因变量y
end

结果图:
7.png
自定义误差版本

clear all;
clc
options = odeset('RelTol', 1e-4, 'AbsTol',1e-8);
[x, y] = ode45('df1', [0, 2], 3, options);

%% 画图
figure(1)
plot(x,y, 'b*-');

例题:
8.png

clear all;
clc
[x, y] = ode45('df2', [0 4 * pi], [0, 1, 1]);

figure(1)
plot(x, y(:, 1), 'b*-')
hold on
plot(x, y(:, 2), 'r.-')
hold on
plot(x, y(:, 3), 'gx-')
% 用来给每个线标注名称
legend('y1', 'y2', 'y3')
%% 微分方程组一定要写成列向量
function dy = df2(x, y)
    dy = zeros(3, 1);
    dy(1) = y(2) * y(3);
    dy(2) = -y(1) * y(3);
    dy(3) = -0.51 * y(1) * y(2);
end

9.png

高阶微分方程

10.png

标签:plot,%%,dsolve,建模,dy,微分方程,ode45
From: https://www.cnblogs.com/cxy8/p/17574751.html

相关文章

  • Python数学建模系列(九):回归
    文章目录前言往期文章1多元回归1.1选取数据1.2构建训练集与测试集,并构建模型1.3模型预测1.4模型评估2logistic回归2.1鸢尾花数据集2.2绘制散点图2.3逻辑回归分析结语前言Hello!小伙伴!非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出~ 自我介绍ଘ(੭ˊᵕˋ)੭......
  • Python数学建模系列(六):蒙特卡洛算法
    文章目录前言往期文章1、蒙特卡洛算法样例1样例2样例32、三门问题3、M*M豆问题结语前言Hello!小伙伴!非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出~ 自我介绍ଘ(੭ˊᵕˋ)੭昵称:海轰标签:程序猿|C++选手|学生简介:因C语言结识编程,随后转入计算机专业,有幸拿过一些国奖......
  • 订单逆向履约系统的建模与 PaaS 化落地实践
    导读本文重点介绍了京东零售电商业务在订单逆向履约上面的最佳技术实践,京东零售快退平台承接了零售几乎所有售前逆向拦截和退款业务,并在长期的业务和技术探索中沉淀了丰富的业务场景设计方案、架构设计经验,既能承接面向消费者C端用户的高并发流量,同时也能满足集团复杂业务的订单......
  • 【dp,建模】AGC032D Rotation Sort
    ProblemLink有一个长为\(n\)的排列\(p\),给定\(A,B\),你每次可以做以下两种操作之一:选取\(l,r\),将\(p[l:r]\)循环右移,代价为\(A\);选取\(l,r\),将\(p[l:r]\)循环左移,代价为\(B\)。求将\(p\)排序所需的最小代价。\(n\le5000\)。技巧:循环移位→插入→实数坐......
  • 数仓建模—Inmon范式建模与Kimball维度建模
    数仓建模—Inmon范式建模与Kimball维度建模在数据仓库领域,有两位大师,一位是“数据仓库”之父BillInmon,一位是数据仓库权威专家RalphKimball,两位大师每人都有一本经典著作,Inmon大师著作《数据仓库》及Kimball大师的《数仓工具箱》,两本书也代表了两种不同的数仓建设模式,这......
  • odoo 安装了自建模块以后,没有显示菜单
    原因1:菜单没有action,至少要有一个节点有action配置,如下图的代码就不会显示菜单:原因2:如果排除了原因1,那么如果没有设置权限,也不会显示菜单,如下图代码:填上权限设置,如下图:然后更新模块列表,升级自己的模块,菜单显示,如下图:严格来说,你要是老老实实写完所有的代码以后,安装模块不......
  • 维度建模实施步骤及案例
    1.背景    为了加深对维度建模步骤的理解,特此记录一下,维度建模主要分为以下四个步骤:选取业务过程 定义粒度选定维度确认事实构建架构2.实施选取业务过程(why)    某电商平台想了解平台运营情况,需要对每月,每天每个地区层级的订单量和销售金额进行统......
  • 冲刺数学建模(1)
    MATLAB基础操作开始时间2023-07-18 21:08:59结束时间2023-07-18 23:34:43前言:出去完了好几天,又在家里躺了两天尸,稍微认真学一点吧,简单开个新篇章,呜呼!A.1Matlab帮助的使用1helpelfun%关于基本函数的帮助信息2helpexp%指数函数exp的帮助信息1.help1当要查......
  • 时间序列的季节性:3种模式及8种建模方法
    分析和处理季节性是时间序列分析中的一个关键工作,在本文中我们将描述三种类型的季节性以及常见的8种建模方法。什么是季节性?季节性是构成时间序列的关键因素之一,是指在一段时间内以相似强度重复的系统运动。季节变化可以由各种因素引起,例如天气、日历或经济条件。各种应用程......
  • 3ds max入门教程:国际象棋建模
    推荐:NSDT场景编辑器助你快速搭建可二次开发的3D应用场景注意:单击每个步骤中的缩略图可查看更大的屏幕截图,其中包括视口和用户界面的相关部分。步骤1在顶部视口上创建具有以下属性的圆柱体。作用范围:30身高:75高度段:16瓶盖段:2面:11平滑:已启用步骤2将圆柱转换为可编辑......