之前對三角函數的理解僅局限於sin,cos,tan。但是目前遇到的都是些csc,sec,cot,arctan,arccos,arcsin。積分和求導還有一堆公式
最近看到了一個六邊形記憶法,更加簡便。
1.倒三角: sin²+cos²=1 tan²+1=sec² 1+cot²=csc² 2.對角線倒數 3.臨點積 tan*cos=sin sin*cot=cos 4.求導:左三角導數正,右三角導數負 上互換: sin'=cos cos'=-sin 中下2: tan'=sec² cot'=-csc² 下中下: sec'=tan*sec csc=-cot*csc 5.求積分: sec積分:ln|sec+tan|+C csc積分:-ln|csc+cot|+C
這幾個三角函數兩兩之間是倒數的關系。
他們共同特點:
1.在同一點處他們函數值相乘為1
他們有共同交點在y=1和y=-1這兩條直線上
2.在同一區間他們同號。
其中一個函數->0+,那么另一個函數->+無窮
其中一個函數->0-,那么另一個函數->-無窮
3.在y=1和y=-1處對應的x坐標記為a。
在a的左右鄰域他們增減性相反
注:
正弦函數y=sinx,x∈R因為在整個定義域上沒有一一對應關系,所以不存在反函數。
反正弦函數對這樣一個函數y=sinx,x∈[-π/2,π/2]成立,這里截取的是正弦函數靠近原點的一個單調區間。y=arcsinx 的定義域:[-1,1],值域:[-π/2,π/2]
y=cosx,x∈R因為在整個定義域上沒有一一對應關系,所以不存在反函數。
arccos(x)對這樣一個函數y=cosx,x∈[0,π]成立,這里截取的是余弦函數靠近原點的一個單調區間,arccosx 值域是 :[0,π],定義域[-1,1]。
注:
由於正切函數y=tanx在定義域R上不具有一一對應的關系,所以不存在反函數。
選取正切函數的一個單調區間。而由於正切函數在開區間(-π/2,π/2)中是單調連續的,因此,反正切函數是存在且唯一確定的。arctanx的值域是:(-π/2,π/2)。
他們的特點其實就是原函數和反函數的特點,
關於y=x對稱。函數與其反函數在其對應區間內單調性相同。
畫圖及坐標配置請參考matplotlib官方網站:https://matplotlib.org/gallery/index.html
import matplotlib.pyplot as plt plt.rcParams['font.sans-serif']=['SimHei'] # 用來正常顯示中文標簽 plt.rcParams['axes.unicode_minus']=False # 用來正常顯示負號 #import pandas as pd import numpy as np from mpl_toolkits.axisartist.axislines import SubplotZero import numpy as np from matplotlib.ticker import MultipleLocator, FuncFormatter fig = plt.figure(1, (10, 6)) ax = SubplotZero(fig, 1, 1, 1) fig.add_subplot(ax) """新建坐標軸""" ax.axis["xzero"].set_visible(True) #ax.axis["xzero"].label.set_text("新建y=0坐標") #ax.axis["xzero"].label.set_color('green') ax.axis['yzero'].set_visible(True) # ax.axis["yzero"].label.set_text("新建x=0坐標") # 新建一條y=2橫坐標軸 #ax.axis["新建1"] = ax.new_floating_axis(nth_coord=0, value=1,axis_direction="bottom") #ax.axis["新建1"].toggle(all=True) #ax.axis["新建1"].label.set_text("y = 1橫坐標") #ax.axis["新建1"].label.set_color('blue') """坐標箭頭""" ax.axis["xzero"].set_axisline_style("-|>") ax.axis["yzero"].set_axisline_style("-|>") """隱藏坐標軸""" # 方法一:隱藏上邊及右邊 # ax.axis["right"].set_visible(False) # ax.axis["top"].set_visible(False) #方法二:可以一起寫 ax.axis["top",'right'].set_visible(False) # 方法三:利用 for in # for n in ["bottom", "top", "right"]: # ax.axis[n].set_visible(False) x = np.arange(-2*np.pi, 2*np.pi, 0.01) def pi_formatter(x, pos): """ 將數值轉換為以pi/4為單位的刻度文本 """ m = np.round(x / (np.pi / 4)) n = 4 if m % 2 == 0: m, n = m / 2, n / 2 if m % 2 == 0: m, n = m / 2, n / 2 if m == 0: return "0" if m == 1 and n == 1: return "$\pi$" if n == 1: return r"$%d \pi$" % m if m == 1: return r"$\frac{\pi}{%d}$" % n return r"$\frac{%d \pi}{%d}$" % (m, n) # 設置兩個坐標軸的范圍 plt.ylim(-3 , 3) plt.xlim(-2*np.pi, np.max(x)) # 設置圖的底邊距 plt.subplots_adjust(bottom=0.15) plt.grid() # 開啟網格 # 主刻度為pi/4 ax.xaxis.set_major_locator(MultipleLocator(np.pi