본문 바로가기
파이썬

파이썬 matplotlib로 방정식 그래프 화

by º기록 2021. 1. 30.
반응형

내가 말한 공식을 그래프로 표시하는 함수를 만들려고합니다.

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

 

 

반응형

댓글