朋友问题: 有微分方程如下:

m d 2 y d t 2 + d y d t e x p ( t ) − y 2 = 5 m \frac{d^2y}{dt^2} + \frac{dy}{dt} exp(t) - y^2 = 5mdt2d2y​+dtdy​exp(t)−y2=5

其中,y ( t = 0 ) = 1 y(t=0)=1y(t=0)=1,d y / d t ( t = 0 ) = − 10 dy/dt (t=0) = -10dy/dt(t=0)=−10。

请在区间[ 0 , 5 ] [0, 5][0,5]内绘制两个子图,分别为d y / d t dy/dtdy/dt与y yy,每个子图涵盖m = 1 m=1m=1与m = 2 m=2m=2两种情况。

所以本题的核心问题在于:用数值计算的方法求解该方程,得到各点,绘制点图。

使用 matlab 自带的 ode45 ,方程组用句柄表示。

ode45 参见教程:如何使用ODE45

首先把题目方程转换,转换为 ode45 能理解的方式。

先声明变量:

y 1 = y y 2 = y ′ \begin{aligned} y_1 & = y \\ y_2 & = y' \\ \end{aligned}y1​y2​​=y=y′​

于是整理方程:

y 1 ′ = y 2 y 2 ′ = 1 m ( 5 − y 1 ′ e y 1 + y 1 2 ) \begin{aligned} y_1' & = y_2 \\ y_2' & = \frac{1}{m} (5 - y_1' e^{y_1} + y_1^2) \end{aligned}y1′​y2′​​=y2​=m1​(5−y1′​ey1​+y12​)​

于是我们知道,ode45中要有2个变量,且将其右边的式子分别表示出来,即:

dy = @(t, y)[y(2); (5 - y(2)*exp(y(1)) + y(1)^2)/m];

其中:

y(2)代表 y 1 ′ = y 2 y_1' = y_2y1′​=y2​;

(5 - y(1)*exp(y(2)) + y(2)^2)/m代表 y 2 ′ = 1 m ( 5 − y 1 ′ e y 1 + y 1 2 ) y_2' = \frac{1}{m} (5 - y_1' e^{y_1} + y_1^2)y2′​=m1​(5−y1′​ey1​+y12​)。

接着,规定初值:y ( t = 0 ) = 1 y(t=0)=1y(t=0)=1,d y / d t ( t = 0 ) = − 10 dy/dt (t=0) = -10dy/dt(t=0)=−10。

y10 = 1;

y20 = -10;

规定自变量 t tt 范围:

tspan = [0, 5];

输入 ode45 则为:

[t, y] = ode45(dy, tspan, [y10, y20]);

整个题目的代码为:

% 表示该方程组

m = 1;

dy = @(t, y)[y(2); (5 - y(2)*exp(y(1)) + y(1)^2)/m];

y10 = 1;

y20 = -10;

tspan = [0, 5];

% m = 1

[t_m_1, y_m_1] = ode45(dy, tspan, [y10, y20]);

% m = 2

m = 2;

dy = @(t, y)[y(2); (5 - y(2)*exp(y(1)) + y(1)^2)/m];

[t_m_2, y_m_2] = ode45(dy, tspan, [y10, y20]);

% plot

subplot(1, 2, 1);

plot(t_m_1, y_m_1(:, 2));

hold on

plot(t_m_2, y_m_2(:, 2));

title('dy/dt')

legend('m=1','m=2')

subplot(1, 2, 2);

plot(t_m_1, y_m_1(:, 1));

hold on

plot(t_m_2, y_m_2(:, 1));

title('y')

legend('m=1','m=2')

顺便学了 ode45 ,不错。

