fsolve 数组 Python 的问题

如何解决fsolve 数组 Python 的问题

我的代码有问题。我想用 fsolve 解决一个数组,但我不知道该怎么做。我可以只为一维数组解决迭代。有人知道怎么做吗?

我的代码是:

import CoolProp.CoolProp as CP
import math
import numpy
import matplotlib.pyplot as plt
from scipy.optimize import fsolve

fluid='R134A'
d=0.77  
m=9.22E-4 
Ti=33.16
Ts=-26.8
dT=0.01
Vmono=1.685
dT=0.01 
Ti=33.16
Ts=-26.8

A=(d/1000)**2*math.pi/4

T = []
for i in numpy.arange(Ti,Ts,-dT):
    T.append(float(i))

hent=CP.PropsSI('H','T',((Ti)+273.15),'Q',(fluid))
hL=CP.PropsSI("H","T",numpy.array(T)+273.15,"Q",(fluid))
hG=CP.PropsSI("H",1,(fluid))
rhoL=CP.PropsSI("D",(fluid))
rhoG=CP.PropsSI("D",(fluid))
viscL=CP.PropsSI("V",(fluid))
viscG=CP.PropsSI("V",(fluid))

volL=1/rhoL
volG=1/rhoG

def f(x):
    term1=((1-x)*hL+x*hG)
    term2=(0.5*(m/A)**2)*((x*volG/((1+((1-x)/x)**0.74*(rhoG/rhoL)**0.65*(viscL/viscG)**0.13)**-1))**2+((1-x)*volL/(1-((1+((1-x)/x)**0.74*(rhoG/rhoL)**0.65*(viscL/viscG)**0.13)**-1)))**2)
    term3=(hent+0.5*Vmono**2)
    return (term1+term2-term3)
xT= fsolve(f,0.00001)

我的输出是:

  File "C:\Users\jmmpc\anaconda3\lib\site-packages\scipy\optimize\minpack.py",line 237,in _root_hybr
    retval = _minpack._hybrd(func,x0,args,xtol,maxfev,ValueError: The array returned by a function changed size between calls

我没有遇到这种问题,所以请看一下。

谢谢。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?