matlab画函数微分图,【matlab】ode45求解二阶微分方程,绘制曲线图 | 使用函数句柄的方法...
朋友问题: 有微分方程如下:
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+dtdyexp(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}y1y2=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求解二阶微分方程,绘制曲线图 | 使用函数句柄的方法...相关推荐
- 【matlab】ode45求解二阶微分方程,绘制曲线图 | 使用函数句柄的方法
朋友问题: 有微分方程如下: md2ydt2+dydtexp(t)−y2=5m \frac{d^2y}{dt^2} + \frac{dy}{dt} exp(t) - y^2 = 5mdt2d2y+d ...
- matlab ode45 二阶微分,matlab关于ode45解二阶微分方程的困惑
matlab关于ode45解二阶微分方程的困惑 matlab关于ode45解二阶微分方程的困惑 一个二阶微分方程: y''+y'+y=sin(t) 初始条件为y(0)=5,y'(0)=6. 过程: 先 ...
- 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 问题解答: 我来补答 ...
- matlab绘图z=sin(x_「matlab画三维图」Matlab 应用之绘制三维图形(基础篇) - seo实验室...
matlab画三维图 在Matlab中,三维图形的绘制包括三维曲线,三维网线图和三维曲面图.闲话不多说,直接进入正题.首先介绍几个函数: 1.plot3(x,y,z,-) 其中,x,y,z为维数相同的 ...
- matlab画不定积分图像实例,matlab怎么画函数图像,原来是这样的
函数想必大家都不陌生,有时候我们需要画出函数的图形,但是复杂的函数我们画出来花费时间太多,下面我来教大家用matlab画函数图像. 工具/材料 电脑 matlab软件 操作方法 01 先下载安装这个软 ...
- matlab画伯德图开环程序,matlab伯德图开环闭环
Matlab 中 Bode 图的绘制技巧 学术收藏 2010-06-04 21:21:48 阅读 54 评论 0 字号:大中小 订阅 我们经常会遇到使用 Matlab 画伯德图的情况,可能我们我们都知 ...
- 怎么用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); ...
- matlab 画实心矩形,用matlab画最小外接矩形
在此之前先介绍一个画矩形的函数: rectangle('Position',[0.59,0.35,3.75,1.37],'Curvature',[0,0],'LineWidth',2,'LineSty ...
- matlab画平面心形线,matlab三维心形线画法
cosθ的心形线图像 图 2 ρ = 0.5 + cosθ的心形线图像 图 5 ρ = 1 ? cosθ的心形线图像 Matlab 绘制,附代码: theta=0:0.1:2*pi; rho1=1-. ...
- matlab画xyz的等高线图,matlab如何画等高线图
MATLAB 中提供了一系列的函数用于绘制不同形式的等高线图,其中包括: 1.contour()函数 contour()函数可用于绘制二维等值线图,函数的调用格式为: ? contour(z):... ...
最新文章
- 大神开发arXiv全新H5版,一步告别公式排版错误,手机也能轻松看文献
- C语言学习之输出“魔方阵”。所谓魔方阵是指这样的方阵,它的每一行、每一列和对角线之和均相等。
- 【One by One系列】IdentityServer4(二)使用Client Credentials保护API资源
- clickhouse注入的利用
- 【干货】私域电商崛起:2021见实私域流量白皮书高清6月版.pdf(附下载链接)...
- 1亿中国人已被AI批改过作业
- UGUI自定义组件之Image根据Text大小自动调整
- HDU-2030-汉字统计
- mySQL里有2000w数据,redis中只存20w的数据,如何保证redis中的数据都是热点数据
- rpm 如何安装mysql_如何使用rpm安装MySQL
- html怎么引用网页链接,浅谈网页中各种链接引用方法
- php如何配置gii,深入浅析yii2-gii自定义模板的方法
- Vue.js笔记(一)
- 分享个解决右键没有新建TXT文档的办法
- C++与lua的结合,LuaBridge的使用及遇到的坑
- 微软 WP 手机刷机工具已恢复正常
- FileSystemWatcher 基础用法
- Distributed Database Using Sharding Database Architecture论文阅读
- python爬取小说写入txt_python 爬取网络小说 清洗 并下载至txt文件
- 网页上的微服务—微前端架构实践
热门文章
- html5使用mescroll
- 防火墙基本应用(华为USG6000V)
- 浅谈IT隔离电源系统在医疗场所的接地设计研究与应用
- 【机器学习】(七)马尔可夫链、马尔可夫随机场、条件随机场
- 《自然语言处理实战入门》 第一章: 自然语言处理(NLP)技术简介
- bat窗口大小设置_dos命令发出声音图文教程,电脑音箱喇叭蜂鸣器滴,bat批处理脚本...
- robotframework使用之 下拉框的选择的几种用法
- JavaScript/JS闭包理解
- 九大内置对象和servlet生命周期
- 支持html手机音乐代码,仿酷狗html5手机音乐播放器主要部分代码分享