기본 콘텐츠로 건너뛰기

라벨이 삼각함수인 게시물 표시

[matplotlib]quiver()함수

함수의 그래프: 지수, 로그 그리고 삼각함수

다음 그림들은 전자책 파이썬과 함께하는 미분적분 의 3장과 4장에 수록된 그래프들과 코드들입니다. import numpy as np import pandas as pd from sympy import * import matplotlib.pyplot as plt import seaborn as sns sns.set_style("darkgrid") def tgline(slope, x0, y0, x): b=y0-slope*x0 re=slope*x+b return(re) def scantline(x0, y0, x1, y1, x): s, b=symbols("s, b") eq1=x0*s+b-y0 eq2=x1*s+b-y1 re=solve([eq1, eq2], (s, b)) re1=float(re[s])*x+float(re[b]) return(re1) def axisTran(ax): ax.spines['left'].set_position(("data", 0)) ax.spines['bottom'].set_position(("data", 0)) ax.spines['right'].set_visible(False) ax.spines['top'].set_visible(False) #그림 3.1.1 x=np.linspace(-5, 5, 100) y=2**x g=0.5**x plt.figure(figsize=(4, 3)) plt.plot(x, y, color="g", label=r"$y=2^x$") plt.plot(x, g, color="brown", label=r"$y=0.5^x$") plt.ylim([0, 10]) plt.xlabel("x", fontsize=...

삼각함수의 주기적 특성

삼각함수 주기적 특성 삼각함수는 일정한 범위를 기준으로 반복되는 주기함수(periodic function) 입니다. 예로 cos(x)와 cos(2x)의 그래프를 그려보면 그림 1과 같습니다. 그림 1. cos(x)와 cos(2x) x=np.linspace(0, 3*np.pi, 100) y=np.cos(x) y2=np.cos(2*x) fig, ax=plt.subplots(figsize=(4,2)) ax.plot(x, y, color="b", label="cos(x)") ax.plot(x, y2, color="r", label="cos(2x)") ax.vlines(2*np.pi, 0, 1, ls="dotted", color="b") ax.hlines(0.5, 0, 2*np.pi, ls="dotted", color="b", label="period for cos(x)") ax.hlines(0.3, 0, np.pi, ls="dotted", color="r", label="period for cos(2x)") ax.vlines(np.pi, -1, 1, ls="dotted", color="g", label="amplititude") ax.spines['left'].set_position(("data", 0)) ax.spines['bottom'].set_position(("data", 0)) ax.spines['right'].set_visible(False) ax.spines['top'].set_visible(False) x1=[0, np.pi/2, np.pi,3*np.pi/2, 2*np.pi,5*np...

삼각함수(Trigonometric function)의 정의

삼각함수 직각삼각형의 세 변의 길이의 비를 삼각비라고 하며 삼각비에는 일정한 관계를 보입니다. 삼각함수(Trigonometric function)는 삼각비의 일정한 관계를 함수로 나타낸 것입니다. 그림 1은 원 내부에 작성된 직각삼각형을 나타냅니다. 그림 1. 원 내부에 직각삼각형. x=np.linspace(-1, 1, 100) y=np.sqrt(1-x**2) y1=-np.sqrt(1-x**2) a=0.8 b=np.sqrt(1-a**2) fig, ax=plt.subplots(figsize=(3,3)) ax.plot(x, y, color="b") ax.plot(x, y1, color="b") ax.arrow(0,0, a, b, color="k" ) ax.vlines(a, 0, b, ls="dotted", color="k") ax.hlines(b, 0, a, ls="dotted", color="k") cod=[(-0.1,-0.1), (a,-0.1), (-0.1, b), (a+0.05, b), (0.13, 0.01), (0.55, 0.03),(0.3, b+0.02), (a+0.02, 0.3), (0.3, 0.3)] nme=['O', 'a', 'b', 'P', r'$\theta$', r'$90^o$','a', 'b', 'r'] for i in range(len(cod)): if i <=5: ax.text(cod[i][0], cod[i][1], nme[i], weight="bold", color="k") else: ax.text(cod[i][0], cod[i][1], nme[i], fontsize=11, color=...