当前位置: 首页 > news >正文

40.利用欧拉法求解微分方程组(matlab程序)

1.简述

      

求解微分方程的时候,如果不能将求出结果的表达式,则可以对利用数值积分对微分方程求解,获取数值解。欧拉方法是最简单的一种数值解法。前面介绍过MATLAB实例讲解欧拉法求解微分方程,今天实例讲解欧拉法求解一阶微分方程组。


本文理论部分来自知乎作者云端之下的文章“常微分方程——数值解——欧拉方法”

微分方程的求解方法有解析解法和数值解法,解析法是求出因变量关于时间 �的具体函数式,表达 ;数值法是解出因变量  关于时间 �的离散序列,通常表达离散数据对。绝大多数的非线性常微分方程,不存在或难以求出解析解,大多数情况下只能求取微分方程的数值解。

2.代码

%%  学习目标:欧拉法求解微分方程组
clear;clc
c=2/3;  %设置c的值
x(1)=0.1;  %设置x初值为0.1
y(1)=0.3;  %设置y初值为0.3
h=0.05;    %设置步长为0.05

%for循环:根据Euler法,求解微分方程组
for i=1:1000
    x(i+1)=x(i)+h*(x(i)*(c-x(i)/y(i)));
    y(i+1)=y(i)+h*(y(i)*(1-y(i))-x(i)*y(i));
end

t=0:h:1000*h;   %计算时间
plot(t,x)       %绘制x曲线
hold on       
plot(t,y,'r')   %绘制y曲线
xlabel('time')  %设置x轴的标签
ylabel('value') %设置y轴的标签
legend({'x','y'})  %设置图例
title('time evolution plot')  %设置图形的标题
figure   
plot(x,y)   %绘制phase图
title('phase plane plot')  %设置标题
xlabel('x')   %设置x轴的标签
ylabel('y')   %设置y轴的标签

3.运行结果

 

 

相关文章:

40.利用欧拉法求解微分方程组(matlab程序)

1.简述 求解微分方程的时候,如果不能将求出结果的表达式,则可以对利用数值积分对微分方程求解,获取数值解。欧拉方法是最简单的一种数值解法。前面介绍过MATLAB实例讲解欧拉法求解微分方程,今天实例讲解欧拉法求解一阶微分方程组。…...

OpenAI-Translator 实战总结

最近在极客时间学习《AI 大模型应用开发实战营》,自己一边跟着学一边开发了一个进阶版本的 OpenAI-Translator,在这里简单记录下开发过程和心得体会,供有兴趣的同学参考 功能概览 通过openai的chat API,实现一个pdf翻译器实现一个…...

【工业机器人】用于轨迹规划和执行器分析的机械手和移动机器人模型(MatlabSimulink)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...

开源在线文档服务OnlyOffice

开源在线文档服务OnlyOffice应用启动与示例运行 - 掘金 ONLYOFFICE API 文档 - Example - IDEA运行Java示例 | ONLYOFFICE中文网 NEXTCLOUDonlyoffice的搭建和使用_nextcloud onlyoffice_莫冲的博客-CSDN博客 OnlyOffice java 部署使用,文件流方式 预览文件 | 言曌博…...

汽车基本常识

目录 电源KL30KL15 零部件简称 电源 KL30 KL15 零部件简称 VCU:整车控制器 直接网络管理节点 CDU:充电系统控制器 MCU:电机控制器 TCU:变速箱控制器 ABS:防抱死系统 EPS:助力转向 T-Box:远程…...

百度资深PMO阚洁受邀为第十二届中国PMO大会演讲嘉宾

百度在线网络技术(北京)有限公司资深PMO阚洁女士受邀为由PMO评论主办的2023第十二届中国PMO大会演讲嘉宾,演讲议题:运筹于股掌之间,决胜于千里之外 —— 360斡旋项目干系人。大会将于8月12-13日在北京举办,…...

为什么C++有多种整型?

C中有多种整型是为了满足不同的需求,提供更灵活和高效的整数表示方式。不同的整型具有不同的字节大小、范围和精度,可以根据应用的需求选择合适的整型类型。以下是一些原因解释为什么C有多种整型: 内存和性能优化:不同的整型在内存…...

玩一玩通义千问Qwen开源版,Win11 RTX3060本地安装记录!

