使用 SymPy 求解方程组

2024-01-07

我正在尝试使用 SymPy 0.7.1 求解一组方程:

from sympy import *
equations = [
    Eq(S('vf'), S('vi + a*t')),
    Eq(S('d'), S('vi*t + 1/2*a*t**2')),
    Eq(S('a'), S('10')),
    Eq(S('d'), S('60')),
    Eq(S('vi'), S('5'))
]
print solve(equations)

产生正确的结果,但顺序很奇怪:

[(-4, 10, 60, -35, 5), (3, 10, 60, 35, 5)]

如何确定哪个值适合哪个变量?变量顺序似乎是任意的。文档建议 http://docs.sympy.org/0.7.1/modules/solvers/solvers.html提供额外的参数:

print solve(equations, var('a'), var('d'), var('t'), var('vi'), var('vf'))

但这似乎并没有什么效果。

预先感谢您的任何帮助!


我也无法弄清楚输出。最初我认为问题是因为您正在创建新的 var 对象而不是重用原始对象,但事实证明并非如此。如果可能的话,我会简单地升级到 0.7.1-git,这里的表现要好得多:

>>> import sympy
>>> sympy.__version__
'0.7.1-git'
>>> from sympy import S, Eq, solve
>>> 
>>> vf, d, a, vi, t = S('vf d a vi t'.split())
>>> equations = [
...     Eq(vf, vi+a*t),
...     Eq(d, vi*t + a*t**2/2),
...     Eq(a, 10),
...     Eq(d, 60),
...     Eq(vi, 5)]
>>> 
>>> solve(equations)
[{vf: -35, t: -4, a: 10, vi: 5, d: 60}, {vf: 35, t: 3, a: 10, vi: 5, d: 60}]
>>> solve(equations, [a, t, vi, vf, d])
[(10, -4, 5, -35, 60), (10, 3, 5, 35, 60)]

默认情况下有很好的词典,并且指定顺序是有效的。

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

