万物皆数学——用matlab求解二阶微分方程

一、背景

毕达哥拉斯的“万物皆数”哲学观点表达了一个理念,即宇宙万物都可以通过数学语言来描述,数是万物的本原。
勾股定理就是毕达哥拉斯提出,因此在西方勾股定理也被叫做毕达哥拉斯定理。

工科类的专业,越到后面越感觉到数学的重要性,无论是控制,计算机还是机器人专业,都需要很好的数学功底。

最近在做DMP相关的内容时,需要求解二阶微分方程,无奈早已把学的还给老师,可惜当时高数白考九十多分。但很感谢当时的高数老师于朝霞教授,讲课讲的真好,所以重新翻看高等数学第六版同济大学编著的微分方程章节时,很快捡起来之前学到的内容。

现在有了matlab,不需要自己手算了,下面记录一下使用matlab求解二阶微分方程的过程。

Matlab版本:2023a

二、Matlab求解二阶常系数微分方程

1、问题描述

二阶常系数微分方程:
y ¨ + 10 y ˙ + 25 y = 250 (1) \begin{aligned} \ddot y+10\dot y+25y=250 \\ \end{aligned}\tag{1} y¨+10y˙+25y=250(1)
二阶微分方程如果没有初始条件,其通解会含有两个任意常数,所以不能完全反应某一客观实物的规律。
这里设置初始条件为:
y ( 0 ) = 15 , y ˙ ( 0 ) = 0 (2) \begin{aligned} y(0)=15, &&\dot y(0)=0 \\ \end{aligned}\tag{2} y(0)=15,y˙(0)=0(2)

2、matlab求解微分方程,并绘制解的曲线
clear; close all; clc;
% 定义符号变量
syms x y(x);

% 定义二阶微分方程
eqn = diff(y, x, 2) + 10*diff(y, x) + 25*y == 250;

% 设置初始条件
initial_condition1 = y(0) == 0; % 初始值 y(0) = 0
initial_condition2 = subs(diff(y), 0) == 0; % 初始导数值 y'(0) = 0

% 求解微分方程
sol = dsolve(eqn, [initial_condition1, initial_condition2]);

% 显示解
disp('解:');
disp(sol);

% 将解转换为函数句柄
ySol = matlabFunction(sol);

% 定义 x 范围
x = linspace(0, 5, 100); % 这里的范围可以根据需要调整

% 计算对应的 y 值
y = ySol(x);

% 绘制曲线图
figure;
a1 = subplot( 1, 1, 1 );
hold( a1, 'on' );
plot(a1, x, y, 'linewidth', 3, 'color', [0.0000, 0.4470, 0.7410] );
xlabel('x');
ylabel('y');
title('二阶微分方程的解曲线');
scatter( 0, ySol(0), 'filled', 'linewidth', 3, 'markerfacecolor', 'y', 'markeredgecolor', 'k'  );
grid on;


在这里插入图片描述

3、matlab求解加速度函数,并绘制解的曲线

经过步骤2,其实我们得到的是位置和速度的关系,即解为:
y = − 10 e − 5 x − 50 x e − 5 x + 10 (2) \begin{aligned} y=-10e^{-5x}-50xe^{-5x}+10 \\ \end{aligned}\tag{2} y=10e5x50xe5x+10(2)

有时我们还需要观察加速度和时间的关系。
因此对公式(2)求二阶导,得到加速度:
y ¨ = 250 e − 5 x − 1250 x e − 5 x (2) \begin{aligned} \ddot y=250e^{-5x}-1250xe^{-5x} \\ \end{aligned}\tag{2} y¨=250e5x1250xe5x(2)

matlab里求解加速度与时间的关系,及画出曲线图:

clear; close all; clc;
% 定义符号变量
syms x;

% 定义函数
y = 10 - 50*x*exp(-5*x) - 10*exp(-5*x);

% 计算二阶导数
second_derivative = diff(y, x, 2);
% 显示解
disp('二阶导:');
disp(second_derivative);
% 将二阶导数转换为函数句柄
second_derivative_func = matlabFunction(second_derivative);

