python - Python意外返回分数和虚数
问题描述
我在下面的代码中只使用了一个循环,循环p的值并保持t不变。当我尝试将p循环嵌套在t循环中以便我可以在不同的温度和压力下评估v时,下面的代码不再给我十进制答案,而是切换到分数和虚数。
我对虚数的加法感到特别困惑,因为我只将v定义为实数值;这在我只有p循环时有效。
谁能帮我把这些值恢复为小数?更好的是,它们目前是类型列表,我希望能够将解决方案打印为浮点类型。
# cubic equation for solution to reduced volume
#===============================================#
#Bring in necessary libraries
from sympy.solvers import solve, nsolve
from sympy import Symbol, re, im, I, E
import numpy as np
from numpy import arange
import matplotlib.pyplot as plt
#===============================================#
## define variables ##
# gas: specify
tc = 300
t1 = 300
t = t1/tc
#===============================================#
v = Symbol('v', real=True) #Define key variable, dependent
for t in arange(1,5): #range of temperature values
for p in arange(1,3): #range of pressure values
print("t =",t,"p =",p)
solution = (solve(3*p*(v**3)-(v**2)*(p+8*t)+9*v-3, v))
print(solution)
解决方案
推荐阅读
- python - 在对话框窗口中销毁 pyqt5 中的 qthread
- android - Flutter:任务“:app:packageDebug”执行失败
- python-3.6 - 如何在python中安装light包?
- azure-cosmosdb - DocumentDB SQL,其中对象数组匹配字符串数组
- r - 使用 TDM/DTM 在 R 中进行情感分析
- javascript - 在节点环境中捆绑浏览器库
- swiftui - 没有披露指示器的 SwiftUI NavigationButton?
- javascript - 更新 Vuex 商店中二维数组中的项目
- c - 如何在risc-v中实现printf函数?
- docker - Stilliard/pure-ftpd:允许其他 docker 容器的 ftp?