普林斯顿微积分读本03第二章--编程实现函数图像绘制、三角学回顾
编程实现函数图像绘制:
在上一次https://www.cnblogs.com/webor2006/p/16501578.html咱们对于函数相关的知识进行了全面的巩固,其中发现在研究函数时其它的图像是一个非常重要的研究点,在之前学习线性代数时会用python来实现相关的数学问题,那么在继续往下学习之前,也同样尝试用python编程来实现函数图像的绘制。
新建文件:
这里回到PyCharm中,新建一个文件:
函数图像生成:
下面挑几个我们在上次书中所学的几个函数为例进行编程图像的生成:
函数一:
先来看一下书本上所画的图像:
具体实现:
1、生成x轴的点:
其运行结果可以看到x就是一堆数的集合,也就是生成了50个点:
其中关于Numpy库在当时学习线性代数时大量使用了,这里就不过多介绍了。
2、生成y轴的点:
这里其实就比较简单了,y=x^2,那就是:
3、生成图像:
接下来生成图像就比较简单了:
其实也就是将各个坐标点连接起来就形成了一个曲线,如果我们把点的个数减小,那么线就会变得不那么平滑了,如下:
再运行:
其中生成图时我们还可以给图指定尺寸,如下:
函数二:
先来看一下书本上的图像:
下面来实现一下,基本这里只需改变x,y的生成规则既可,如下:
是不是跟书本上的生成图像是一样的。
函数三:
先来看一下课本上的图像:
同样的,这里只改变y的规则,如下:
运行结果:
这里我们可以设置一下y轴的值的范围,1万太大了,在python中可以这样设置:
这样,使用python就可以很轻松地绘制函数的图像了,等下面三角函数复习完之后,到时再来用它来绘制三角函数相关的图像。
三角学回顾【重要】:
概述:
关于三角函数,其实不光是在学高数很重要,我记得之前学习Android的图形绘制时经常会用到它们,比如:https://www.cnblogs.com/webor2006/p/7726174.html,当然只要是研究数学相关知识或多或少都得要这部分的基础,当然如书本所说:“一开始学微积分时可能不会碰到很多有关三角学的内容,但是!!!当它们一出现,如果你基础不够好,那就学着会非常吃力”,所以,完整的回顾一下这个三角学的知识是非常有必要的。
基本知识:
弧度:
首先先从弧度概念开始,一个圆一周总共有360°对吧,但是我们通常会说成2π弧度哟,这是因为半径为1个单位的圆的周长是2π个单位:
图中这个圆的一个扇形的弧长就是这个扇形的圆心角的弧度,突然让我想到当时在写https://www.cnblogs.com/webor2006/p/7687320.html这篇时就用到了弧度的概念,也就是需要知道角度和弧度是可以相互转换的,这里需要知道这么几个常用的角度对应的弧度:
1、90°=π/2;
2、180°=π;
3、270°=3π/2;
知道了这三个之间的关系之后,咱们就可以在下图中所有的角与弧度之间进行来回转换,如下:
而弧度转换度的转换公式也需要记一下:
用弧度度量的角 = π/180 * 用度计量的角
比如:5π / 12弧度它对应的角度是多少呢?套公式计算如下:
5π / 12 = π/180 * 用度计量的角,转换一下就有:
用度计量的角 = (180/π) x (5π / 12) = 75°。
其实将弧度和度的转换可以看成是一种单位的转换,转换因数就是π弧度等于180°,像之前这块就在Android 绘制这块就应用到了:
不过这块的知识也不用记,到时现查就可以了,比较简单。
三角函数:
目前我们已经回忆了角的一些概念了,接下来则需要加忆三角函数了,假设我们有一个直角三角形,除直角外的一角被记为θ,那么就有这么一个图像:
所以这三个基本公式就出来了,这块应该都不会忘:
其实还有另一种图像:
这块就不过多说明了,比较简单。
倒数函数:
通常我们也会用到余割、正割和余切这些倒数函数,如下:
常用角的三角函数值:
你知道sin(π/3)、tan(π/4)的值是多少么?如果你不知道,最好是要能熟记一下下面的表的对应关系:
其中表中tan(π/2)的星号是无定义的,也就是对于表中的0、π/6、π/4、π/3、π/2都是非常常用的,是必须要掌握的,当然你如果记不住到时当个备忘回来查一下也成,我是记不住的,知道有这么一张表就成了。
也就是在未来你需要能回答以下两类问题:
1、sin(π/3)是什么?有了上面这张表,答案就是:
2、介于0到π/2,其正弦值为
的角是什么?有了上面张表,答案就是π/3。
书中是强烈建议木事就背一背这表:
但是对于工作中的我们,其实没必要背, 你只需要在大脑中有这么一个对应表就成,到时回头查一下,毕竟我们不是为了应试考试用的。
扩展三角函数定义域:
概述:
在上面的表中,仅仅是包括介于0到π/2的一些角对吧【也就是定义域是介于0到π/2的】,事实上我们可以取任意角的正弦或者余弦,对于正切,除了π/2是无定义的,其它角的正切也是可以求的,所以接下来我们需要扩展三角函数的定义域了,扩展的边界先放到0到2π的角【之后还会扩展这个区域的】,为了方便研究,先来引出一个比较古怪标记的坐标平面:
其中坐标按逆时针将平面分成了四个象限,分别称为第一象限、第二象限、第三象限和第四象限,
假设我们取某个角θ,或许它在第三象限的某个地方,如:
注意,此时我们是将这条射线称之为θ,而非角,然后在这条θ取某一个点:
我们对这三个量比较感兴趣:该点的x坐标、y坐标、以及该点到原点的距离r。其中x,y有可能为负(事实上目前举例的场景是都为负的),而r是永远大于0的,因为根据毕达哥拉斯定理(既勾股定理):
很明显斜边r的距离为:
而平方是会消去负号的,所以r的值肯定是大于0的。
于是我们就可以定义如下三个三角函数了:
如果你在这条射线上选取了另外一个点,那又会是什么样子呢?其实这个是没关系的,其比值是不会变的。事实上,为了方便起见,我们常常设定r = 1,这样得到的点(x, y)就会落在所谓的单位圆(就是以原点为中心,半径为1的圆)上。
实践:
接下来举一个具体的例子,比如我们想求sin(7π/6),按上面的求解规则如下:
1、先确定7π/6是在第几象项?
由于1<7/6<3/2,故π<7π/6<3π/2,所以它处于第三象限:
2、选择射线上一点,该点至原点的距离r = 1,并从该点至x轴做一条垂线:
此时根据三角函数可以有如下式子:
而由于r=1,所以sin(Θ) = y,接下来则需要求出y对吧,这里需要引出参考角的概念了,也就是7π/6和π之间的角就是参考角,一般来说,Θ的参考角是在表示解Θ的射线和x轴之间的最小的角,如下:
此时我们就可以求出y点的值了:y = sin(π/6),那这个值是多少呢?之前的那张表就可以搬出来参照了:
也就是y = 1/2,注意由于第三象限的y是负数,所以y=-1/2;
接下来还差x值木有求出来,根据余弦,很容易就可以求得x = cos(π/6),再查表,它就等于:
而由于第三象限的x值也是负数,所以:
,最终我们就此点的坐标为:
ASTC方法:
概述:
在上例中的关键是将sin(7π/6)和sin(π/6)联系起来,其中π/6是7π/6的参考解,事实上,任意角的正弦就是其参考角正弦的正值或负值,这样我们在计算时又可以进行简化了(像上面需要计算出x,y,或r,太麻烦了),因此,在上面的例子中只需要求出参考角π/6就会立即可知sin(7π/6)等于sin(π/6)或-sin(π/6),而对于正负的选择根据实际在的象限来决定,由于我们举的那个例子是在三象限,很明显y是负的,那么就选-sin(π/6)。
那么现在的问题就在于哪些象限对于三角函数它的正负性了,这就引出ASTC方法了,这个方法总结在一个图里:
解释一下该图:
1、所有三个函数在第一象限(I)中均为正,所以用字母A来表示“全部”的意思;
2、所以三个函数在第二象限(II)中,只有正弦为正,所以这里记成S,代表正弦(sin);
3、所以三个函数在第三象限(III)中,只有正切为正,所以这里记成T,代表正切(tan);
4、所以三个函数在第四象限(Ⅳ)中,只有余弦为正,所以这里记成C,代表正切(cos);
使用总结:
实践:
cos(7π/4):
所以结果就是:
tan(9π/13):
所以最终结果为tan(9π/13) = -tan(4π/13)。
其实你可以用计算器算出它的值,如下:
但是!!!这里只能是一个近似值,不应该用=号表示,而应该是用近似符号:
通常如果题目木有要求要求近似,其答案就写:tan(9π/13) = -tan(4π/13)既可。
[0, 2𝝿] 以外的三角函数:
概述:
现然我们讨论三角函数的定义域是[0, 2π] 这个范围了对吧,那如果取大于2π或小于0的角的三角函数呢?
其实并不难,简单地加上或减去2π的倍数,走到你得到的角在0和2π之间,比如450°和90°其实是等价的,换成弧度,也就是5π/2和π/2弧度是等价的角,其实旋转角度可以还可以加大,于是乎就有等价于π/2的角的一个家族了:
那我们还可以顺时针旋转,比如让你逆时针旋转-270°,是不是就是到90°了,换成弧度也就是-3π/2和π/2是相等的,于是乎,我们就可以扩展π/2角的一个家族了:
其中这个序列是没有开端也没有结束的,其实最终可以用这个集合符号来表示:
其中n可以取所有的整数。
实践:
sec(15π/4):
由于sec是倒数函数,它为:
所以只要把cos(15π/4)求出来,那么它的结果也就出来了,由于15/4是大于2的,我们先试着消去2,15/4 - 2 = 7/4,现在它是介于0到2之间了,所以cos(15π/4)化简成求cos(7π/4)了,这块又可以化简为cos(π/4),最终结果为:
取其倒数,最终结果就为:
sin(-5π/6):
有很多方法来求解此问题,这里介绍两种:
1、将2π的倍数加到-5π/6上,直到结果是介于0到2π的,所以(2π-5π/6)=7π/6,因此sin(-5π/6) = sin(7π/6),而这个在之前我们已经计算出来了:
所以sin(-5π/6) = -1/2。
2、直接画图就可以得出,由于是-5π/6,很明显是往顺时针旋转了5π/6,它正好在第三象限,如下:
其中参考角就是(π - 5π/6) = π/6,所以sin(-5π/6) = sin(π/6) = 1/2,而由于三象限的sin是负数,所以最终结果就是sin(-5π/6) = -1/2。
三角函数的图像:
记住正弦、余弦、正切函数的图像会非常有用,因为这些函数都是周期的,也就是意味着它们从左到右反复地重复自己,下面来看一下。
y = sin(x):
从0到2π的图像看上去如下:
由于sin(x)以2π为单位重复(我们说sin(x)是x的周期函数,其周期为2π),所以通过重复该模式,我们可以对图像扩展成如下:
从图中就可以看到sin(3π/2)=-1,sin(-π) = 0,有了这个图是不是都不用像之前还得找参考角那么麻烦了?另外该图像关于原点有180°点对称性,根据奇函数的定义:
所以,sin(x)是x的奇函数。
y = cos(x):
它的图像跟y = sin(x)的类似,x从0到2π上变化时它的图像为:
同样利用cos(x)是周期函数及其周期为2π这一事实,图像又能拓展成:
另外该图像关于y轴有镜面对称性,所以说cos(x)是x的偶函数。
y = tan(x):
正切函数跟上面的两种略有不同,它的周期是π而不是2π,如下:
正切函数是有垂直渐近线的,然后图像拓展就可以是这样:
从图中可以看到当x = π/2的奇数倍数时,y=tan(x)有垂直渐近线,所以为啥在之前的表格中看到这个:
另外tan(x)是x的奇函数。
倒三角函数:sec、csc、cot:
它们的图像就直接贴出来了:
总结:
最后就可以得出六大三角函数的对称性的性质:
sin(x)、tan(x)、cot(x)以及csc(x)都是x的奇函数;cos(x)和sec(x)都是x的偶函数;
因此,对于实数x,就有如下等式:
sin(-x) = -sin(x)
tan(-x) = -tan(x)
cos(-x) = cos(x)
三角恒等式:
等式一:
对于正切与余切可以由正弦和余弦来表示,如下:
等式二:毕达哥拉斯定理
三角恒等式中最重要的就是毕达哥拉斯定理了,如下:
这个等式的验证也比较简单:直角三角形的斜边为1,其中一个角为x,那么三角形的其它两条边长就是cos(x)和sin(x)。
然后基于这个等式,又有两个变形:
首先让等式两边都除以:
就有如下等式:
这公式在微积分中经常会出现。
另外也可以等式两边同除以:
于是另一个等式就有:
不过这个等式使用率没有这么频繁,但是也需要了解一下。
co等式:
一些三角函数的名字是以音节“co”开头的【如cos、cot、csc】,它是“互余(complementary)”,说明两个角是互余的,也就是它们的和是π/2(或90°),其实针对这种三角函数有如下等式:
而它对应有如下几个等式:
此外你还需要认识到:余角的余角就是原始的角,比如co-co-sin,就是sin,co-co-tan就是tan,这样我们就可以对上面这三个式子反过来,如下:
关于这块比较难理解,就当是一个了解吧,待之后有用到时再回来查就成。
倍角公式:
接下来这些恒等式涉及角的和和倍角公式,需要记住如下几个式子:
同时还可以切换正负号有如下两个式子成立:
对于上述的sin(A+B)和cos(A+B),如果令A = B = x,就会得到另一个有用的结果:
其中对于余弦公式,我们根据毕达哥拉斯定理还可以进一步转换:
此时将:
代入到cos(2x)中,
就又可以变成:
所以你需要知道这么一个等式:
也就是用sin和cos来表示的等式,那如果用sin(x)和cos(x)来表示sin(4x)呢?其实4x可以看成是2倍的2x,根据正弦恒等式:
就有:
然后再应用这两个恒等式,就可以得到:
类似的,对于cos(4x),就有:
你会发现,使用倍角公式后,最终都是由sin(x)和cos(x)来组成整个等式了,至于这样有啥用,待之后用到之后再来体会,目前先了解有这么一个倍角公式既可。
编程实现三角函数的图像:
最后,回到python编程世界中,用程序来显示一下三角函数的图像,这里拿这个三角函数举例:
y = sin(x):
直接上代码了:
运行:
是不是跟课本上的图一样:
y = cos(x):
这个就改一句代码既可:
跟课本上的也差不多:
总结:
好,关于三角函数的基础知识就回顾到这了,基本这块忘得差不多了,这么一回顾让自己对未来的学习也更加的自信,下次就正式进入高等数学的章节了---极限~~