scipy 中的复杂 ODE 系统

2024-03-20

我在求解光学布洛赫方程时遇到困难,该方程是具有复数值的一阶 ODE 系统。我发现 scipy 可以解决这样的系统,但是他们的网页提供的信息太少,我几乎无法理解。

我有 8 个耦合一阶 ODE,我应该生成一个如下函数:

def derv(y):
    compute the time dervative of elements in y
    return answers as an array

then do complex_ode(derv)

我的问题是:

  1. 我的 y 不是列表而是矩阵,我如何给出当前输出 适合复杂的 ode() 吗?
  2. complex_ode()需要一个雅可比矩阵,我不知道如何开始构建一个 它应该是什么类型?
  3. 我应该把初始条件放在哪里,就像普通颂歌中那样 时间林空间?

这是scipy的complex_ode链接:http://docs.scipy.org/doc/scipy/reference/ generated/scipy.integrate.complex_ode.html http://docs.scipy.org/doc/scipy/reference/generated/scipy.integrate.complex_ode.html

谁能给我提供更多信息,以便我可以学到更多东西。


我认为我们至少可以为您指明正确的方向。光学 布洛赫方程是一个在科学界很好理解的问题 社区,虽然不是我的:-),所以互联网上已经有解决方案 对于这个特殊问题。

http://massey.dur.ac.uk/jdp/code.html http://massey.dur.ac.uk/jdp/code.html

但是,为了满足您的需求,您提到使用complex_ode,我想 很好,但我认为简单的 scipy.integrate.ode 也可以正常工作 根据他们的文档:

 from scipy import eye
 from scipy.integrate import ode

 y0, t0 = [1.0j, 2.0], 0

 def f(t, y, arg1):
     return [1j*arg1*y[0] + y[1], -arg1*y[1]**2]
 def jac(t, y, arg1):
     return [[1j*arg1, 1], [0, -arg1*2*y[1]]]
 r = ode(f, jac).set_integrator('zvode', method='bdf', with_jacobian=True)
 r.set_initial_value(y0, t0).set_f_params(2.0).set_jac_params(2.0)
 t1 = 10
 dt = 1
 while r.successful() and r.t < t1:
     r.integrate(r.t+dt)
     print r.t, r.y

您还可以享受到更成熟、更优秀的年长者的额外好处 记录的功能。我很惊讶你有 8 个而不是 9 个耦合 ODE,但我 当然你比我更了解这一点。是的,你是对的,你的功能 应该是以下形式ydot = f(t,y),你称之为def derv()但你是 需要确保你的函数至少有两个参数 喜欢derv(t,y)。如果你的y在矩阵中,没问题!只需“重塑”它 这derv(t,y)函数如下:

Y = numpy.reshape(y,(num_rows,num_cols));

只要num_rows*num_cols = 8,你的 ODE 数量应该没问题。然后 在计算中使用矩阵。一切完成后,请务必返回 向量而不是矩阵,例如:

out = numpy.reshape(Y,(8,1));

雅可比行列式不是必需的,但它可能允许计算继续进行 更快。如果您不知道如何计算,您可能需要咨询 维基百科或微积分教科书。这非常简单,但可能非常耗时。

至于初始条件,您可能应该已经知道那些应该是什么 是,无论它是复杂的还是实值的。只要您选择的值是 在合理范围内,应该没有多大关系。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

