2014-09-13 4 views
2

저는 파이썬에서 mute.sqrt를 사용하여 무언가의 스퀘어 루트를 계산하지만 "무언가"는 알려진 값 대신 심볼입니다. 나중에 사용하기 위해 중간 변수로 "무언가"를 사용하고 있습니다.파이썬에서 심볼의 제곱근을 어떻게 얻을 수 있습니까?

import math 
from math import sqrt 
x = Symbol('x') 
y = math.sqrt(x) 
print(y) 

Hower 나는 오류 메시지를받을

File "/Library/Python/2.7/site-packages/sympy/core/expr.py", line 207, in __float__ 
    raise TypeError("can't convert expression to float") 
TypeError: can't convert expression to float 
날 "math.sqrt"를 제외하고 제곱근을 계산하는 다른 패키지 없다처럼

누군가가 내가이 문제를 제거 할 수 방법을 알고 않습니다 같은데 ?

+2

이 항목을 닫지 마십시오. 사용자가 sympy라는 라이브러리를 사용 중입니다. 나는이 라이브러리에서 Symbol()이오고 있음을 명확히하기 위해 사용자가 질문을 업데이트해야한다고 제안한다. 이것은 혼란을 해결할 것입니다. – BobbyShaftoe

답변

3

sympy을 사용하는 경우 부동 소수점 숫자로 작동하는 math.* 함수가 아닌 기호로 작동하는 sympy의 함수를 사용해야합니다. 이 경우

from sympy import * 
x = Symbol('x') 
y = sqrt(x) 
print(y) 

는 코드 sympysqrt() 함수를 사용한다.

+2

이 문맥에서'sympy.Symbol'과'sympy.sqrt'를 사용하는 것이 더 나을 수도 있습니다. – hpaulj

관련 문제