Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/279.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 Can';t将表达式转换为浮点?_Python - Fatal编程技术网

Python Can';t将表达式转换为浮点?

Python Can';t将表达式转换为浮点?,python,Python,我试图用python解9个非线性方程,但结果是错误的。我已将代码发布如下: 代码已将P1 P2 P3 A1 A2 A3解析为存储的[x,y,z]坐标数。我试图用这些位置来找出最后三个点(x1,y1,z1),(x2,y2,z2),(x3,y3,z3) 输出如下: --------------------------------------------------------------------------- TypeError

我试图用python解9个非线性方程,但结果是错误的。我已将代码发布如下: 代码已将P1 P2 P3 A1 A2 A3解析为存储的[x,y,z]坐标数。我试图用这些位置来找出最后三个点(x1,y1,z1),(x2,y2,z2),(x3,y3,z3)

输出如下:

    ---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-14-fbac9f95877a> in <module>()
----> 1 z = fsolve(equations, zGuess)

/Users/j/anaconda2/lib/python2.7/site-packages/scipy/optimize/minpack.pyc in fsolve(func, x0, args, fprime, full_output, col_deriv, xtol, maxfev, band, epsfcn, factor, diag)
144                'diag': diag}
145 
--> 146     res = _root_hybr(func, x0, args, jac=fprime, **options)
147     if full_output:
148         x = res['x']

/Users/j/anaconda2/lib/python2.7/site-packages/scipy/optimize/minpack.pyc in _root_hybr(func, x0, args, jac, col_deriv, xtol, maxfev, band, eps, factor, diag, **unknown_options)
210     if not isinstance(args, tuple):
211         args = (args,)
--> 212     shape, dtype = _check_func('fsolve', 'func', func, x0, args, n, (n,))
213     if epsfcn is None:
214         epsfcn = finfo(dtype).eps

/Users/j/anaconda2/lib/python2.7/site-packages/scipy/optimize/minpack.pyc in _check_func(checker, argname, thefunc, x0, args, numinputs, output_shape)
 24 def _check_func(checker, argname, thefunc, x0, args, numinputs,
 25                 output_shape=None):
---> 26     res = atleast_1d(thefunc(*((x0[:numinputs],) + args)))
 27     if (output_shape is not None) and (shape(res) != output_shape):
 28         if (output_shape[0] != 1):

<ipython-input-12-951ec1513690> in equations(z)
 18     F[4] = (x3 - x1)**2 + (y3 - y1)**2 + (z3 - z1)**2 - Ld**2
 19     F[5] = (x3 - x2)**2 + (y3 - y2)**2 + (z3 - z2)**2 - Ld**2
---> 20     F[6] = np.dot(np.cross(Upa1, Uab1),u1)
 21     F[7] = np.dot(np.cross(Upa2, Uab2),u2)
 22     F[8] = np.dot(np.cross(Upa3, Uab3),u3)

/Users/j/anaconda2/lib/python2.7/site-packages/sympy/core/expr.pyc in __float__(self)
237         if result.is_number and result.as_real_imag()[1]:
238             raise TypeError("can't convert complex to float")
--> 239         raise TypeError("can't convert expression to float")
240 
241     def __complex__(self):

TypeError: can't convert expression to float

    TypeError: can't convert expression to float
