2016-08-30 5 views
-1

현재 matplotlib을 사용하여 파이썬에서 함수를 그릴 수있는 방법을 가르쳐주고 있습니다. 다소 단순한 작업에 머물러 있습니다. 주어진 함수 f x) = 2x +3, 좌표를 matplotlib에 플롯합니다.x 값과 함수를 기반으로 한 y 값 계산 - 파이썬

I이 방법 -2 3.

하드로 x 값에 대한 x 및 y 값 모두의리스트를 작성, 설명서 계산을 통해,이 힘들게 해결 한

import matplotlib.pyplot as plt 

x = range(-2, 4) 
y = [-1, 1, 3, 5, 7, 9] 

plt.plot(x, y, 'ro') 
plt.show() 

이것은 작동합니다!

그러나 x 값 (-2에서 3까지)과 함수를 기반으로 y 값을 빠르게 얻을 수있는 방법이 있습니까?

f(x) = 2x+3 

아무쪼록 고맙습니다.

+1

'데프 F (x)는 : return 2 * x + 3'은 좋은 시작이 될 것입니다. 아직 함수에 대해 배웠습니까? –

+0

'y = [2 * val + 3 for val for x]'어때? – FamousJameous

답변

0

lambda 함수는이 상황에서 매우 유용합니다. f = lambda x: 2*x + 3을 사용하여 함수를 선언 할 수 있습니다. map 함수는 간단한 방법으로 y 값을 모두 얻는 좋은 방법입니다. y = map(f, x). 여기에 특정 범위 [A,B] 내에서 함수를 그릴 수있는 쉬운 방법

https://docs.python.org/2/reference/expressions.html#lambda https://docs.python.org/2/library/functions.html#map

+0

in python 3'map'은 목록 대신 생성자를 반환하므로 y 배열로 직접 사용될 수 없습니다. 대신 목록 내포를 사용하는 것이 좋습니다 :'[f in i in x]' –

+0

This 사실이다. 파이썬 3을 사용한다면 목록 이해력이 가장 좋습니다. –

+0

Comprehension은 두 버전 모두에서 작동하지만'map'은 vs2에서만 작동합니다. 따라서 일반적으로 이해력은 더 안정적이라고 말하고 싶습니다. 이 질문은 특정 버전 태그로 태그가 지정되지 않았기 때문에 두 가지 모두에서 사용할 수있는 옵션을 제안해야합니다. –

0

: 여기

lambda에 문서와 map입니다

import numpy as np 
import matplotlib.pyplot as plt 


def graph(formula, x_range): 
    x = np.array(x_range) 
    y = formula(x) 
    plt.plot(x, y) 
    plt.show() 


def f(x): 
    return 2 * x + 3 

A, B = -10, 10 
graph(f, range(A, B)) 
+0

코드에 대해 설명하지 않으려는 경우 최소한 몇 가지 주석을 달 수 있습니다. –

관련 문제