大概在两天前,阿里做了一件大事儿。 就是开源了一个低配版的通义千问模型--通义千问-7B-Chat。 这应该是国内第一个大厂开源的大语言模型吧。 虽然是低配版,但是在各类测试里面都非常能打。 官方介绍: Qwen-7B是基于Transformer的大语言模…...

oracle积累增量和差异增量

积累增量和差异增量: 对于 RMAN 来说,积累增量备份和差异增量备份都是增量备份的一种形式,它们之间的区别在于备份的范围和备份集的方式。 积累增量备份:在进行积累增量备份时,RMAN 会备份自最后一次完全备份或增量备…...

利用C++nlohmann库解析json文件

json文件示例&#xff1a; 代码运行环境VS2019 一、git下载nlohmann库文件源代码 源代码文件目录 二、利用VS2019新建工程&#xff0c;并配置项目属性 配置VC目录---包含目录 三、项目源代码 #include <iostream> #include <fstream> #include <nlohmann/jso…...

OpenCV 中的光流 (C++/Python)

什么是光流? 光流是一项视频中两个连续帧之间每像素运动估计的任务。基本上,光流任务意味着计算像素的位移矢量作为两个相邻图像之间的对象位移差。光流的主要思想是估计物体由其运动或相机运动引起的位移矢量。 理论基础 假设我们有一个灰度图像——具有像素强度的矩阵。我…...

第9集丨Vue 江湖 —— 监测数据原理

目录 一、修改数据时的一个问题1.1 现象一1.2 现象二 二、Vue监测数据原理2.1 模拟一个数据监测2.2 数据劫持2.3 Vue.set()/vm.$set()2.4 基本原理2.4.1 如何监测对象中的数据?2.4.2 如何监测数组中的数据?2.4.3 修改数组中的某个元素 2.5 案例2.5.1 需求功能2.5.2 实现 一、…...

【YOLO】替换骨干网络为轻量级网络MobileNet3

替换骨干网络为轻量级网络MobileNet_v3 上一章 模型网络结构解析&增加小目标检测 文章目录 替换骨干网络为轻量级网络MobileNet_v3前言一、MobileNetV3介绍二、MobileNetV2&MobileNetV3三、MobileNetV3网络结构1. 结构查看2. 查看每层featuremap大小三、YOLOV5替换骨干…...

如何识别手机是否有灵动岛(dynamic island)

如何识别手机是否有灵动岛&#xff08;dynamic island&#xff09; 灵动岛是苹果2022年9月推出的iPhone 14 Pro、iPhone 14 Pro Max首次出现&#xff0c;操作系统最低是iOS16.0。带灵动岛的手机在竖屏时顶部工具栏大于等于51像素。 #define isHaveDynamicIsland ({ BOOL isH…...

Linux设备树简介

一、起源 减少垃圾代码 减轻驱动开发工作量 驱动代码和设备信息分离 参考Open Fireware设计 用来记录硬件平台中各种硬件设备的属性信息 二、基本组成 两种源文件&#xff1a; xxxxx.dts dts是device tree source的缩写 xxxxx.dtsi dtsi是device tree source include的…...

Ubuntu类IOS主题设置

1.依次执行下面三条命令&#xff1a; sudo apt install gnome-shell-extensions sudo apt install gnome-tweak-tool sudo apt install chrome-gnome-shell2.下载主题&#xff0c;也是命令&#xff1a; git clone <https://github.com/qingchendelaike/GNOME-OSX-II-Theme…...

RabbitMQ学习——发布订阅/fanout模式 topic模式 rabbitmq回调确认 延迟队列(死信)设计

目录 引出点对点(simple)Work queues 一对多发布订阅/fanout模式以登陆验证码为例pom文件导包application.yml文件rabbitmq的配置生产者生成验证码&#xff0c;发送给交换机消费者消费验证码 topic模式配置类增加配置生产者发送信息进行发送控制台查看 rabbitmq回调确认配置类验…...

Leetcode算法递归类—合并两个有序链表

目录 21. 合并两个有序链表 题解&#xff1a; 代码&#xff1a; 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1&#xff1a; 输入&#xff1a;l1 [1,2,4], l2 [1,3,4] 输出&#xff1a;[1,1,2,3,4,4]示例 2&a…...

