python 解方程 sympy_用Python和Sympy求解方程并得到数值答案

我正试图用sympy来解决方程,但我想得到一个直接的数字答案 . 我的脚本是这样的:

from sympy import *

A,B,V=symbols('A,B,V')

eq1=Eq(630.26*(V-39.0)*V*(V+39)-A+B,0)

eq2=Eq(B,1.36*10**8*(V-39))

eq3=Eq(A,5.75*10**5*V*(V+39.0))

solve([eq1,eq2,eq3], [A,B,V], dict=True)

它为我提供了一长串非常扩展的解决方案 . 举个例子,

[{V: 304.107299632956 - (-5162698.06009073 + 3004043.12120894*I)**(1/3)*(-0.5 + 0.866025403784439*I) - 32920.4469842867/((-5162698.06009073 + 3004043.12120894*I)**(1/3)*(-0.5 + 0.866025403784439*I)), B: 36054592750.082 - 1245.8292864816*I*(-4.36224183723014e+21 + 2.53827793755398e+21*I)**(1/3) + 8.46536389385714e+17/((-4.36224183723014e+21 + 2.53827793755398e+21*I)**(1/3)*(1.0 - 1.73205080756888*I)) + 719.279873914469*(-4.36224183723014e+21 + 2.53827793755398e+21*I)**(1/3), A: 97854838797.9765 - 3957.60119254414*I*(-4.36224183723014e+21 + 2.53827793755398e+21*I)**(1/3) - 3.13901978017549e-5*(-4.36224183723014e+21 + 2.53827793755398e+21*I)**(2/3) - 0.000285202926135405*I*(-4.36224183723014e+21 + 2.53827793755398e+21*I)**(2/3) + 2925.78725273524*(-4.36224183723014e+21 + 2.53827793755398e+21*I)**(1/3)}, {V: 304.107299632956 - (-5162698.06009073 + 3004043.12120894*I)**(1/3) - 32920.4469842867/(-5162698.06009073 + 3004043.12120894*I)**(1/3), B: -1.05776452046245e-5*(4.0015351858068e+22 - 136000000.0*(-4.36224183723014e+21 + 2.53827793755398e+21*I)**(1/3)*(25062979.0 - (-4.36224183723014e+21 + 2.53827793755398e+21*I)**(1/3)))/(-4.36224183723014e+21 + 2.53827793755398e+21*I)**(1/3), A: 97854838797.9765 - 3936.45368131564*(-4.36224183723014e+21 + 2.53827793755398e+21*I)**(1/3) + 5.56956529342379e+24/(-4.36224183723014e+21 + 2.53827793755398e+21*I)**(2/3) + 6.43347823930771e-5*(-4.36224183723014e+21 + 2.53827793755398e+21*I)**(2/3) - 1.15822484655024e+18/(-4.36224183723014e+21 + 2.53827793755398e+21*I)**(1/3)}, {V: 304.107299632956 - 32920.4469842867/((-5162698.06009073 + 3004043.12120894*I)**(1/3)*(-0.5 - 0.866025403784439*I)) - (-5162698.06009073 + 3004043.12120894*I)**(1/3)*(-0.5 - 0.866025403784439*I), B: 36054592750.082 + 8.46536389385714e+17/((-4.36224183723014e+21 + 2.53827793755398e+21*I)**(1/3)*(1.0 + 1.73205080756888*I)) + 719.279873914469*(-4.36224183723014e+21 + 2.53827793755398e+21*I)**(1/3) + 1245.8292864816*I*(-4.36224183723014e+21 + 2.53827793755398e+21*I)**(1/3), A: 97854838797.9765 + 2.31644969310047e+18/((-4.36224183723014e+21 + 2.53827793755398e+21*I)**(1/3)*(1.0 + 1.73205080756888*I)) - 3.21673911965385e-5*(-4.36224183723014e+21 + 2.53827793755398e+21*I)**(2/3) + 5.57155558993486e-5*I*(-4.36224183723014e+21 + 2.53827793755398e+21*I)**(2/3) - 1.11391305868476e+25/((-4.36224183723014e+21 + 2.53827793755398e+21*I)**(2/3)*(1.0 - 1.73205080756888*I)) + 1968.22684065782*(-4.36224183723014e+21 + 2.53827793755398e+21*I)**(1/3) + 3409.06888884012*I*(-4.36224183723014e+21 + 2.53827793755398e+21*I)**(1/3)}]

