반응형
내가 말한 공식을 그래프로 표시하는 함수를 만들려고합니다.
import numpy as np
import matplotlib.pyplot as plt
def graph(formula, x_range):
x = np.array(x_range)
y = formula
plt.plot(x, y)
plt.show()
호출하려고 할 때 다음 오류가 발생하면 y = formula
에 도달하기 전에 곱셈을 시도하고 있다고 생각합니다.
graph(x**3+2*x-4, range(-10, 11))
Traceback (most recent call last):
File "<pyshell#23>", line 1, in <module>
graph(x**3+2*x-4, range(-10, 11))
NameError: name 'x' is not defined
해결 방법
이것은 라인에서
graph(x**3+2*x-4, range(-10, 11))
x는 정의되지 않았습니다.
가장 쉬운 방법은 플로팅하려는 함수를 문자열로 전달하고 eval
을 사용하여 표현식으로 평가하는 것입니다.
따라서 최소한의 수정으로 코드는
import numpy as np
import matplotlib.pyplot as plt
def graph(formula, x_range):
x = np.array(x_range)
y = eval(formula)
plt.plot(x, y)
plt.show()
그리고 당신은 그것을 다음과 같이 부를 수 있습니다.
graph('x**3+2*x-4', range(-10, 11))
참조 페이지 https://stackoverflow.com/questions/14000595
반응형
'파이썬' 카테고리의 다른 글
파이썬 pandas.to_csv를 사용할 때 날짜 형식을 지정하는 방법은 무엇입니까? (0) | 2021.01.30 |
---|---|
파이썬에서 정수의 엔디안 (0) | 2021.01.30 |
파이썬 PyQt4에서 QString을 만드는 방법은 무엇입니까? (0) | 2021.01.30 |
파이썬 matplotlib를 사용한 Python-여러 그림을 병렬로 그리기 (0) | 2021.01.30 |
파이썬 Python mysqldb를 사용하여 한 번에 여러 행을 삽입하는 방법 (0) | 2021.01.30 |
댓글