matlab画函数微分图,【matlab】ode45求解二阶微分方程,绘制曲线图 | 使用函数句柄的方法...相关推荐

  1. 【matlab】ode45求解二阶微分方程,绘制曲线图 | 使用函数句柄的方法

    朋友问题: 有微分方程如下: md2ydt2+dydtexp(t)−y2=5m \frac{d^2y}{dt^2} + \frac{dy}{dt} exp(t) - y^2 = 5mdt2d2y​+d ...

  2. matlab ode45 二阶微分,matlab关于ode45解二阶微分方程的困惑

    matlab关于ode45解二阶微分方程的困惑 matlab关于ode45解二阶微分方程的困惑 一个二阶微分方程: y''+y'+y=sin(t) 初始条件为y(0)=5,y'(0)=6. 过程: 先 ...

  3. matlab解方程x 2-x-2=0,matlab用三种方法求解二阶微分方程x''+0.2x'=0.4x=0.2u(t),u(t)是单位阶跃函数,初始状态为0...

    问题描述: matlab用三种方法求解二阶微分方程x''+0.2x'=0.4x=0.2u(t),u(t)是单位阶跃函数,初始状态为0 1个回答 分类: 数学 2014-11-28 问题解答: 我来补答 ...

  4. matlab绘图z=sin(x_「matlab画三维图」Matlab 应用之绘制三维图形(基础篇) - seo实验室...

    matlab画三维图 在Matlab中,三维图形的绘制包括三维曲线,三维网线图和三维曲面图.闲话不多说,直接进入正题.首先介绍几个函数: 1.plot3(x,y,z,-) 其中,x,y,z为维数相同的 ...

  5. matlab画不定积分图像实例,matlab怎么画函数图像,原来是这样的

    函数想必大家都不陌生,有时候我们需要画出函数的图形,但是复杂的函数我们画出来花费时间太多,下面我来教大家用matlab画函数图像. 工具/材料 电脑 matlab软件 操作方法 01 先下载安装这个软 ...

  6. matlab画伯德图开环程序,matlab伯德图开环闭环

    Matlab 中 Bode 图的绘制技巧 学术收藏 2010-06-04 21:21:48 阅读 54 评论 0 字号:大中小 订阅 我们经常会遇到使用 Matlab 画伯德图的情况,可能我们我们都知 ...

  7. 怎么用matlab画双8曲线,MATLAB画双纵轴曲线。

    Matlab plotyy画双纵坐标图实例 x = 0:0.01:20; y1 = 200*exp(-0.05*x).*sin(x); y2 = 0.8*exp(-0.5*x).*sin(10*x); ...

  8. matlab 画实心矩形,用matlab画最小外接矩形

    在此之前先介绍一个画矩形的函数: rectangle('Position',[0.59,0.35,3.75,1.37],'Curvature',[0,0],'LineWidth',2,'LineSty ...

  9. matlab画平面心形线,matlab三维心形线画法

    cosθ的心形线图像 图 2 ρ = 0.5 + cosθ的心形线图像 图 5 ρ = 1 ? cosθ的心形线图像 Matlab 绘制,附代码: theta=0:0.1:2*pi; rho1=1-. ...

  10. matlab画xyz的等高线图,matlab如何画等高线图

    MATLAB 中提供了一系列的函数用于绘制不同形式的等高线图,其中包括: 1.contour()函数 contour()函数可用于绘制二维等值线图,函数的调用格式为: ? contour(z):... ...

最新文章

  1. 大神开发arXiv全新H5版,一步告别公式排版错误,手机也能轻松看文献
  2. C语言学习之输出“魔方阵”。所谓魔方阵是指这样的方阵,它的每一行、每一列和对角线之和均相等。
  3. 【One by One系列】IdentityServer4(二)使用Client Credentials保护API资源
  4. clickhouse注入的利用
  5. 【干货】私域电商崛起:2021见实私域流量白皮书高清6月版.pdf(附下载链接)...
  6. 1亿中国人已被AI批改过作业
  7. UGUI自定义组件之Image根据Text大小自动调整
  8. HDU-2030-汉字统计
  9. mySQL里有2000w数据,redis中只存20w的数据,如何保证redis中的数据都是热点数据
  10. rpm 如何安装mysql_如何使用rpm安装MySQL
  11. html怎么引用网页链接,浅谈网页中各种链接引用方法
  12. php如何配置gii,深入浅析yii2-gii自定义模板的方法
  13. Vue.js笔记(一)
  14. 分享个解决右键没有新建TXT文档的办法
  15. C++与lua的结合,LuaBridge的使用及遇到的坑
  16. 微软 WP 手机刷机工具已恢复正常
  17. FileSystemWatcher 基础用法
  18. Distributed Database Using Sharding Database Architecture论文阅读
  19. python爬取小说写入txt_python 爬取网络小说 清洗 并下载至txt文件
  20. 网页上的微服务—微前端架构实践

热门文章

  1. html5使用mescroll
  2. 防火墙基本应用(华为USG6000V)
  3. 浅谈IT隔离电源系统在医疗场所的接地设计研究与应用
  4. 【机器学习】(七)马尔可夫链、马尔可夫随机场、条件随机场
  5. 《自然语言处理实战入门》 第一章: 自然语言处理(NLP)技术简介
  6. bat窗口大小设置_dos命令发出声音图文教程,电脑音箱喇叭蜂鸣器滴,bat批处理脚本...
  7. robotframework使用之 下拉框的选择的几种用法
  8. JavaScript/JS闭包理解
  9. 九大内置对象和servlet生命周期
  10. 支持html手机音乐代码,仿酷狗html5手机音乐播放器主要部分代码分享