我当然可以用evalf评估它们,但不是一次性评估它们 . 我正在寻找一种干净的方式,以数字形式接收方程的解 . 我现在已经做了一个解决方法 . 如果有更好的方法,我真的很想知道 . 我打印答案的功能如下:

def printeqsolve(input):

for i in input:

for j in i:

print "%r:" %j, i[j].evalf(chop=True)

print "---"

我还想排除非真实的解决方案,但是当我将符号限制为Real时,找不到解决方案 .

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

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

相关文章

mysql 分析服务_MySQL分析服务器状态_MySQL

概述文章简单介绍了通过一些查询命令分析当前服务器的状态。目录概述获取服务器整体的性能状态SQL操作计数总结步骤获取服务器整体的性能状态首先对一个数据库服务器进行性能优化需要先知道服务器当前主要的性能问题出现在哪里,在这点sql server也是类似&#xff0c…

apache启服务命令_Linux系统重启apache服务命令详解

Linux系统中apache是重要的一个服务,掌握基本操作尤其重要。下面由学习啦小编为大家整理了Linux系统重启apache服务命令详解,希望对大家有帮助!Linux系统重启apache服务命令详解基本的操作方法:本文假设你的apahce安装目录为/usr/local/apach…

python 接口测试 如何写配置文件_python接口自动化测试 - configparser配置文件解析器详细使用...

configparser简介ConfigParser模块已在Python 3中重命名为configparser该模块定义了ConfigParser类。 ConfigParser类实现一种基本的配置文件解析器语言,该语言提供的结构类似于 .ini 文件中的结构ini文件相关知识键值对可用 或者 : 进行分隔section 的名字是区分大…

case是java关键字吗_Java关键字

3. 程序控制语句1) break 跳出,中断break 关键字用于提前退出 for、while 或 do 循环,或者在 switch 语句中用来结束 case 块。break 总是退出最深层的 while、for、do 或 switch 语句。2) continue 继续continue 关键字用来跳转到 for、while 或 do 循环…

java 多线程 临界区_多线程编程的设计模式 临界区模式

临界区模式 Critical Section Pattern 是指在一个共享范围中只让一个线程执行的模式.它是所有其它多线程设计模式的基础,所以我首先来介绍它.把着眼点放在范围上,这个模式叫临界区模式,如果把作眼点放在执行的线程上,这个模式就叫单线程执行模式.首先我们来玩一个钻山洞的游戏,…

java jdom 设置第1行_Java通过jdom操作生成XML文件的实例代码下载

