Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x Sympy-Float没有属性sqrt_Python 3.x_Sympy_Sqrt - Fatal编程技术网

Python 3.x Sympy-Float没有属性sqrt

Python 3.x Sympy-Float没有属性sqrt,python-3.x,sympy,sqrt,Python 3.x,Sympy,Sqrt,我正在编写一个代码片段,无法调试该问题,如有任何建议,将不胜感激 错误是属性错误:Float对象没有属性sqrt from sympy import * import numpy as np rho_l = 1000; rho_g= 1.225; sigma = 0.072 nu = 0.001; Q = rho_g/ rho_l; u = 14.8; k = Symbol('k', real=True) w1 = -2*nu*k**2 w2 = 4* (nu**2) * (k**4); w

我正在编写一个代码片段,无法调试该问题,如有任何建议,将不胜感激

错误是属性错误:Float对象没有属性sqrt

from sympy import *
import numpy as np

rho_l = 1000;
rho_g= 1.225;
sigma = 0.072
nu = 0.001;
Q = rho_g/ rho_l;
u = 14.8;

k = Symbol('k', real=True)
w1 = -2*nu*k**2
w2 = 4* (nu**2) * (k**4);
w3 = - Q* (u**2) * (k**2);
w4 = - sigma * (k**3)/ rho_l;
w = w1 + sqrt(w2+w3+w4);

print (w)
wprime = w.diff(k)
print (wprime)

ko = solve(wprime, k) # solve fprime = 0 with respect to x
ko = ko[0]
print (ko)

ws = lambdify (k, w, 'numpy');
print (type(ko))
print (ws(ko))

您之所以会出现此错误,是因为
numpy
显然不知道如何处理sympy.core.numbers.Float类型()。因此,
numpy
sqrt在调用
ws
时引发异常。要修复,请将
sympy
传递到
lambdify
而不是
numpy

ws=lambdify(k,w,'sympy');
打印(键入(ko))#>>
打印(ws(ko))#>-82.5885350883393

或者,您可以使用
Float()
sympy.Float
转换为常规Float,并将
k0
替换为
Float(k0)

ws = lambdify(k, w, 'numpy');
print(type(float(ko)))  # >> <class 'float'>
print(ws(float(ko)))    # >> -82.58853508833931

ws=lambdify(k,w,'numpy');
打印(类型(浮动(ko)))#>>
打印(ws(float(ko)))#>>-82.58853508833931

你可能是指
ws=lambdify(k,w,'numpy')
对-谢谢!我已将
ws=lambdify(k,w,'sympy')
更改为
ws=lambdify(k,w,'numpy')