使用 SymPy 求解方程组 的相关文章

  • 如何从Python请求库正确返回http响应(想要一个Python反向代理)

    这个问题继续自here https stackoverflow com questions 48635552 how to programmatically communicate with apache 我想创建一个反向代理 它允许我托管
  • 是否有与 Java 的 IdentityHashMap 等效的 Python 版本?

    我正在遍历一个数据结构 想要构建一个映射 X gt Y 的字典 其中 X 是我正在遍历的数据结构中的一个字段 Y 是我正在动态构建的数据结构中的一个字段 X 是不可散列的类型 Java的IdentityHashMap的目的是模拟动态字段 由
  • 如何配置 VS Code 以便能够单步执行调试 Python 脚本时加载的共享库 (.so)?

    从命令行使用 gdb 我可以在加载共享库时中断 知道我有共享库的源代码 如何在 VS Code 中获得相同的行为 对我来说 它以某种方式起作用 这是我的设置 Ubuntu 18 04 调试我从 Python3 加载的 C 共享库 更具体地说
  • Python:如何使用 f 字符串进行数学运算

    我正在尝试使用 python 3 6 的新 f 字符串功能编写自己的 99 瓶啤酒实现 但我被困住了 def ninety nine bottles for i in range 10 0 1 return f i bottles of b
  • 如何使用Python从pdf文件中删除页面?

    我有一些超过 500 页的 pdf 文件 但每个文件中只需要几页 有必要保留文档的标题页 我确切地知道程序应该删除的页数 如何使用安装在 MS Visual Studio 上的 Python 2 7 环境来完成此操作 尝试使用PyPDF2
  • 意外的缩进错误,但缩进看起来正确

    我一直在尝试运行此代码 但它引发了缩进错误 无论我尝试什么 结果都是一样的 如果我删除之前的缩进def str self 和代码的其余部分 它工作正常 但在输出时 它不显示问题 而是显示 问题对象 def str self Indentat
  • Flask / Werkzeug - 套接字卡在 CLOSE_WAIT 中

    我遇到过一种情况 API 构建于Flask 宁静 https github com flask restful flask restful间歇性变得无反应 目前它从 Werkzeug 运行 我知道它仅用于非生产用途 并且是单线程的 让事情变
  • “unicode”对象没有属性“_meta”

    我正在尝试创建一个视图 用户在其中从下拉菜单中选择一个选项 提交它 然后返回一些数据 具体来说 他们将从数据库中的模型中进行选择 并返回该类的所有实例 我使用 django tables2 输出数据 以便可以排序 但这是我的症结所在 Vie
  • 允许 help() 对部分函数对象起作用

    我正在努力确保跑步help 在 Python 2 7 REPL 显示 doc 对于一个被包装的函数functools partial 目前正在运行help on a functools partial 功能 显示 doc of the fu
  • 忽略 NaN 的列表理解

    我正在尝试构建一个列表理解 其条件是不导入 nan 值 但运气不佳 以下是当前代码以及结果输出 什么条件会将 nan 从列表中删除 def generate labels filtered df columnName return labe
  • Django:在管理界面中显示多对多项目的列表

    这可能是一个简单的问题 但我似乎无法理解 我在 models py 中有两个简单的模型 Service 和 Host Host services 与 Service 具有 m2m 关系 换句话说 一台主机有多个服务 一个服务可以驻留在多个主
  • lxml 属性需要完整的命名空间

    下面的代码使用 lxml python 3 3 从 Excel 2003 XML 工作簿中读取表格 该代码工作正常 但是为了通过 get 方法访问 Data 元素的 Type 属性 我需要使用键 urn schemas microsoft
  • 动态组装 Python 模块,动态导入

    我正在努力让自己熟悉importlib钩子 我想实现直接导入用其他语言编写的非Python文件并维护源映射的能力 因此提高SyntaxError带有行号的 s 仍然会给出有意义的堆栈跟踪 我加载外部文件的方法是组装 Pythonic 源代码
  • 访问具有动态名称的变量的值

    我发现了几个主题 其中讨论了在循环中动态创建单个变量是不好的做法 最好使用字典 就我而言 我不需要动态创建它们 我想要access他们在循环中 我不想用字典对于他们来说 因为这些变量在代码中的很多地方使用 并且只有一个地方我需要这种动态访问
  • 从 DST 感知日期时间对象在 Dataframe 中创建 pandas DatetimeIndex

    我从在线 API 收集了一系列数据点 每个数据点都有一个值和一个 ISO 时间戳 不幸的是我需要循环它们 所以我将它们存储在临时的dict然后从中创建一个 pandas 数据帧并将索引设置为时间戳列 简化示例 from datetime i
  • 无法使用 pandas 获取平均日期

    我有一个时间序列数据集 我想从中获取平均日期 这是一个人为的示例 显示 pandas datetime64 对象的溢出错误 import pandas as pd import numpy as np rng pd date range 2
  • 我可以在 psycopg2 中使用 md5 身份验证吗?

    经过两个小时的阅读文档 源代码和帮助线程后 我放弃了 我无法让 psycopg2 使用 md5 字符串进行身份验证 根据this http bytes com topic python answers 42597 psycopg authe
  • AWS Cognito 作为网站的 Django 身份验证后端

    我对 Cognito 的理解是 它可以用来代替本地 Django 管理数据库来对网站的用户进行身份验证 然而 我没有找到任何带有通过 Cognito 登录屏幕的基本 Hello World 应用程序的详细示例 如果有人可以发布一篇文章 逐步
  • 在 Django 1.7 中使用 html 发送电子邮件

    In 发送邮件 我们有一个新参数 html message Docs https docs djangoproject com en dev topics email send mail I have 电子邮件 html文件 我想发送我的消
  • 阅读 setup.py 中的 README

    所以 我想要long description我的设置脚本的内容是我的README md文件 但是当我这样做时 源代码发行版的安装将失败 因为python setup py sdist不复制自述文件 有没有办法让distutils core