---------------------------------------------------------------------------
TypeError回溯(最近一次调用上次)
在()
---->1 z=f解(方程式,z)
/fsolve中的Users/j/anaconda2/lib/python2.7/site-packages/scipy/optimize/minpack.pyc(func、x0、args、fpinite、full_输出、col_deriv、xtol、maxfev、band、epsfcn、factor、diag)
144“diag”:diag}
145
-->146 res=\u root\u hybr(func、x0、args、jac=fprime,**选项)
147如果满输出:
148 x=res['x']
/Users/j/anaconda2/lib/python2.7/site-packages/scipy/optimize/minpack.pyc in_root_hybr(func、x0、args、jac、col_deriv、xtol、maxfev、band、eps、factor、diag、**未知选项)
210如果不是isinstance(参数、元组):
211 args=(args,)
-->212 shape,dtype=\u check\u func('fsolve','func',func,x0,args,n,(n,))
213如果epsfcn为无:
214 epsfcn=finfo(dtype).eps
/Users/j/anaconda2/lib/python2.7/site-packages/scipy/optimize/minpack.pyc in_check_func(checker、argname、thefunc、x0、args、numinput、output_shape)
24 def\u check\u func(checker、argname、thefunc、x0、args、numinput、,
25输出(形状=无):
--->26 res=至少1d(thefunc(*(x0[:numput],)+args)))
27如果(输出形状不是无)和(形状(分辨率)!=输出形状):
28如果(输出_形[0]!=1):
在方程(z)中
18 F[4]=(x3-x1)**2+(y3-y1)**2+(z3-z1)**2-Ld**2
19 F[5]=(x3-x2)**2+(y3-y2)**2+(z3-z2)**2-Ld**2
--->20F[6]=np.dot(np.cross(Upa1,Uab1),u1)
21 F[7]=np.dot(np.cross(Upa2,Uab2),u2)
22 F[8]=np.dot(np.cross(Upa3,Uab3),u3)
/Users/j/anaconda2/lib/python2.7/site-packages/sympy/core/expr.pyc in____________(self)
237如果result.is_number和result.as_real_imag()[1]:
238 raise TypeError(“无法将复数转换为浮点”)
-->239 raise TypeError(“无法将表达式转换为浮点”)
240
241 def_________________(自):
TypeError:无法将表达式转换为浮点
TypeError:无法将表达式转换为浮点

您能发布足够的代码来重现问题吗?请发布异常的完整回溯,如果可能,显示您的数据(例如
A
Lc
,以及各种
UpaX
UabX
变量)的来源,至少足以查看它们的类型。可能有些东西不是您所期望的类型,导致您遇到异常。您可能还想添加一些标记,至少是
numpy
,可能还有其他(
scypy
可能?)@jhpratt,我在这里添加了更详细的注释。希望这能给你提供足够的信息。谢谢你的帮助@Blckknght在这里添加了更详细的评论。希望这能给你提供足够的信息。谢谢你的帮助<代码>名称错误:未定义名称“A1”
    ---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-14-fbac9f95877a> in <module>()
----> 1 z = fsolve(equations, zGuess)

/Users/j/anaconda2/lib/python2.7/site-packages/scipy/optimize/minpack.pyc in fsolve(func, x0, args, fprime, full_output, col_deriv, xtol, maxfev, band, epsfcn, factor, diag)
144                'diag': diag}
145 
--> 146     res = _root_hybr(func, x0, args, jac=fprime, **options)
147     if full_output:
148         x = res['x']

/Users/j/anaconda2/lib/python2.7/site-packages/scipy/optimize/minpack.pyc in _root_hybr(func, x0, args, jac, col_deriv, xtol, maxfev, band, eps, factor, diag, **unknown_options)
210     if not isinstance(args, tuple):
211         args = (args,)
--> 212     shape, dtype = _check_func('fsolve', 'func', func, x0, args, n, (n,))
213     if epsfcn is None:
214         epsfcn = finfo(dtype).eps

/Users/j/anaconda2/lib/python2.7/site-packages/scipy/optimize/minpack.pyc in _check_func(checker, argname, thefunc, x0, args, numinputs, output_shape)
 24 def _check_func(checker, argname, thefunc, x0, args, numinputs,
 25                 output_shape=None):
---> 26     res = atleast_1d(thefunc(*((x0[:numinputs],) + args)))
 27     if (output_shape is not None) and (shape(res) != output_shape):
 28         if (output_shape[0] != 1):

<ipython-input-12-951ec1513690> in equations(z)
 18     F[4] = (x3 - x1)**2 + (y3 - y1)**2 + (z3 - z1)**2 - Ld**2
 19     F[5] = (x3 - x2)**2 + (y3 - y2)**2 + (z3 - z2)**2 - Ld**2
---> 20     F[6] = np.dot(np.cross(Upa1, Uab1),u1)
 21     F[7] = np.dot(np.cross(Upa2, Uab2),u2)
 22     F[8] = np.dot(np.cross(Upa3, Uab3),u3)

/Users/j/anaconda2/lib/python2.7/site-packages/sympy/core/expr.pyc in __float__(self)
237         if result.is_number and result.as_real_imag()[1]:
238             raise TypeError("can't convert complex to float")
--> 239         raise TypeError("can't convert expression to float")
240 
241     def __complex__(self):

TypeError: can't convert expression to float

    TypeError: can't convert expression to float