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

📜常微分方程-用例

📜Python物理量和化学量数值计算 | 📜Julia和Python蛛网图轨道图庞加莱截面曲面确定性非线性系统 | 📜Python和C++数学物理计算分形热力学静电学和波动方程 | 📜C++计算资本市场收益及成本分配数学方程 | 📜Python计算物理粒子及拉格朗日和哈密顿动力学 | 📜C代码快速傅里叶变换-分类和推理-常微分和偏微分方程 | 📜Python和C++计算物理光学波形化学结构数学方程 | 📜机器人动力学仿真 | 📜无细胞系统酶模型分析。

✒️Python自由落体运动封闭式解

常微分方程 (ODE) 是涉及函数的一些常导数(而不是偏导数)的方程。通常,我们的目标是求解 ODE,即确定哪个或哪些函数满足方程。

如果你知道函数的导数是什么,那么如何求函数本身呢?你需要找到反导数,即你需要积分。例如,如果给你
d x d t ( t ) = cos ⁡ t \frac{ d x}{ d t}(t)=\cos t dtdx(t)=cost
那么函数 x ( t ) x(t) x(t) 是什么?由于 cos ⁡ t \cos t cost 的反导数是 sin ⁡ t \sin t sint,那么 x ( t ) x(t) x(t) 必定是 sin ⁡ t \sin t sint。只是我们忘记了一个重要的一点:如果我们只知道导数,那么总是存在一个我们无法确定的任意常数。因此,我们从上面的方程可以确定的是
x ( t ) = sin ⁡ t + C x(t)=\sin t+C x(t)=sint+C
对于某个任意常数 C C C。您可以验证 x ( t ) x(t) x(t) 确实满足方程 d x d t = cos ⁡ t \frac{ d x}{ d t}=\cos t dtdx=cost

一般来说,求解 ODE 比简单积分更复杂。即便如此,基本原则始终是积分,因为我们需要从导数到函数。通常,困难的部分是确定我们需要进行哪些积分。

不过,让我们从更简单的开始吧。最简单的 ODE 是什么?令 x ( t ) x(t) x(t) 为满足 ODE 的 t t t 函数:
d x d t = 0 ( 1 ) \frac{ d x}{ d t}=0 \qquad(1) dtdx=0(1)
我们可以问一些简单的问题。什么是 x ( t ) x(t) x(t) x ( t ) x(t) x(t) 是由该方程唯一确定的吗?如果不是,还需要说明什么吗?

上述等式仅仅意味着 x ( t ) x(t) x(t)是一个常数函数, x ( t ) = C x(t)=C x(t)=C。它当然不是唯一确定的,因为如果我们只有 x x x 的导数方程,则无法指定常数 C C C。为了唯一地确定 x ( t ) x(t) x(t),必须根据函数 x ( t ) x(t) x(t) 本身提供一些附加数据。

让我们把事情变得更复杂一点。考虑方程
d x d t = m sin ⁡ t + n t 3 ( 2 ) \frac{ d x}{ d t}=m \sin t+n t^3 \qquad(2) dtdx=msint+nt3(2)
其中 m m m n n n 只是一些实数。方程 (2) 并不比方程 (1) 复杂多少,因为右侧不依赖于 x x x。它仅取决于 t t t。我们只是简单地用 t t t 来指定导数。解就是反导数或积分。