% 定义 x 范围
x_values = linspace(0, 5, 100); % 这里的范围可以根据需要调整

% 计算对应的二阶导数值
y_second_derivative = second_derivative_func(x_values);

% 绘制二阶导数曲线图
figure;
plot(x_values, y_second_derivative);
xlabel('x');
ylabel('y的二阶导数');
title('y=5*exp(-5*x) + 25*x*exp(-5*x) + 10 的二阶导数曲线');
grid on;

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/138181.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【活动回顾】ABeam Recruiting | 德硕管理咨询(上海)2024届校园招聘宣讲会--中南财经政法大学专场

惟楚有材,于斯为盛 中南大校招行 10.31 Part.1 校企合作 10月31日,霜降之际,德硕管理咨询(上海)校招团队首次拜访了位于楚国故地的中南财经政法大学外国语学院,并开展了专场宣讲会。 在校企合作商谈会议…

解锁4D成像雷达「降本」

传感器增强,被视为高阶智驾继续解锁ODD(针对自动驾驶及相关功能专门设计的运行条件)的关键环节之一。 众所周知,市面上在售新车搭载的智驾系统,由于传感器、算力以及软件算法能力的差异,会导致系统正常运行…

【SQLite】环境安装

SQLite - C/C SQLite简介 SQLite 是一种轻量级的嵌入式数据库引擎,它在程序中直接访问数据库文件而不需要独立的数据库服务器。以下是一些关于 SQLite 的简介信息: 嵌入式数据库引擎: SQLite 是一种嵌入式数据库引擎,这意味着它…

如何成功创建百度百科词条?教你从零开始创建自己的百度百科【建议收藏】

百度百科是一个开放的网络百科全书,用户可以自由编辑和贡献内容。如果你想创建一个百度百科页面,需要做好以下准备: 1.确定主题:选择一个你熟悉或者感兴趣的主题,确保该主题在百度百科上还没有相关的页面。 2.收集资…

实现电商平台与营销系统集成:德客的无代码开发和API连接

无代码开发与API连接的重要性 在当前的技术环境中,无代码开发和API连接已经变得至关重要。这两者都可以显著提升企业的工作效率,节省人工成本,同时也可以为企业提供更加灵活的解决方案。广州德客信息科技有限公司,凭借其强大的研…

职场人实用办公技能 | 数据可视化模板

套用模板,不仅报表做得快,数据可视化效果也足够美观,但有些职场人还不太了解从哪些工具上可获得兼具实用性、美观性的BI数据可视化模板,接下来就来介绍一款可提供大量系统化可视化模板的BI工具——奥威BI工具。 奥威BI工具&#…

十年后人工智能会统治人类?2024年人工智能未来趋势,变化将翻天覆地!

原创 | 文 BFT机器人 01 导读 人工智能在全球范围内呈爆发性增长,随着技术的不断创新和社会的积极适应,人工智能有望引领一场社会革命。 02 Gartner发布2024 年十大战略技术趋势 Gartner研究副总裁Bart Willemsen表示:“由于技术变革以及社…

为什么笔记不收录,小红书作品收录逻辑分析!

小红书作品收录问题,是平台大家广泛关注的问题。这是因为,一篇作品是否被有效收录,将会直接决定作品所能捕获的流量。今天给大家分享下为什么笔记不收录,小红书作品收录逻辑分析! 一、作品收录是指什么 小红书平台的作…

数据复现-企业数字化转型与中国实体经济发展分析

数据简介:在当今快速发展的数字化时代,数字技术已经成为企业数字化转型的核心驱动力之一。尤其对于中国这样一个拥有庞大实体经济的国家而言,结合数字技术的应用,可以为企业带来前所未有的巨大机遇和挑战。在中国,实体…

(论文阅读26/100)Weakly-supervised learning with convolutional neural networks

26.文献阅读笔记 简介 题目 Weakly-supervised learning with convolutional neural networks 作者 Maxime Oquab,Leon Bottou,Ivan Laptev,Josef Sivic,CVPR,2015 原文链接 http://www.cv-foundation.org/open…