随机推荐

  • Google Recaptcha 的内容安全策略标头指令

    内容安全政策 https content security policy com 标头指令谷歌验证码 https developers google com recaptcha docs faq im using content secur
  • 鉴于 b 始终非零,为什么 `b ? --b : ++b` 有效,但 `--b` 无效?

    我试图使用递归将两个整数相乘 并意外地编 写了这段代码 the original version int multiply int a int b if b return 0 else return a multiply a b b b a
  • 逻辑与按位运算符 AND

    我不明白之间的区别 and and 即使我读了一些其他有关它的问题 我的代码是 f 1 x 1 f 1 x 1 Out 60 True f 1 and x 1 Out 61 True f 1 x 2 f 1 and x 2 Out 64 T
  • Mac 上 Webkit 中手势的 Javascript 事件?

    是否可以使用 Javascript 在 Mac 桌面上的 Webkit 上获取手势事件 例如 3 指向后滑动 我用谷歌搜索了几次 但没有找到任何东西 否则 我想我可以将它们从 Cocoa 传递到 WebView 我对三指滑动返回特别感兴趣
  • 使用 scilab 查找交点

    如何使用以下方法找到下图中的交点fsolve功能 from scilab 这是我到目前为止所尝试过的 function y f x y 30 0 x endfunction function y g x y zeros x k1 find
  • 为什么 Fluent NHibernate AutoMappings 在 Id 上添加下划线(例如 Entity_id)?

    您好 使用流畅的 nhibernate 自动映射 来映射这个 public virtual int Id get set snip public virtual MapMarkerIcon MapMarkerIcon get set to
  • 从 github repo 子文件夹中 npm 安装包

    当包位于子文件夹内时 是否可以从 github 安装 npm 包 例如 我们有 Microsoft BotBuilder 存储库 https github com Microsoft BotBuilder https github com
  • Angular2 完全销毁当前组件

    我尝试搜索 google 和 stackoverflow 但找不到答案 所以我的问题很简单 如何删除角度 2 4 中的当前组件 example div Remove Current Component div remove event th
  • GoogleMap InfoWindow 内的单击事件

    我想在信息窗口和信息窗口内的按钮中显示谷歌地图位置详细信息 以便单击该按钮后 将显示一个新的 QMainwindow 此时我只能显示带有关闭按钮的默认信息窗口 是否可以在信息窗口内添加可点击事件 您可以将 InfoWindow 的内容设置为
  • 在 IMAP 中创建文件夹不起作用

    我正在努力在 IMAP 中创建一个文件夹 我正在使用 gmail 到目前为止 这是我尝试过的 public boolean createFolder String folderName throws MessagingException s
  • 声明式与编程式 GraphQL

    我正在将 GraphQL 用于新的全栈项目 并且我已经研究了许多概念并开始了我的第一个项目 我的问题与使用声明式与编程式 GraphQL 架构定义有关 基本上我能看到的都在GraphQL 官方网站 http graphql org 使用声明
  • 使用 Interface Builder 检测 UIView 上的触摸

    如何检测触摸UIviewController for a UIView仅使用代码 没有 Interface Builder 我找到了 TouchBegan 方法 但它从未被调用过 我没有初始化有关此方法的任何其他内容 void touche
  • 是否可以在不登录的情况下冒充用户?

    是否可以在不提供用户名 密码的情况下模拟用户 基本上 我想得到CSIDL LOCAL APPDATA对于使用以下命令的用户 不是当前用户 ShGetFolderPath 功能 我目前拥有的只是该用户的 SID 您可以通过调用 ZwCreat
  • Nodejs - HTTP 范围支持/部分文件下载

    我正在创建一个音乐网络应用程序 用于流式传输我存储在 MongoDB GridFS 中的 MP3 我的问题 如何添加 http 范围支持 以便我可以开始流式传输音频文件 1 2 而无需等待缓冲区 我知道GridFS支持读取X字节 X字节 所
  • 为什么选择 UnityEvent 而不是本机 C# 事件?

    我的意思是 UnityEvents 比原生 C 事件慢 并且它们仍然存储对接收器的强引用 因此 我发现使用 UnityEvents 而不是原生 C 事件的唯一有效原因是它们与编辑器的集成 我是否忽略了什么 我是否忽略了什么 不 你没有忽视任
  • Java - 将二进制解析为长整数[重复]

    这个问题在这里已经有答案了 我有一个数字的二进制表示形式 想将其转换为 long 我有 Java 8 public class TestLongs public static void main String args String a L
  • Android WebView 下载不工作

    我创建了一个包含 html 表单页面的 Web 视图 在提交表单 使用 post 方法 时 它应该下载该文件 我已经实施了webview download listener这样我就可以处理下载了 Override public void o
  • 如何手动创建 UISplitView?

    我有一个应用程序将导航到 UISplitView 完全在另一个视图内 如下所示 void switchToMyDayView NSLog Show My Day Screen if self myDayController view sup
  • Dart 中用于获取数据类型大小的函数/运算符

    我想知道 Dart 中分配给不同数据类型的内存量 但我找不到函数 运算符 例如sizeofC 中的运算符来执行此操作 我已经提到了dart core为此目的图书馆 但仍然找不到任何合适的方法 那么 是否有其他方法可以获取数据类型的大小 或者
  • 使用 SymPy 求解方程组

    我正在尝试使用 SymPy 0 7 1 求解一组方程 from sympy import equations Eq S vf S vi a t Eq S d S vi t 1 2 a t 2 Eq S a S 10 Eq S d S 60