本文内容来自学习麻省理工学院公开课:单变量微积分-隐函数微分法和逆函数导数-网易公开课
和麻省理工学院公开课:单变量微积分习题课-除法法则-网易公开课
一、反函数
1、定义
0, y^2 = x" src="https://latex.codecogs.com/gif.latex?y%20%3D%20x%5E%7B1/2%7D%2C%20x%3E0%2C%20y%5E2%20%3D%20x" />
通常
这些就是反函数了
例子:
, 怎么知道 ?
方法是,交换x和y的值。 画出的图,两个不同的函数将通过x=y对称, 分别是
from sympy import * import numpy as np import matplotlib.pyplot as plt x= symbols('x') y = x**0.5 yarr = [] xarr = np.linspace(0 , 3 , 100 ) for xval in xarr: yval = y.subs(x,xval) yarr.append(yval) y_nparr = np.array(yarr) plt.plot(xarr, y_nparr, color='b', label='y = x^0.5') plt.plot(y_nparr,xarr , color='r', label='inverse function of "y = x^0.5"') plt.plot(xarr, xarr, color='b', label='symmetric line') plt.legend(loc='upper right') plt.show()
二、只要有原函数的导数, 用隐函数微分法可以求导任意反函数,
例子:
1、
y = tan(x) (-pi/2 < x< pi/2 )
注意看绿色的曲线:( )
求导:
(注:用到三角函数公式 )
x = symbols('x') z1 = sin(x)/cos(x) derivative_f = z1.diff(x)
继续推导:
.............. (太复杂了...)
简化: 由于 ->
import numpy as np from sympy import * import matplotlib.pyplot as plt fig = plt.figure() ax = fig.add_subplot(1, 1, 1) ax.spines['left'].set_position('zero') ax.spines['bottom'].set_position('zero') ax.spines['right'].set_color('none') ax.spines['top'].set_color('none') ax.xaxis.set_ticks_position('bottom') ax.yaxis.set_ticks_position('left') ax.set_aspect( 1 ) angle = np.linspace( 0 , 2 * np.pi , 150 ) y = 60/180 * np.pi angleArc = np.linspace( 0 , y , 150 ) radius = (tan(y))**2 + 1 xArc = radius * np.cos( angleArc ) /20 yArc = radius * np.sin( angleArc ) /20 ax.plot( xArc, yArc,color='r') plt.text(tan(y)/10, tan(y)/10, 'y', fontsize=12) ax.plot( [0,1,1,0], [0,tan(y),0,0],color='b',label='x=tany, y='+format(y)) plt.text(1.1, tan(y)/2, 'x', fontsize=12) plt.text(0.3, tan(y)/13, 'bottom line length = 1', fontsize=12) plt.text(-0.34, 0, 'A', fontsize=12) plt.text(1.2, 0, 'B', fontsize=12) plt.text(1.1,tan(y)+0.1 , 'C', fontsize=12) plt.text(0.3, tan(y)/13, 'bottom line length = 1', fontsize=12) plt.text(0.3, tan(y)/13+0.1, 'tany = x/1 (BC : AC)', fontsize=12) plt.text(0.3, tan(y)/13+0.2, 'cosy = 1/(1-x^2)^{1/2}', fontsize=12) plt.legend(loc='upper right') plt.show()
由图可知:
2、
由于 x= sin(y)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)