Python重力弹弓流体晃动微分方程模型和交直流电阻电容电路

🎯要点

🎯计算地球大气层中热层金属坠物运动轨迹 | 🎯计算炮弹最佳弹射角度耦合微分方程 | 🎯计算电磁拉莫尔半径螺旋运动 | 🎯计算航天器重力弹弓运动力学微分方程 | 🎯计算双摆的混沌运动非线性微分方程,绘制相空图 | 🎯计算绝热和无粘流流体力学微分方程 | 🎯计算容器流体晃动自由表面简谐运动数学模型 | 🎯计算化学物质的伦纳德-琼斯势物理模型 | 🎯分析直流交流电阻电容电路

📜欧拉法 | 本文 - 用例

📜MATLAB雨刮通风空调模糊器和发电厂电力聚变器卷积神经

📜Python物理量和化学量数值计算

📜Python流感常微分方程房室数学模型

📜C++计算资本市场收益及成本分配数学方程

📜Python计算物理粒子及拉格朗日和哈密顿动力学

📜C代码快速傅里叶变换-分类和推理-常微分和偏微分方程

📜Python物理学有限差分微分求解器和动画波形传播

📜Julia评估劳动力市场经济数学模型价值策略选择

📜Python嵌入式动态用户调制解调响应式射频信号

📜Python机器人动力学和细胞酶常微分方程

📜Python | C# | MATLAB 库卡机器人微分运动学 | 欧拉-拉格朗日动力学 | 混合动力控制

📜Python | C++ | MATLAB机器人正逆向运动学动力学求解器及算法

📜Python微磁学磁倾斜和西塔规则算法

📜Python烟雾液体弹性力微分模拟 | 出租车往返速度微分计算
在这里插入图片描述
在这里插入图片描述

🍇Python欧拉法

d S ( t ) d t = F ( t , S ( t ) ) \frac{d S(t)}{d t}=F(t, S(t)) dtdS(t)=F(t,S(t)) 为显式定义的一阶常微分方程。也就是说, F F F 是一个函数,它返回给定时间和状态值的状态的导数或变化。另外,令 t t t 为区间 [ t 0 , t f ] \left[t_0, t_f\right] [t0,tf] 的数字网格,间距为 h h h。不失一般性,我们假设 t 0 = 0 t_0=0 t0=0,并且对于某个正整数 N N N t f = N h t_f=N h tf=Nh

S ( t ) S(t) S(t) t j t_j tj 附近的线性近似为
S ( t j + 1 ) = S ( t j ) + ( t j + 1 − t j ) d S ( t j ) d t S\left(t_{j+1}\right)=S\left(t_j\right)+\left(t_{j+1}-t_j\right) \frac{d S\left(t_j\right)}{d t} S(tj+1)=S(tj)+(tj+1tj)dtdS(tj)
还可以写为:
S ( t j + 1 ) = S ( t j ) + h F ( t j , S ( t j ) ) S\left(t_{j+1}\right)=S\left(t_j\right)+h F\left(t_j, S\left(t_j\right)\right) S(tj+1)=S(tj)+hF(tj,S(tj))
这个公式称为显式欧拉公式,它允许我们在给定 S ( t j ) S\left(t_j\right) S(tj) 状态的情况下计算 S ( t j + 1 ) S\left(t_{j+1}\right) S(tj+1) 状态的近似值。从给定的初始值 S 0 = S ( t 0 ) S_0=S\left(t_0\right) S0=S(t0)开始,我们可以使用这个公式对状态进行积分直到 S ( t f ) S\left(t_f\right) S(tf);这些 S ( t ) S(t) S(t) 值是微分方程解的近似值。显式欧拉公式是解决初值问题最简单、最直观的方法。在任何状态 ( t j , S ( t j ) ) \left(t_j, S\left(t_j\right)\right) (tj,S(tj)),它在该状态下使用 F F F“指向”下一个状态,然后朝该方向移动 h h h的距离。尽管有更复杂和更准确的方法来解决这些问题,但它们都具有相同的基本结构。因此,我们明确列举了使用显式欧拉公式解决初始值问题的步骤。