工作需要,要生成xml文件,所以做了个小demo分享一下。看代码吧~ main()里面没什么好说的 该写的都写了public static void main(String[] args) {//调用 DocumentBuilderFactory.newInstance() 方法得到创建 DOM 解析器的工厂DocumentBuilderFactory fact…

java 模拟qq空间登陆_java最新完美实现模拟登录QQ登录QQ空间获取说说

package com.pengliu.config;import com.pengliu.util.http.HttpService;/*** desc: 全局公共属性配置*/public class baseConfig {//项目路径public static String javaProjectPathSystem.getProperty(“user.dir“);//QQ账号public static String qqNum;//QQ密码public stati…

java 对象工厂_Java设计模式之--工厂方式

在分析工厂模式之前,我们先看看普通模式下的Java三层结构。Controller(表现层)-Service(业务层)-Dao(持久层、数据库连接层),基于此三层结构完成JavaWeb相关业务。假设我们要完成的业务是添加员工信息,先创建Dao包,创建EmpDao接口和EmpDaoFac…

mysql 5.7 io 性能 aio_深入理解MySQL的InnoDB引擎

在MySQL中的引擎一文中说了,我们在几乎所有的情况下其实用的都是InnoDB引擎,这里我们就重点再看一下这个引擎,包括他的存储结构,线程模型和数据文件。我们可以通过show engine innodb status \G;(\G只是表示输出结果纵向表格输出)…

mysql 使用场景_MySQLMHA典型使用场景

1 管理节点部署位置1.1. Dedicated Manager server and multiple MySQL (master,slaves) servers 使用专用的管理服务1 管理节点部署位置1.1. Dedicated Manager server and multiple MySQL (master,slaves) servers使用专用的管理服务器管理多组MySQL主从服务器Since MHA Mana…

mysql构建数据立方体_OLAP数据建模工具Workbench的初步使用(数据立方体的建立)

OLAP数据建模工具Workbench的初步使用(数据立方体的建立)概要:1.workbench工具简介2.workbench简单操作(附demo)3.workbench初步使用总结1.workbench工具简介OLAP,(Online Analytical Processing,联机分析处理)。从事相关工作的小伙伴,具体的…

mysql访问60s出现timeout_websocket 每60s报WsHttpUpgradeHandler.timeoutAsync

在后台连接了一个websocket连接,每60s就报如下错误,有知道这是什么情况的吗?2020-09-10 14:22:40 [Catalina-utility-1] ERROR org.apache.coyote.http11.Http11NioProtocol -Error processing async timeoutsjava.util.concurrent.Execution…

java 类 方法继承_java – 在方法重写中返回继承的类而不是超类

我有一个看起来像这样的类结构:class Parent {public Parent(int property) { /* use property */}}class Son extends Parent {public Son(int parentProperty, String sonProperty) {super(parentProperty);/* use son property */}}我想为这两个类创建构建器,以便…

python环绕文字_如何用css实现文字三面环绕图片?

html部分:DIV with content or Image in the Middle of the text Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam rhoncus nibh ipsum, nec tincidunt mauris suscipit non. Nullam euismod est in dui vehicula ornare quis non nulla. Sed ul…

java写入数组_如何在Java中将数组写入outputStream

我想通过Socket发送多个随机值.我认为数组是发送它们的最佳方式.但是我不知道如何将数组写入Socket outputStream?import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.InputStream;import java.net.Socket;import java.io.*;import j…

java循环1000000000_求十亿内所有质数的和,怎么做最快?

注:对知乎的公式编辑功能实在无力吐槽,用typora写的文章直接粘过来公式无法显示,只好又手工加上了全部公式,不过可能还是会有遗漏。大家可以点击这个链接 查看我的博客原文。以下是正文:第一次关注到这个问题是在做pro…

java推送Comet_使用Comet4j实现消息推送

public class NewMsgCollector extends ConnectListener implements ServletContextListener {private static final String CHANNEL "hello";public void contextInitialized(ServletContextEvent contextEvent) {//注册应用的channelCometContext context CometC…

java飞行记录器是什么_运行java飞行记录器JFR(java flight recorder)

JFR上面讲到的工具都是作为快速的查看诊断工具的。如果要深入分析问题,可以选择使用内置的Java飞行记录器:Java Mission Control。转储JFR需要三步:1. 创建一个包含了你自己配置的JFR模板文件。运行jmc, 然后Window->Flight Recording Template Manag…

java申请安卓权限_java4android (包和访问权限)

什么是Java当中的软件包?为什么要使用软件包?如何给一个类打包?//将类放置到一个包中,需要使用package“包名”//打包 编译的方法 javac -d . Test.java//出现错误:编码GBK的不可映射字符 javac -encoding UTF-8 -d . …

java圆形泳池问题_Java实现 LeetCode 778 水位上升的泳池中游泳(二分+DFS)

778. 水位上升的泳池中游泳在一个 N x N 的坐标方格 grid 中,每一个方格的值 grid[i][j] 表示在位置 (i,j) 的平台高度。现在开始下雨了。当时间为 t 时,此时雨水导致水池中任意位置的水位为 t 。你可以从一个平台游向四周相邻的任意一个平台&#xff0c…