YOLOv5可视化界面

Pyside6可视化界面 安装Pyside6 激活之前的虚拟环境yolov5 在该环境的终端输入以下命令 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyside6输入where python找到当前使用的Python的路径 找到该路径下的designer.exe文件&#xff08;/Lib/site-packages/PySi…...

C语言使用库函数实现大小写字母转换

功能&#xff1b;多行输入&#xff0c;输入大写字母&#xff0c;返回相应的小写字母&#xff1b;输入小写字母&#xff0c;返回相应的大写字母 需要用到的库函数&#xff1a; islower&#xff08;&#xff09; -- 判断是否为小写&#xff0c;是&#xff0c;返回非0&#xff0c;…...

网络编程(Modbus进阶)

思维导图 Modbus RTU&#xff08;先学一点理论&#xff09; 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议&#xff0c;由 Modicon 公司&#xff08;现施耐德电气&#xff09;于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…...

应用升级/灾备测试时使用guarantee 闪回点迅速回退

1.场景 应用要升级,当升级失败时,数据库回退到升级前. 要测试系统,测试完成后,数据库要回退到测试前。 相对于RMAN恢复需要很长时间&#xff0c; 数据库闪回只需要几分钟。 2.技术实现 数据库设置 2个db_recovery参数 创建guarantee闪回点&#xff0c;不需要开启数据库闪回。…...

蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练

前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1)&#xff1a;从基础到实战的深度解析-CSDN博客&#xff0c;但实际面试中&#xff0c;企业更关注候选人对复杂场景的应对能力&#xff08;如多设备并发扫描、低功耗与高发现率的平衡&#xff09;和前沿技术的…...

质量体系的重要

质量体系是为确保产品、服务或过程质量满足规定要求&#xff0c;由相互关联的要素构成的有机整体。其核心内容可归纳为以下五个方面&#xff1a; &#x1f3db;️ 一、组织架构与职责 质量体系明确组织内各部门、岗位的职责与权限&#xff0c;形成层级清晰的管理网络&#xf…...

《通信之道——从微积分到 5G》读书总结

第1章 绪 论 1.1 这是一本什么样的书 通信技术&#xff0c;说到底就是数学。 那些最基础、最本质的部分。 1.2 什么是通信 通信 发送方 接收方 承载信息的信号 解调出其中承载的信息 信息在发送方那里被加工成信号&#xff08;调制&#xff09; 把信息从信号中抽取出来&am…...

unix/linux,sudo,其发展历程详细时间线、由来、历史背景

sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...

tree 树组件大数据卡顿问题优化

问题背景 项目中有用到树组件用来做文件目录&#xff0c;但是由于这个树组件的节点越来越多&#xff0c;导致页面在滚动这个树组件的时候浏览器就很容易卡死。这种问题基本上都是因为dom节点太多&#xff0c;导致的浏览器卡顿&#xff0c;这里很明显就需要用到虚拟列表的技术&…...

SiFli 52把Imagie图片,Font字体资源放在指定位置,编译成指定img.bin和font.bin的问题

分区配置 (ptab.json) img 属性介绍&#xff1a; img 属性指定分区存放的 image 名称&#xff0c;指定的 image 名称必须是当前工程生成的 binary 。 如果 binary 有多个文件&#xff0c;则以 proj_name:binary_name 格式指定文件名&#xff0c; proj_name 为工程 名&…...

Mysql中select查询语句的执行过程

目录 1、介绍 1.1、组件介绍 1.2、Sql执行顺序 2、执行流程 2.1. 连接与认证 2.2. 查询缓存 2.3. 语法解析&#xff08;Parser&#xff09; 2.4、执行sql 1. 预处理&#xff08;Preprocessor&#xff09; 2. 查询优化器&#xff08;Optimizer&#xff09; 3. 执行器…...

处理vxe-table 表尾数据是单独一个接口,表格tableData数据更新后,需要点击两下,表尾才是正确的

修改bug思路&#xff1a; 分别把 tabledata 和 表尾相关数据 console.log() 发现 更新数据先后顺序不对 settimeout延迟查询表格接口 ——测试可行 升级↑&#xff1a;async await 等接口返回后再开始下一个接口查询 ________________________________________________________…...