假设我们有一个函数 F ( t , S ( t ) ) F(t, S(t)) F(t,S(t)) 计算 d S ( t ) d t \frac{d S(t)}{d t} dtdS(t),一个数值网格 t t t,区间 [ t 0 , t f ] \left[ t_0, t_f\right] [t0,tf],初始状态值 S 0 = S ( t 0 ) S_0=S\left(t_0\right) S0=S(t0)。我们可以使用以下步骤计算 t t t 中每个 t j t_j tj S ( t j ) S\left(t_j\right) S(tj)

  • S 0 = S ( t 0 ) S_0=S\left(t_0\right) S0=S(t0) 存储在数组 S S S 中。
  • 计算 S ( t 1 ) = S 0 + h F ( t 0 , S 0 ) S\left(t_1\right)=S_0+h F\left(t_0, S_0\right) S(t1)=S0+hF(t0,S0)
  • S 1 = S ( t 1 ) S_1=S\left(t_1\right) S1=S(t1) 存储在 S S S
  • 计算 S ( t 2 ) = S 1 + h F ( t 1 , S 1 ) S\left(t_2\right)=S_1+h F\left(t_1, S_1\right) S(t2)=S1+hF(t1,S1)
  • S 2 = S ( t 1 ) S_2=S\left(t_1\right) S2=S(t1) 存储在 S S S​ 中。
  • 计算 S ( t f ) = S f − 1 + h F ( t f − 1 , S f − 1 ) S\left(t_f\right)=S_{f-1}+h F\left(t_{f-1}, S_{f-1}\right) S(tf)=Sf1+hF(tf1,Sf1)
  • S f = S ( t f ) S_f=S\left(t_f\right) Sf=S(tf) 存储在 S S S
  • S S S 是初始值问题的近似解

当使用具有这种结构的方法时,我们称该方法集成了常微分方程的解。

初始条件为 f 0 = − 1 f_0=-1 f0=1的微分方程 d f ( t ) d t = e − t \frac{d f(t)}{d t}=e^{-t} dtdf(t)=et有精确解 f ( t ) = − e − t f(t)=-e^{-t} f(t)=et 。使用显式欧拉公式,以 0.1 为增量,在 0 和 1 之间近似求解此初始值问题。绘制近似解和精确解之间的差异。

代码处理:

import numpy as np
import matplotlib.pyplot as plt

plt.style.use('seaborn-poster')
%matplotlib inline


f = lambda t, s: np.exp(-t) 
h = 0.1 
t = np.arange(0, 1 + h, h) 
s0 = -1 

s = np.zeros(len(t))
s[0] = s0

for i in range(0, len(t) - 1):
    s[i + 1] = s[i] + h*f(t[i], s[i])

plt.figure(figsize = (12, 8))
plt.plot(t, s, 'bo--', label='Approximate')
plt.plot(t, -np.exp(-t), 'g', label='Exact')
plt.title('Approximate and Exact Solution \
for Simple ODE')
plt.xlabel('t')
plt.ylabel('f(t)')
plt.grid()
plt.legend(loc='lower right')
plt.show()

在上图中,我们可以看到每个点都是基于前一个点以线性方式进行的近似。从初始值,我们最终可以得到数值网格上解的近似值。如果我们对 h = 0.01 h=0.01 h=0.01 重复该过程,我们会得到更好的近似解:

h = 0.01 
t = np.arange(0, 1 + h, h) 
s0 = -1 

s = np.zeros(len(t))
s[0] = s0

for i in range(0, len(t) - 1):
    s[i + 1] = s[i] + h*f(t[i], s[i])

plt.figure(figsize = (12, 8))
plt.plot(t, s, 'b--', label='Approximate')
plt.plot(t, -np.exp(-t), 'g', label='Exact')
plt.title('Approximate and Exact Solution \
for Simple ODE')
plt.xlabel('t')
plt.ylabel('f(t)')
plt.grid()
plt.legend(loc='lower right')
plt.show()

显式欧拉公式之所以被称为“显式”,是因为它只需要 t j t_j tj 处的信息来计算 t j + 1 t_{j+1} tj+1 处的状态。也就是说, S ( t j + 1 ) S\left(t_{j+1}\right) S(tj+1) 可以根据我们拥有的值(即 t j t_j tj S ( t j ) S\left(t_j\right) S(tj) )显式地编写。隐式欧拉公式可以通过在 t j + 1 t_{j+1} tj+1 周围取 S ( t ) S(t) S(t) 的线性近似并在 t j t_j tj 处计算来导出:
S ( t j + 1 ) = S ( t j ) + h F ( t j + 1 , S ( t j + 1 ) ) S\left(t_{j+1}\right)=S\left(t_j\right)+h F\left(t_{j+1}, S\left(t_{j+1}\right)\right) S(tj+1)=S(tj)+hF(tj+1,S(tj+1))
这个公式很奇特,因为它要求我们知道 S ( t j + 1 ) S\left(t_{j+1}\right) S(tj+1) 才能计算 S ( t j + 1 ) S\left(t_{j+1}\right) S(tj+1)!不过,有时候我们可以用这个公式来近似求解初值问题。在详细介绍如何使用隐式欧拉公式解决这些问题之前,我们先给出另一个隐式公式,称为梯形公式,它是显式和隐式欧拉公式的平均值:
S ( t j + 1 ) = S ( t j ) + h 2 ( F ( t j , S ( t j ) ) + F ( t j + 1 , S ( t j + 1 ) ) ) S\left(t_{j+1}\right)=S\left(t_j\right)+\frac{h}{2}\left(F\left(t_j, S\left(t_j\right)\right)+F\left(t_{j+1}, S\left(t_{j+1}\right)\right)\right) S(tj+1)=S(tj)+2h(F(tj,S(tj))+F(tj+1,S(tj+1)))
为了说明如何求解这些隐式解,请再次考虑已简化为一阶的摆方程。