红海云签约湘湖实验室,助力科研机构人力资源数字化全面升级

湘湖实验室(农业浙江省实验室)是由浙江省农业科学院和萧山区人民政府共同举办的新型研发机构,定位为农业核心种质资源生物制造与生物互作科学问题和核心技术研究,瞄准世界农业科技发展前沿,面向国家重大战略&#xff0…

OA+CRM+HR+ERP 客户关系 进销存 财务 办公审批系统源码

功能介绍 1、个人中心 电话薄:主要用于添加联系人信息,相当于通讯录功能,可以存贮相关联系人的基本信息,姓名、联系方式、地址、邮箱等。 工作日志 :主要用于记录个人工作生活中大小事情的备忘,相当于备…

【uniapp uview】u--textarea组件custom validator check failed for prop “confirmType“

加一行&#xff1a;confirmType"done"即可。<UTextarea> at node_modules/uview-ui/components/u-textarea/u-textarea.vue<UTextarea> at node_modules/uview-ui/components/u--textarea/u--textarea.vueat pages/notice/noticeDetail.vueuview 文档地址…

前端瀑布流怎么布局

假设你需要把页面搭建成这样&#xff0c;有两列元素&#xff0c;每个元素宽度一定&#xff0c;高度不一定。如何实现&#xff1f; 这种瀑布流布局有很多实现方式&#xff0c;比如Grid布局。 什么是Grid布局 Grid布局是一种很灵活的布局方式&#xff0c;他把你的页面划分成了很…

拆解软件定义汽车:OS突围

软件作为智能汽车的核心组成部分&#xff0c;由于自身较为独立和复杂的IT学科体系&#xff0c;其技术链路、产业分工、价值分配、商业模式相对硬件产品&#xff08;如域控、激光雷达、摄像头等硬件&#xff09;而言&#xff0c;在汽车产业内探讨和传播相对较少。 11月3日&…

算法——图——bsf 广度优先搜索算法 (Breadth First Search)

图遍历算法——bsf 广度优先搜索算法 &#xff08;Breadth First Search&#xff09; 算法 概述算法过程步骤一&#xff1a;初始化原点到队列步骤二&#xff1a;将队列的头顶点放入到已完成集合步骤三&#xff1a;将订单的关联顶点放入到队列中步骤四&#xff1a;将u顶点设置为…

代码随想录算法训练营第23期day49| 123.买卖股票的最佳时机III、188.买卖股票的最佳时机IV

目录 一、&#xff08;leetcode 123&#xff09;买卖股票的最佳时机III 二、&#xff08;leetcode 188&#xff09;买卖股票的最佳时机IV 一、&#xff08;leetcode 123&#xff09;买卖股票的最佳时机III 力扣题目链接 增加了两次的限制&#xff0c;相应的就是需要考虑的状…

【正点原子STM32连载】 第五十章 FATFS实验 摘自【正点原子】APM32F407最小系统板使用指南

1&#xff09;实验平台&#xff1a;正点原子stm32f103战舰开发板V4 2&#xff09;平台购买地址&#xff1a;https://detail.tmall.com/item.htm?id609294757420 3&#xff09;全套实验源码手册视频下载地址&#xff1a; http://www.openedv.com/thread-340252-1-1.html## 第五…

解决@Autowired警告

一.前言 再使用springboot自动注入Autowired注解时,下方会出现波浪线警告,这是什么原因呢?我们细看提示说明已经说的很清楚了,Field injection is not recommended “不建议使用字段注入”,字段注入是指通过直接将依赖项注入到类的字段中来实现依赖注入。这种方式存在一些问题…

Lightroom Classic 2023 v12.4

Lightroom Classic 2023是一款图像处理软件&#xff0c;是数字摄影后期制作的重要工具之一。与其他图像处理软件相比&#xff0c;Lightroom Classic具有以下特点&#xff1a; 高效的图像管理&#xff1a;Lightroom Classic提供了强大的图像管理功能&#xff0c;可以轻松导入、…