这次让我们以稍微不同的方式进行积分。我们将使用从时间 t = a t=a t=a 到时间 t = b t=b t=b 的定积分。使用微积分基本定理, d x d t \frac{ d x}{ d t} dtdx a a a b b b 的积分必须为
x ( b ) − x ( a ) = ∫ a b d x d t d t = ∫ a b ( m sin ⁡ t + n t 3 ) d t = − m cos ⁡ b + n b 4 / 4 − ( − m cos ⁡ a + n a 4 / 4 ) . \begin{aligned} x(b)-x(a) & =\int_a^b \frac{ d x}{ d t} d t \\ & =\int_a^b\left(m \sin t+n t^3\right) d t \\ & =-m \cos b+n b^4 / 4-\left(-m \cos a+n a^4 / 4\right) . \end{aligned} x(b)x(a)=abdtdxdt=ab(msint+nt3)dt=mcosb+nb4/4(mcosa+na4/4).
我们可以用不同的方式编写解。我们可以用任意时间 t t t 替换 b b b
x ( t ) = − m cos ⁡ t + n t 4 / 4 + m cos ⁡ a − n a 4 / 4 + x ( a ) . x(t)=-m \cos t+n t^4 / 4+m \cos a-n a^4 / 4+x(a) . x(t)=mcost+nt4/4+mcosana4/4+x(a).
这种形式非常明显地表明解 x ( t ) x(t) x(t) 如何依赖于初始条件 x ( t 0 ) = x 0 x\left(t_0\right)=x_0 x(t0)=x0。如果 x ( 7 ) = 5 x(7)=5 x(7)=5,那么
x ( t ) = − m cos ⁡ t + n t 4 / 4 + m cos ⁡ 7 − n 7 4 / 4 + 5 x(t)=-m \cos t+n t^4 / 4+m \cos 7-n 7^4 / 4+5 x(t)=mcost+nt4/4+mcos7n74/4+5
另一方面,如果我们不关心常数的形式,我们可以将通解写为
x ( t ) = − m cos ⁡ t + n t 4 / 4 + C x(t)=-m \cos t+n t^4 / 4+C x(t)=mcost+nt4/4+C
到目前为止,我们看到的 ODE 示例可以简单地通过积分来求解。它们如此简单的原因是 d x d t \frac{ d x}{ d t} dtdx 的方程不依赖于函数 x ( t ) x(t) x(t),而仅依赖于变量 t t t。另一方面,一旦方程同时依赖于 d x d t \frac{ d x}{ d t} dtdx x ( t ) x(t) x(t),我们就需要做更多的工作来求解函数 x ( t ) x(t) x(t)

这是一个包含 x ( t ) x(t) x(t) 的 ODE:
d x d t = a x ( t ) + b \frac{ d x}{ d t}=a x(t)+b dtdx=ax(t)+b
💦Python自由落体示例

自由落体中的点质量 P P P

  • 重力场 g ⃗ = ( 0 , − g ) \vec{g}=(0,-g) g =(0,g)
  • 质量 m m m
  • 初始位置 P 0 = ( 0 , 0 ) P_0=(0,0) P0=(0,0)
  • 初始速度 V ⃗ 0 = ( v x 0 , v y 0 ) \vec{V}_0=\left(v_{x 0}, v_{y 0}\right) V 0=(vx0,vy0)