👉参阅一:计算思维

👉参阅二:亚图跨际

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

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

相关文章

【无线传感网】分簇路由算法介绍

目录 1、LEACH路由算法 2、PEGASIS 算法 3、TEEN 算法 5、APTEEN 5、LEACH-C 算法 无线传感网中的路由协议就是寻找一条路径让网络中节点沿着这条路径将数据信息传输出去。路由协议的两大关键要点就是路径的优化和数据的分组,在传统计算机网络中,是将网络的拓扑…

windows系统实现应用程序开机即运行(不登录系统也行)

由于近期需要设置一个Java程序开机自启动,因此试了一下方法,总结了两点,一个是需要用户登录系统之后再启动,一种是不需要登录,只要开机就会启动。 先看准备工作,写一个启动脚本: echo on E: cd…

Flink入门实战详解

Flink入门实战 Flink项目构建 1)基于MavenIdea创建项目&#xff1a; 使用maven进行项目构建&#xff0c;如图1所示。 图-34 构建maven项目 输入项目中的maven的坐标和存储坐标&#xff0c;如图2所示。 图2 maven坐标和存储位置 2)Maven依赖&#xff1a; <properties>…

虚幻引擎 Gerstner Waves -GPU Gems 从物理模型中实现有效的水体模拟

1.1 目标与范围 我们从简单的正弦函数开始&#xff0c;然后逐步过渡到更复杂的函数&#xff0c;以适应需要。 本章主要解释系统参数的物理意义&#xff0c;表明将水表面近似为正弦波的总和并不像人们通常认为的那样是随意的。我们特别关注将基本模型转换为实际实现所需的数学方…

Linux系统资源监控nmon工具下载及使用介绍

一、资源下载 夸克网盘链接&#xff1a;https://pan.quark.cn/s/2684089bc34d 里面包含了各种分享的实用工具&#xff0c;nmon在 Linux服务器监控nmon工具 文件夹内 文件说明&#xff1a; nmon16p_binaries.tar.gz 为最新的nmon官方工具包&#xff0c;支持linux全平台 nmo…

钢琴块小游戏(附源码)

代码结构 app.png是游戏运行主界面的图片&#xff08;可以加载自己喜欢的主界面图片&#xff09; Assets文件夹里面装的是一些需要用到的游戏图片 全部都可以替换为自己喜欢的图片 Fonts里面装的是 Sounds文件夹里面装的是 一 . 主程序代码 1.运行这个代码使得游戏开始 2.主界面…

【机器学习 复习】第6章 支持向量机(SVM)

一、概念 1.支持向量机&#xff08;support vector machine&#xff0c;SVM&#xff09;&#xff1a; &#xff08;1&#xff09;基于统计学理论的监督学习方法&#xff0c;但不属于生成式模型&#xff0c;而是判别式模型。 &#xff08;2&#xff09;支持向量机在各个领域内的…

健康与生活助手:Kompas AI的高效应用

一、引言 在现代社会&#xff0c;随着生活节奏的加快和工作压力的增加&#xff0c;人们的健康问题日益凸显。健康管理已经成为每个人关注的重点。Kompas AI作为一款智能助手&#xff0c;通过其先进的人工智能技术&#xff0c;为用户提供全面的健康管理服务&#xff0c;帮助用户…

【C++知识点】类和对象:友元,运算符重载,多态

今天来继续了解类和对象&#xff01; PS.本博客参考b站up黑马程序员的相关课程&#xff0c;老师讲得非常非常好&#xff01; 封装 深拷贝与浅拷贝 浅拷贝&#xff1a;简单的赋值拷贝操作 深拷贝&#xff1a;在堆区重新申请空间&#xff0c;进行拷贝操作 首先&#xff0c…

【头歌】HBase扫描与过滤答案 解除复制粘贴限制

