python中的反三角函数,python画倒三角形

  python中的反三角函数,python画倒三角形

  以前对三角函数的理解只局限于sin,cos,tan。但是目前考研过程中有csc,sec,cot,arctan,arccos,arcsin。

  还有一堆积分求导的公式,容易混淆。不知道能不能用图像来帮助记忆。就算记不住,也能猜出一些公式。

  对于sin和cos,你可以根据图像来猜测他们之间的关系。

  Sin(x)从-pi/2增加到pi/2,-pi/2到0的增长率从慢到快,0到pi/2的增长率从快到慢。根据导数的定义,导数lim(x-0)sinx/x=1在0。/2和-/2处的切线斜率为0,所以导数为0。想到sin(x)的每一点在你脑海中的导数值,那么你就可以大致想象出sin(x)在你脑海中的导数值,也就是cos(x)。

  我以为用python画很容易,但是画了几次之后发现图像不是我想要的。有些坐标轴的刻度是1,但是我想把它们变成圆周率。一些Y轴收缩在一起,但我想让它们之间的距离变大。在查阅了大量资料后,我能够拼出一个可以接受的图像。Python在接近无穷大的时候自动画了一条渐近线。

  1.三角函数及其倒数

  Sin(x)和csc(x)

  Cos(x)和sec(x)

  Tan(x)和cot(x)

  分析其特点:

  这些三角函数之间的关系是互逆的。

  它们的共同特征:

  1.在同一点上,它们的函数值乘以1。

  它们在两条直线y=1和y=-1上有一个公共交点。

  2.他们在相同的区间有相同的数字。

  其中一个函数是-0,那么另一个函数是-无穷大。

  其中一个函数-0-,然后另一个函数-无穷大。

  3.y=1和y=-1处对应的X坐标标记为a。

  在A的左右邻域,它们以相反的方式增加和减少。

  2.三角函数及其反函数

  Sin(x)和arcsin(x)

  注意:

  正弦函数y=sinx,xR没有反函数,因为在整个域内没有一一对应关系。

  反正弦函数对于这样的函数y=sinx,x[-/2,/2]成立。这里截取了正弦函数在原点附近的一个单调区间。Y=arcsinx的定义域:[-1,1],取值范围:[-/2,/2]

  Cos(x)和arccos(x)

  Y=cosx,xR因为在全域内没有一一对应,所以没有反函数。

  Arccos(x)对于这样的函数y=cosx,x[0,]成立。这里截取了一个接近原点的余弦函数的单调区间。arccosx取值范围为:[0,],定义域[-1,1]。

  Tan(x)和arctan(x)

  注意:

  因为正切函数y=tanx在定义域R内没有一一对应关系,所以不存在反函数。

  选择正切函数的单调区间。但是,由于正切函数在开区间(-/2,/2)上单调连续,所以反正切函数存在且唯一确定。arctanx的范围是:(-/2,/2)。

  分析其特点。

  它们的特征实际上是原函数和反函数的特征,

  关于y=x的对称性。它的反函数在其对应区间内是单调的。

  3.源代码

  将matplotlib.pyplot作为plt导入

  PLT . RC params[ font . sans-serif ]=[ sim hei ]#用于正常显示中文标签。

  PLT . RC params[ axes . unicode _ MINUS ]=false #用于正常显示负号。

  #进口熊猫作为pd

  将numpy作为np导入

  从mpl _ toolkits . axis artist . axis lines导入子plotZero

  将numpy作为np导入

  从matplotlib.ticker导入MultipleLocator,FuncFormatter

  fig=plt.figure(1,(10,6))

  ax=SubplotZero(图1,1,1)

  图. 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[ new 1 ]=ax . new _ floating _ axis(nth _ coord=0,value=1,axis _ direction= bottom )

  #ax.axis[新1]。切换(全部=真)

  #ax.axis[新1].label.set_text(y=1横坐标)

  # ax . axis[ new 1 ]. label . set _ color( blue )

  坐标箭头

  ax.axis[xzero]。set_axisline_style(- )

  ax.axis[yzero]。set_axisline_style(- )

  隐藏轴

  #方法1:隐藏顶部和右侧。

  # ax.axis[右]。set_visible(False)

  # ax.axis[top]。set_visible(False)

  #方法二:可以一起写

  ax.axis[顶部,右侧].set_visible(False)

  # 方法三:利用因为在

  # 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):

  将数值转换为以圆周率/4为单位的刻度文本

  m=np.round(x/(np.pi/4))

  n=4

  如果m % 2==0: m,n=m/2,n/2

  如果m % 2==0: m,n=m/2,n/2

  如果m==0:

  返回"0"

  如果m==1且n==1:

  返回" $\pi$ "

  如果n==1:

  返回r$%d \pi$ % m

  如果m==1:

  返回r$\frac{\pi}{%d}$ % n

  返回r$\frac{%d \pi}{%d}$ % (m,n)

  # 设置两个坐标轴的范围

  plt.ylim(-3,3)

  plt.xlim(-2*np.pi,np.max(x))

  # 设置图的底边距

  PLT。支线剧情_调整(bottom=0.15)

  plt.grid() #开启网格

  # 主刻度为圆周率/4

  斧头。xaxis。set _ major _ locator(多定位器(NP。/4))

  # 主刻度文本用pi _格式化程序函数计算

  斧头。xaxis。set _ major _ formatter(func formatter(pi _ formatter))

  # 副刻度为/20

  斧头。xaxis。set _ minor _ locator(多定位器(NP。/20))

  # 设置刻度文本的大小

  对于ax.xaxis.get_major_ticks()中的勾选:

  tick.label1.set_fontsize(16)

  设置刻度

  ax.set_ylim(-3,3)

  ax.set_yticks([-1,-0.5,0,0.5,1])

  ax.set_xlim([-5,8])

  # ax.set_xticks([-5,5,1])

  #设置网格样式

  ax.grid(True,linestyle=-. )

  ax.plot(x,1/np.sin(x),color=lightskyblue ,label=$csc(x)$ )

  ax.plot(x,np.sin(x),color=red ,label=$sin(x)$ )

  ax.plot(x,np.cos(x),color=orange ,label=$cos(x)$ )

  ax.plot(x,1/np.cos(x),color=green ,label=$sec(x)$ )

  ax.plot(x,np.sin(x)/np.cos(x),color=orange ,label=$tan(x)$ )

  ax.plot(x,np.cos(x)/np.sin(x),color=skyblue ,label=$cot(x)$ )

  ax.plot(x,x,color=black ,label=$y=x$ )

  x3=np.arange(-np.pi/2,np.pi/2,0.01)

  ax.plot(x,np.sin(x),color=red ,label=$sin(x)$ )

  ax.plot(x3,np.sin(x3),color=green ,label=$sin(x),x[-/2,/2]$ )

  ax.plot(np.sin(x3),x3,color=blue ,label=$arcsin(x)$ )

  x2=np.arange(0,np.pi,0.01)

  ax.plot(x,np.cos(x),color=green ,label=$cos(x)$ )

  ax.plot(x2,np.cos(x2),color=red ,label=$cos(x),x[0,]$ )

  ax.plot(np.cos(x2),x2,color=brown ,label=$arccos(x)$ )

  x4=np.arange(-np.pi/2,np.pi/2,0.01)

  ax.plot(x,np.tan(x),color=red ,label=$tan(x)$ )

  ax.plot(x4,np.tan(x4),color=green ,label=$tan(x),x(-/2,/2)$ )

  ax.plot(np.tan(x4),x4,color=blue ,label=$arctan(x)$ )

  plt。图例()

  plt.show()

  # 存为图像

  # fig.savefig(test.png )

  原文链接:https://博客。csdn。net/QQ _ 40828914/文章/详情/105929384

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: