微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在简单函数中获得错误“ double_scalars中遇到无效值”

如何解决在简单函数中获得错误“ double_scalars中遇到无效值”

我对python还是比较陌生,我一直在尝试在大学上做一些工作以适应该语言。我想到了这个问题,并且看到其他人也对此提出了疑问,但是它似乎不适用于我的情况。这是代码

from numpy import *
from scipy.optimize import *
import math
def f(z):
    Q1 = z[0]
    Q2 = z[1]
    
    Qdim = 25000*1.3*1000/(24*60*60)
    L1 = 2700
    L2 = 3300
    D1 = 800/1000
    D2 = 600/1000
    A1 = math.pi*(D1**2)/4
    A2 = math.pi*(D2**2)/4
    V1 = Q1/A1
    V2 = Q2/A2
    v = 497*10**-6/(52.5**1.5)
    Re1 = ((Q1/A1)*D1)/v
    Re2 = ((Q2/A2)*D2)/v
    k = 0.4
    f1 = 0.25/((math.log10(5.1286/Re1**0.89+k/(3.7*D1*1000)))**2)
    f2 = 0.25/((math.log10(5.1286/Re2**0.89+k/(3.7*D2*1000)))**2)
    
    
    F = empty((2))
    F[0] = Q1 + Q2 - Qdim
    F[1] = f1*L1/D1 * (V1**2) - f2*L2/D2 * (V2**2)
    
    return F
zGuess = array([1,1])
z = fsolve(f,zGuess)

运行该命令时,我立即收到错误消息:

D:\Tudo\Anaconda\lib\site-packages\ipykernel_launcher.py:19: RuntimeWarning: invalid value encountered in double_scalars

一旦我从F [1]中删除了“ f2”,我就会得到一些值,但远没有达到我的预期。在其他问题中,问题在于输出太小,因此必须使用其他库。我不认为这是事实,因为我没有使用-100的幂的数字。

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