解除复制粘贴限制 当作者遇到这个限制的时候火气起来了三分&#xff0c;然后去网上搜索答案&#xff0c;然后发现了一位【碳烤小肥肠】居然不贴代码&#xff0c;XX链接&#xff0c;贴截图&#xff0c;瞬时火气冲顶&#xff0c;怒写此文 首先启动万能的控制台&#xff0c;然后C…

【Hadoop大数据技术】——期末复习(冲刺篇)

&#x1f4d6; 前言&#xff1a;快考试了&#xff0c;做篇期末总结&#xff0c;都是重点与必考点。 题型&#xff1a;简答题、编程题&#xff08;Java与Shell操作&#xff09;、看图分析题。题目大概率会从课后习题、实验里出。 课本&#xff1a; 目录 &#x1f552; 1. HDF…

数据结构--单链表(图文)

单链表的概念 在单链表中&#xff0c;每个元素&#xff08;称为节点&#xff09;包含两部分&#xff1a;一部分是存储数据的数据域&#xff0c;另一部分是存储下一个节点地址的指针域。这里的“单”指的是每个节点只有一个指向下一个节点的指针。 节点&#xff1a;链表中的基…

java-数据结构与算法-02-数据结构-01-数组

文章目录 1. 概述2. 动态数组3. 二维数组4. 局部性原理5. 越界检查6. 习题 1. 概述 定义 在计算机科学中&#xff0c;数组是由一组元素&#xff08;值或变量&#xff09;组成的数据结构&#xff0c;每个元素有至少一个索引或键来标识 In computer science, an array is a dat…

如何与精益管理咨询公司进行有效的沟通?

在现代企业管理中&#xff0c;精益管理咨询公司发挥着不可或缺的作用&#xff0c;它们通过提供专业的精益管理咨询服务&#xff0c;帮助企业优化运营流程&#xff0c;提升生产效率&#xff0c;降低成本&#xff0c;实现可持续发展。然而&#xff0c;与精益管理咨询公司进行有效…

软件测评中心▏软件安全测试的测试方法和注意事项介绍

软件安全测试是一种重要的测试活动&#xff0c;旨在评估和验证软件系统中潜在的安全风险&#xff0c;并提供可行的解决方案。通过对软件系统进行系统化的测试&#xff0c;可以及时发现和修复安全漏洞&#xff0c;保护软件系统的安全性。 软件安全测试的测试方法可以帮助测试人…

深度学习500问——Chapter11:迁移学习(4)

文章目录 11.3.8 流形学习方法 11.3.9 什么是finetune 11.3.10 finetune为什么有效 11.3.11 什么是网络自适应 11.3.12 GAN在迁移学习中的应用 参考文献 11.3.8 流形学习方法 什么是流行学习&#xff1f; 流行学习自从2000年在Science上被提出来以后&#xff0c;就成为了机器…

ASP.NET Core 中使用 Dapper 的 Oracle 存储过程输出参数

介绍 Oracle 数据库功能强大&#xff0c;在企业环境中使用广泛。在 ASP.NET Core 应用程序中使用 Oracle 存储过程时&#xff0c;处理输出参数可能具有挑战性。本教程将指导您完成使用 Dapper&#xff08;适用于 . NET 的轻量级 ORM&#xff08;对象关系映射器&#xff09;&am…

Python数据分析-对驾驶安全数据进行了预测

一、研究背景和意义 随着汽车保有量的不断增加&#xff0c;交通事故已成为全球范围内的重大公共安全问题。每年因交通事故造成的人员伤亡和财产损失给社会带来了巨大的负担。为了提高驾驶安全&#xff0c;减少交通事故的发生&#xff0c;许多研究致力于探索影响驾驶安全的因素…

模式分解的概念(上)-分解、无损连接性、保持函数依赖特性

一、分解的概念 1、分解的定义 2、判断一个关系模式的集合P是否为关系模式R的一个分解 只要满足以下三个条件&#xff0c;P就是R的一个分解 &#xff08;1&#xff09;P中所有关系模式属性集的并集是R的属性集 &#xff08;2&#xff09;P中所有不同的关系模式的属性集之间…

如何通过自定义模块DIY出专属个性化的CSDN主页?一招教你搞定!

个人主页&#xff1a;学习前端的小z 个人专栏&#xff1a;HTML5和CSS3悦读 本专栏旨在分享记录每日学习的前端知识和学习笔记的归纳总结&#xff0c;欢迎大家在评论区交流讨论&#xff01; 文章目录 &#x1f4af;如何通过HTMLCSS自定义模板diy出自己的个性化csdn主页&#x…