问题数学表述:
{ x ¨ = 0 y ¨ = − g \left\{\begin{array}{l} \ddot{x}=0 \\ \ddot{y}=-g \end{array}\right. {x¨=0y¨=g
封闭解:
{ x ( t ) = v x 0 t y ( t ) = − g t 2 2 + v y 0 t \left\{\begin{array}{l} x(t)=v_{x 0} t \\ y(t)=-g \frac{t^2}{2}+v_{y 0} t \end{array}\right. {x(t)=vx0ty(t)=g2t2+vy0t

import numpy as np
import matplotlib.pyplot as plt
import matplotlib as mpl
tmax = .2
t  = np.linspace(0., tmax, 1000)
x0, y0   = 0., 0.
vx0, vy0 = 1., 1.
g = 10.
x = vx0 * t
y = -g  * t**2/2. + vy0 * t
fig = plt.figure()
ax.set_aspect("equal")
plt.plot(x, y, label = "Exact solution")
plt.grid()
plt.xlabel("x")
plt.ylabel("y")
plt.legend()
plt.show()

任何 ODE 都可以重新表述为一阶系统方程。我们假设
X = [ X 0 X 1 X 2 X 3 ] = [ x y x ˙ y ˙ ] X=\left[\begin{array}{l} X_0 \\ X_1 \\ X_2 \\ X_3 \end{array}\right]=\left[\begin{array}{l} x \\ y \\ \dot{x} \\ \dot{y} \end{array}\right] X= X0X1X2X3 = xyx˙y˙
结果为:
X ˙ = [ x ˙ y ˙ x ¨ y ¨ ] \dot{X}=\left[\begin{array}{l} \dot{x} \\ \dot{y} \\ \ddot{x} \\ \ddot{y} \end{array}\right] X˙= x˙y˙x¨y¨
然后,初始二阶方程可以重新表述为:
X ˙ = f ( X , t ) = [ X 2 X 3 0 − g ] \dot{X}=f(X, t)=\left[\begin{array}{c} X_2 \\ X_3 \\ 0 \\ -g \end{array}\right] X˙=f(X,t)= X2X30g
一般问题,求解 Y ˙ = f ( Y , t ) \dot{Y}=f(Y, t) Y˙=f(Y,t)

一般公式:
X ˙ = f ( X , t ) \dot{X}=f(X, t) X˙=f(X,t)

  • 近似解:需要误差估计
  • 离散时间: t 0 、 t 1 、 … t _0、t _1、\ldots t0t1
  • 时间步 d t = t i + 1 − t i d t=t_{i+1}-t_i dt=ti+1ti

💦欧拉法:
X i + 1 = X i + f ( X , t i ) d t X_{i+1}=X_i+f\left(X, t_i\right) d t Xi+1=Xi+f(X,ti)dt

dt = 0.02 
X0 = np.array([0., 0., vx0, vy0])
nt = int(tmax/dt) 
ti = np.linspace(0., nt * dt, nt)def derivate(X, t):return np.array([X[2], X[3], 0., -g])def Euler(func, X0, t):dt = t[1] - t[0]nt = len(t)X  = np.zeros([nt, len(X0)])X[0] = X0for i in range(nt-1):X[i+1] = X[i] + func(X[i], t[i]) * dtreturn X%time X_euler = Euler(derivate, X0, ti)
x_euler, y_euler = X_euler[:,0], X_euler[:,1]plt.figure()
plt.plot(x, y, label = "Exact solution")
plt.plot(x_euler, y_euler, "or", label = "Euler")
plt.grid()
plt.xlabel("x")
plt.ylabel("y")
plt.legend()
plt.show()

🔗参阅一:计算思维

🔗 参阅二:亚图跨际

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

note-网络是怎样连接的3 集线器、交换机和路由器

助记提要 双绞线抑制噪声的原理集线器的工作交换机的工作过程交换机维护MAC地址表的方式交换机特殊情况下的操作 3种全双工模式的特点自动协商的原理路由器组成路由表内容路由器工作过程路由器和交换机的区别地址转换的基本原理 3章 从网线到网络设备 探索集线器、交换机和路…

IO端口编址

统一编址 特点 独立编址 特点 内存地址分配 区别 应用 IO端口地址译码 硬件上的实现 示例1: 示例2: IO指令 软件上的实现 示例

2024最佳画图软件合集,操作简单无需下载!

随着数字时代的到来,绘画软件已经成为创造性表达和艺术创作不可或缺的工具。无论你是设计师、艺术家,还是只是对创作充满热情,2024年的绘画软件集都为你提供了各种各样的选择,这样你就可以在数字画布上释放你的想法。本文将重点推…

XV4001系列陀螺仪传感器广泛用于车载导航系统

随着汽车电子化趋势的加速,越来越多的汽车配备一系列先进的车载导航系统,这些导航系统功能的实现都依赖于精确的传感器数据(位置、车速、转向角度、车轮转速等)。传感器作为这些系统的核心组件,其准确性和可靠性直接影响到整个导航系统的性能…

大模型时代,掌握Event Stream技术提升Web响应速度

大模型时代,每天搜索都可能会用到一种或多种大模型,在大文本输出的时候,页面是一字一字,一段一段的慢慢输出出来的,这背后是如何实现的呢?我们以KIMI为例 先抓个请求 我们发现界面展示是一句话,但是接口返回的时候是一个字一个字的。 普通请求 多了Event Stream的处理 …

头歌OpenGauss数据库-I.复杂查询第3关:统计总成绩

本关任务:计算每个班的语文总成绩和数学总成绩,要求科目中低于60分的成绩不记录总成绩。 tb_score结构数据: namechinesemathsA8998B9989C5566D8866E5566F8899tb_class表结构数据: stunameclassnameAC1BC2CC3DC2EC1FC3--#请在此添加实现代码 --# # # # # # # # # # Begin #…

DDoS攻击的最新动态及市场趋势分析

随着数字化转型的加速和网络连接设备的增加,分布式拒绝服务(Distributed Denial of Service, DDoS)攻击已经成为全球网络安全领域的一大威胁。根据最新的市场研究报告,预计到2028年,DDoS防护软件市场的复合年增长率将达到14%以上,…

爬虫实训案例:中国大学排名

近一个月左右的时间学习爬虫,在用所积累的知识爬取了《中国大学排名》这个网站,爬取的内容虽然只是可见的文本,但对于初学者来说是一个很好的练习。在爬取的过程中,通过请求数据、解析内容、提取文本、存储数据等几个重要的内容入…

qmt量化交易策略小白学习笔记第10期【qmt编程之获取股票订单流数据--内置Python】

qmt编程之获取股票订单流数据 qmt更加详细的教程方法,会持续慢慢梳理。 也可找寻博主的历史文章,搜索关键词查看解决方案 ! 感谢关注,需免费开通量化回测与咨询实盘权限,可以和博主联系! 获取股票订单流…

Undet for SketchUp 2023.3 点云建模软件 支持支持草图大师sketchup2021-2022-2023

1.Undet for sketchup 2023.3支持草图大师sketchup2021-2022-2023。支持机载雷达扫描、车载扫描还是地面扫描,对AEC行业用户来说,真正需要的是如何将这些数据快速处理为三维模型,这样才能将这些信息延展到BIM领域发挥效用。因此面对这些海量的…

开源大模型与闭源大模型:谁主沉浮?

目录 🍉引言 🍉数据隐私 🍈开源大模型的优势与挑战 🍍优势: 🍍挑战: 🍈闭源大模型的优势与挑战 🍍优势: 🍍挑战: &#x1f34…

openwrt设置开机自启 tailscale为例

首先下载 tailscale 到 /root 目录下,并按照以下命令运行一次 /root/tailscale/tailscaled --state/root/tailscale/tailscaled.state & /root/tailscale/tailscale up &弹出登录地址并授权即可 创建一个启动脚本位置在/etc/init.d下 vim /etc/init.d/ta…

云计算如何保障数据的安全性和隐私性?

云计算通过多种技术和措施来保障数据的安全性和隐私性。以下是一些常见的安全措施: 数据加密:云计算服务提供商使用数据加密技术来保护数据的机密性。数据在传输过程中使用传输层安全协议(TLS)进行加密,存储在云中时也…

本地idea连接虚拟机linux中的docker进行打包镜像上传--maven的dockerfile-maven-plugin插件

项目名必须是英文,-,.,_,这些数字,idea需要管理员运行,因为idea控制台mvn命令需要管理员权限才能运行(maven需配置环境变量)改linux中的Docker服务文件,使用2375 进行非加密通信,然后加载重启 2.1 #修改Docker服务文件 vi /lib/systemd/system/docker.service ​ # 通常使…

网络模型-PoE技术

一、PoE简介 以太网供电PoE(Powerover Ethernet)是指通过以太网网络进行供电,也被称为基于局域网的供电系统PoL(PoweroverLAN)或有源以太网(Active Ethernet)。 1、PoE的优势: 可靠: 电源集中供电,备份方便。连接简捷: 网络终端不需外接电源&#xf…

开源博客项目Blog .NET Core源码学习(25:App.Hosting项目结构分析-13)

本文学习并分析App.Hosting项目中后台管理页面的文章管理页面。   文章管理页面用于显示、检索、新建、编辑、删除文章数据,以便在前台页面的首页、文章专栏、文章详情页面显示文章数据。文章管理页面附带一新建及编辑页面,以支撑新建和编辑文章数据。…

【传知代码】transformer-论文复现

文章目录 概述原理介绍模型架构 核心逻辑嵌入表示层注意力层前馈层残差连接和层归一化编码器和解码器结构 数据处理和模型训练环境配置小结 本文涉及的源码可从transforme该文章下方附件获取 概述 Transformer模型是由谷歌在2017年提出并首先应用于机器翻译的神经网络模型结构…

IDEA的妙用

IDEA 安装破解 复制JetbrainsIdesCrack-4.2.jar到安装目录下 修改安装目录下的bin目录的idea64.exe.vmoptions: 最后一行添加:-javaagent:E:\develop\JetBrains\IntelliJ IDEA 2018.3.5\bin\JetbrainsIdesCrack-4.2.jar(注意:使用自己的路…

ts文档+type-challenges

ts不错的学习文档 文档1 文档2 tsconfig配置 实现pick 挑战 从对象中选出指定对象key的类型 type MyPick<T, K extends keyof T> {[key in K]:T[key] }实现只读 挑战 type MyReadonly<T> {readonly [key in keyof T]:T[key] }返回函数类型 type MyReturnT…

Flutter笔记:Widgets Easier组件库-使用隐私守卫

Flutter笔记 Widgets Easier组件库&#xff1a;使用隐私守卫 - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite&#xff1a;http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAddress of this article:https:…