scipy 中的复杂 ODE 系统 的相关文章

  • AttributeError:'function'对象在pandas中没有属性'bar'

    我有一个 pandas 数据框 它是 pandas 数据框类型 如下所示 type df Out 176 pandas core frame DataFrame 但是 当我尝试在此数据框上使用任何绘图函数 如条形图 时 会出现如下错误 df
  • 分配列表的多个值

    我很想知道是否有一种 Pythonic 方式将列表中的值分配给元素 为了更清楚 我要求这样的事情 myList 3 5 7 2 a b c d something myList So that a 3 b 5 c 7 d 2 我正在寻找比手
  • 区分大小写的实体识别

    我的关键字全部以小写形式存储 例如 折扣耐克鞋 我正在尝试对其执行实体提取 我遇到的问题是 spaCy 在 NER 方面似乎区分大小写 请注意 我不认为这是 spaCy 特有的 当我跑步时 doc nlp u i love nike sho
  • Python Numpy Reshape错误[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我在尝试重塑 3D numpy 数组时遇到一个奇怪的错误 数组 x 的形状为 6 10 300 我想将其重塑为 6 3000 我正
  • Python 中 time.sleep 和多线程的问题

    我对 python 中的 time sleep 函数有疑问 我正在运行一个脚本 需要等待另一个程序生成 txt 文件 虽然 这是一台非常旧的机器 所以当我休眠 python 脚本时 我遇到了其他程序不生成文件的问题 除了使用 time sl
  • 当我从本地计算机更改为虚拟主机时,从 python 脚本调用 pdftotext 不起作用

    我编写了一个小的 python 脚本来解析 提取 PDF 中的信息 我在本地机器上测试了它 我有 python 2 6 2 和 pdftotext 版本 0 12 4 我正在尝试在我的虚拟主机服务器 dreamhost 上运行它 它有 py
  • 将多索引转换为行式多维 NumPy 数组。

    假设我有一个类似于以下示例的 MultiIndex DataFrame多索引文档 http pandas pydata org pandas docs stable advanced html gt gt gt df 0 1 2 3 fir
  • 烧瓶 - 404 未找到

    我是烧瓶开发的新手 这是我在烧瓶中的第一个程序 但它向我显示了这个错误 在服务器上找不到请求的 URL 如果您输入了网址 请手动检查拼写并重试 这是我的代码 from flask import Flask app Flask name ap
  • 打印一份拥有多个家庭的人员名单,每个家庭都有多个电话号码

    我有一类 Person 它可以有多个 Home 每个 Home 都有一个或多个电话号码 我已经定义了类 但现在我正在尝试创建一个视图 其中列出每个人的所有家庭以及每个家庭地址的所有电话号码 类似于 john smith 123 fake s
  • Django Web 应用程序中的 SMTP 问题

    我被要求向使用 Django Python 框架实现的现有程序添加一个功能 此功能将允许用户单击一个按钮 该按钮将显示一个小对话框 表单以输入值 我确实编写了一些代码 显示电子邮件已发送的消息 但实际上 它没有发送 My code from
  • 如何仅注释堆积条形图的一个类别

    我有一个数据框示例 如下所示 data Date 2021 07 18 2021 07 19 2021 07 20 2021 07 21 2021 07 22 2021 07 23 Invalid NaN 1 1 NaN NaN NaN N
  • 如何将 Pyspark Dataframe 标题设置到另一行?

    我有一个如下所示的数据框 col1 col2 col3 id name val 1 a01 X 2 a02 Y 我需要从中创建一个新的数据框 使用 row 1 作为新的列标题并忽略或删除 col1 col2 等行 新表应如下所示 id na
  • 同一台机器上有多个Python版本?

    Python 网站上是否有关于如何在 Linux 上的同一台计算机上安装和运行多个版本的 Python 的官方文档 我可以找到无数的博客文章和答案 但我想知道是否有 标准 官方方法可以做到这一点 或者这一切都取决于操作系统 我认为它是完全独
  • Bokeh 中单独的节点和边缘悬停工具?

    我正在尝试为 Bokeh 中的节点和边缘获取单独的悬停工具提示 但未能使其正常工作 有人可以指出我做错了什么吗 我相信代码应该如下所示 from bokeh io import show output notebook from bokeh
  • 预测测试图像时出现错误 - 无法重塑大小数组

    我正在尝试使用 TensorFlow 和 Keras 在 Python 中进行图像识别 并且我已经关注了下面的博客 https stackabuse com image recognition in python with tensorfl
  • 如何全局安装 Python(开发)依赖项,以便我不必在每个 venv 中重新安装它们?

    我希望在为每个项目创建的每个 venv 虚拟环境 中都可以使用一些 Python 依赖项 例如 black flake8 和 pytest 这可能吗 如果可以 如何实现 我想安装这三个once在我的主要 Python 安装下 我必须在启动新
  • 更新 matplotlib 中颜色条的范围

    我想更新一个contourf在函数内绘制 效果很好 然而 数据的范围发生了变化 因此我还必须更新颜色条 这就是我未能做到的地方 请参阅以下最小工作示例 import matplotlib pyplot as plt import numpy
  • 如何在 Python 中跟踪日志文件?

    我想在 Python 中提供 tail F 或类似内容的输出 而无需阻塞或锁定 我找到了一些非常旧的代码来做到这一点here http code activestate com recipes 436477 filetailpy 但我认为现
  • 更改用作函数全局作用域的字典

    我想做一个 purePython 的装饰器 其中一部分是能够有选择地禁止访问函数的全局范围 有没有一种方法可以以编程方式更改哪个字典事物充当函数的全局 外部作用域 因此 例如在下面我希望能够拦截对f in h并抛出错误 但我想允许访问g因为
  • 在 python 中使用高精度时间戳

    嘿 我正在使用 python 处理日期时间 我想知道解析这个时间戳的最佳方法是什么 时间戳是ISO标准 这里是一个例子 2010 06 19T08 17 14 078685237Z 现在到目前为止我已经使用过 time datetime d

随机推荐

  • spring data redis主从配置

    以下是我的 jedis 配置 Bean public JedisConnectionFactory getJedisConnectionFactory JedisConnectionFactory jedisConnectionFactor
  • 从包含多个文档的语料库中删除行

    我的语料库中有 4000 个文本文档 作为数据清理的一部分 我想从每个文档中删除包含特定单词的行 例如 library tm doc corpus lt VCorpus DirSource C TextMining Prototype pa
  • iOS 13中的prefersStatusBar隐藏问题

    大家好 我想隐藏我的状态栏 in a View Controller但它似乎不起作用 我使用了该功能 override var prefersStatusBarHidden Bool return true 我还设置了View contro
  • Parse Javascript SDK -- 将客户端 `user` 保存为服务器端 ` Parse.User.current()`

    我可能在概念上做错了事情 所以请告诉我我是否错了 我正在使用 Parse 的 Facebook 登录来登录用户客户端 然后我尝试发布这个user object到我的服务器 这样我就可以在服务器端拥有该用户对象 但我在文档中找不到与此相关的任
  • xcode swift 如何分割图像?

    我正在使用 Swift 2 0 我想将图像分割成多个部分 我知道这是重复的 但它们的语法很旧 我在更新时遇到问题 update Xcode 8 2 1 斯威夫特 3 0 2 您可以添加此扩展来分割图像 extension UIImage v
  • ng 升级命令将 cli 从 v7 升级到 v8 失败

    用于将 cli 版本从 v7 项目更新到 v8 的 ng Upgrade 命令失败 首先手动尝试升级 cli 也会失败 ng update angular cli 您的全局 Angular CLI 版本 8 0 1 高于您的本地版本 版本
  • sklearn RandomForestClassifier 与 auc 方法中 ROC-AUC 分数的差异

    我分别从 sklearn 的 RandomForestClassifier 和 roc curve auc 方法收到不同的 ROC AUC 分数 以下代码得到了 0 878 的 ROC AUC 即 gs best score def tra
  • 斜杠和 python cmd

    我正在尝试使用 cmd 模块来实现 python cmd 我想自动完成文件 所以我实现了一些方法 但是 我看到 complete put self text line begidx endidx 中的文本参数删除了所有 字符 任何人都知道为
  • 如何将 AsParallel 与 async 和 wait 关键字一起使用?

    我正在查看某人的异步示例代码 并注意到其实现方式存在一些问题 在查看代码时 我想知道使用并行方式循环列表是否比正常循环列表更有效 据我所知 性能上的差异非常小 两者都耗尽了每个处理器 并且完成时间都相同 这是第一种方法 var tasks
  • 启动 python windows 服务可执行文件时出错

    我正在尝试按照指示创建一个 python windows 服务 https www thepythoncorner com 2018 08 how to create a windows service in python https ww
  • 如何增加/减少 x 和 y 刻度标签的字体大小[重复]

    这个问题在这里已经有答案了 我似乎在弄清楚如何增加或减少fontsize使用时的 x 和 y 刻度标签matplotlib 我知道有set xticklabels labels fontdict None minor False kwarg
  • sqlalchemy 连接失败但 cx_oracle 成功

    我正在尝试用 Python 连接到 Oracle 服务器 我在 cx Oracle 中可以正常工作 但是当我尝试使用 sqlalchemy 连接时 它失败了 cx Oracle代码 import cx Oracle import panda
  • 我应该如何使用tiny_mce_popup.js 更新 TinyMCE 插件版本 4?

    TinyMCE4 文档目前很糟糕 我有一个与 Ruby on Rails 兼容的插入图像插件 但它依赖于已弃用的tiny mce popup js 没有关于我应该如何更新插件以规避该文件的使用的信息 TinyMCE 4 弃用旧版本file
  • 删除大文件后 git Push

    我不小心提交了 log test log 但从未推送过它 从那以后我做了一个 git rm 来摆脱它 但是当我尝试推送时 我仍然收到大量数据试图传输 git rm 不应该解决这个问题吗 如果没有 我该如何修复它 不要恢复提交然后推送 因为大
  • 使用数据库中的数据填充 IAuthSession

    因此 我根据此处的示例使用 ServiceStack 创建了一个自定义 CredentialsAuthProvider https github com ServiceStack ServiceStack wiki Authenticati
  • 通过 gganimate 制作动画条形图:view_follow 和 coord_flip 的冲突

    我想创建一个动画条形图gganim包裹 条形图的坐标应通过翻转coord flip 即水平条 和 x 轴应根据条的长度通过view follow 考虑以下示例数据 Create example data df lt data frame o
  • 错误“调用可以抛出,但未标记为‘try’并且错误未被处理”

    这段代码出现错误 调用可以抛出 但没有标记 try 并且错误不被处理 我使用的是 Xcode 7 1 最新的 beta 和 swift 2 0 func checkUserCredentials gt Bool PFUser logInWi
  • 具有多租户的 Spring Batch

    我们如何定义针对多个租户运行的 Spring 批处理作业 我已经设置为每晚针对一个数据库模式按顺序运行一系列作业 当前所有作业都从某个位置读取文件并插入到数据库 批处理配置非常基本 我在其中定义了数据源 事务管理器并将作业存储库映射到它 我
  • MongoDB 多个字段上的唯一索引

    我正在使用 MongoDb 数据库 我需要使多个字段唯一 我需要的是 MongoDb 检查是否组合多个字段的值是唯一的 让我们举一个我需要的例子 如果我在添加索引后按此顺序在数据库中添加以下内容 name paul age 21 name
  • scipy 中的复杂 ODE 系统

    我在求解光学布洛赫方程时遇到困难 该方程是具有复数值的一阶 ODE 系统 我发现 scipy 可以解决这样的系统 但是他们的网页提供的信息太少 我几乎无法理解 我有 8 个耦合一阶 ODE 我应该生成一个如下函数 def derv y co