일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- trivial solution
- one-to-one
- linear dependence
- homogeneous linear system
- matrix trnasformations
- 코틀린 Hello World!
- recursive algorithms
- matrix fo a linear transformation
- Big-Oh notation
- Big Omega
- 빅오 표기법
- itertools
- Big Theta
- nonhomogeneous linear system
- nontrivial solution
- matrix-vector product
- 코틀린 시작하기
- Big-Oh 예제
- Big-O 예제
- 일차변환
- NumPy
- 이진 탐색
- 랜덤 순서 배열
- 재귀함수
- 알고리즘 분석의 실례
- python
- solutions of matrix equation
- 배열 섞기
- 빅세타
- 빅오메가
- Today
- Total
코딩 연습
(파이썬) 함수식을 이용한 이차함수의 그래프 그리기 본문
꺽은선 그래프 그리기 를 공부하였다면 이제는 함수식을 이용하여 그래프 그리기에 도전해 볼 차례다. 여기서는 이차함수 \(y=ax^2+bx+c\) 의 그래프 그리기를 예제로 함수의 그래프를 어떻게 그리는지 알아보겠다. 이를 위하여 사용자로부터 계수 \(a, \;b,\;c\) 와 그래프를 그릴 \(x\) 의 범위 \(x{\rm min},\; x{\rm max}\) 를 입력받아 이차함수의 그래프를 완성해 볼 것이다. 다음은 이를 위한 파이썬 코드이다. 다음 코드를 quadraticgraph.py 로 저장한 후, 터미널에서 python quadraticgraph.py 를 해 보면 그래프가 보이 것이다.
from matplotlib import pyplot as mplp
def draw_graph(x, y):
mplp.plot(x, y)
mplp.xlabel('x-coordinate')
mplp.ylabel('y-coordinate')
mplp.title('Quadratic Funcion Graph')
def xrange(start, final, interval):
numbers = []
while start < final:
numbers.append(start)
start += interval
return numbers
def make_x_y(a, b, c, xmin, xmax):
x = xrange(xmin, xmax, 0.001)
y = []
for t in x:
y.append(a * t ** 2 + b * t + c)
draw_graph(x, y)
if __name__ == "__main__":
try:
a = float(input('Enter the coefficient of x^2: '))
b = float(input('Enter the coefficient of x: '))
c = float(input('Enter the constant: '))
xmin = float(input('Enter the minimum of x-range: '))
xmax = float(input('Enter the maximum of x-range: '))
except ValueError:
print('You entered an invalid input')
else:
make_x_y(a, b, c, xmin, xmax)
mplp.show()
코드를 보면 알겠지만, 먼저 xmin 과 xmax 를 이용하여 \(x\) 값들을 리스트로 만든 후, 그 \(x\) 에 해당하는 함숫값 \(y\)의 리스트를 만들어 그래프를 그리게 된다.
먼저 사용자로부터 \(a, \;b, \;c, \; x{\rm min},\; x{\rm max}\) 를 입력받게 되면, \({\rm make} \_ x \_y\) 함수가 호출된다.
이 함수에서는 제일 먼저 \(x{\rm range}\) 를 이용하여 \(x\)값들의 리스트를 생성하게 된다. 이때, \(x\) 값들의 간격은 \(0.001\) 로 하였다. 이 간격이 좁아질수록 더 정밀한 그래프를 얻게 될 것이다.
이후에 \(x\) 리스트를 이용하여 함숫값에 해당하는 \(y\)리스트를 생성하게 되고, \(\rm draw \_ graph\) 함수를 호출하여 그래프를 생성하게 된다.
그리고 마지막으로 \(\rm mplp.show()\) 에 의해 그래프를 보여주게 된다.
실제로 \(a=1, \; b=2,\; c=-3,\; x{\rm min}=-10,\; x{\rm max}=10\) 을 입력하여 그래프를 그려보면 다음과 같다.
Enter the coefficient of x^2: 1
Enter the coefficient of x: 2
Enter the constant: -3
Enter the minimum of x-range: -10
Enter the maximum of x-range: 10
'Python' 카테고리의 다른 글
(파이썬) 최빈값 구하기 (0) | 2016.03.15 |
---|---|
(파이썬) 막대 그래프 그리기 (0) | 2016.03.15 |
(파이썬) 꺽은선 그래프 그리기 (0) | 2016.03.15 |
(파이썬) 복소수 & 복소수의 연산 (0) | 2016.03.15 |
(파이썬) 분수의 표현과 그 연산 (0) | 2016.03.15 |