首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Python 'add‘对象没有属性'sqrt’

Python 'add‘对象没有属性'sqrt’
EN

Stack Overflow用户
提问于 2018-07-10 08:37:08
回答 1查看 3K关注 0票数 0

我正在尝试寻找光线和3D曲面之间的交点,以球面坐标r=f(θ)给出。

由于不确定如何简单地使用Python,我首先将曲面方程转换为笛卡尔方程。我用渐近模,来求解关于t的二阶参数方程。

代码语言:javascript
复制
import numpy as np
from sympy.solvers import solve
from sympy import Symbol

def mpn(Pd,Bz,X,Y,Z,px,py,pz):

    r0=(10.22+1.29*np.tanh(0.184*(Bz+8.14)))*Pd**(-1/6.6)
    alpha=(0.58-0.007*Bz)*(1+0.024*np.log(Pd))

    t=Symbol('t',positive="True")
    x=X+px*t
    y=Y+py*t
    z=Z+pz*t

    sol=solve(x**2+y**2+z**2-r0**2*(2/(1+x/np.sqrt(x**2+y**2+z**2)))**(2*alpha),t)[0]
    return (X+px*sol,Y+py*sol,Z+pz*sol)

sol=mpn(3.69,-4.20,-6.71,-10.3,-5.05,0.0582,0.0012,-0.9983)

但这会产生一个奇怪的错误,'Add‘对象没有'sqrt’属性。我不知道为什么会这样,因为我用的是np.sqrt,而不是Add.sqrt或+.sqrt之类的东西。有人能帮我吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-10 08:53:20

您应该使用sympy.sqrt()而不是numpy.sqrt()。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51255742

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档