当前位置:网站首页>普林斯顿微积分读本03第二章--编程实现函数图像绘制、三角学回顾
普林斯顿微积分读本03第二章--编程实现函数图像绘制、三角学回顾
2022-07-31 11:38:00 【51CTO】
编程实现函数图像绘制:
在上一次 普林斯顿微积分读本02第一章--函数的复合、奇偶函数、函数图像咱们对于函数相关的知识进行了全面的巩固,其中发现在研究函数时其它的图像是一个非常重要的研究点,在之前学习线性代数时会用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);
用这种方式,对于我们上面举的sin(7π/6)它因为在三象限,所以为负,所以等于-1/2。
使用总结:
下面来对ASTC方法来求介于0到2π的角的三角函数值的总结:
1、画出象限图,确定在该图中你感兴趣的角在哪里,然后在图中标出该角;
2、如果你想要的角在x轴或y轴上(既没有在任何象限中),那么就画出三角函数的图像,从图像中读取数值;【这个场景在之后有例子说明】
3、否则,找出在代表我们想要的那个角的射线和x轴之间最小的角,这个角被称为参考角;
4、如果可以,使用那张重要的表来求出参考角的三角函数值,那这是你需要的答案,除了你可能还需要在得到的值前面添加一个负号。
5、使用ASTC图来决定你是否需要添一个负号。
实践:
cos(7π/4):
1、画出象限:
由于7/4是介于3/2和2之间的,所以在第四象限。
2、找到参考角:
而参考角应该是2π【注意不是0哦,因为我们必须往上走到2π】和7π/4的差,也就是π/4,如下:

3、根据那张重要表求出参考角的三角函数值:
cos(π/4)它的值为:

4、使用ASTC图来决定你是否要添加一个负号:
根据ASTC图,可以得知第四象限的正负性:

所以结果就是:

tan(9π/13):
同样的步骤求解:
1、画出象限:
9/13介于1/2和1之间,所以在第二象限。
2、找到参考角:
参考角是π和9π/13的差,所以π-9π/13=4π/13:

3、根据那张重要表求出参考角的三角函数值:
tan(4π/13)这个值是多少呀,貌似不在我们的重要表中:

那咋办,这里就写成:
tan(9π/13) = tan(4π/13),因为你无法再化简了。
4、使用ASTC图来决定你是否要添加一个负号:
由于在第二象限的正负性为:

所以最终结果为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):
这个就改一句代码既可:


跟课本上的也差不多:

总结:
好,关于三角函数的基础知识就回顾到这了,基本这块忘得差不多了,这么一回顾让自己对未来的学习也更加的自信,下次就正式进入高等数学的章节了---极限~~
关注个人公众号,获得实时推送

边栏推荐
猜你喜欢

一、excel转pdf格式jacob.jar

3D激光SLAM:LeGO-LOAM论文解读---点云分割部分

准确率(Accuracy)、精度(Precision)、召回率(Recall)和 mAP 的图解

【虚拟化生态平台】树莓派安装虚拟化平台操作流程

3.网页信息解析方法:Xpath与BeautifulSoup

文件包含漏洞

LeetCode 1161.最大层内元素和:层序遍历
![[Virtualization Ecological Platform] Platform Architecture Diagram & Ideas and Implementation Details](/img/a5/29c59399eea5466277a840922bdcef.png)
[Virtualization Ecological Platform] Platform Architecture Diagram & Ideas and Implementation Details

拥抱趋势!阿里这套微服务开源框架权威手册,实战到底层细致清晰

Distributed id solution
随机推荐
「MySQL」- 基础增删改查
学习笔记 Golang 写入文件(io.WriteString、ioutil.WriteFile、file.Write、write.WriteString)
AWS亚马逊云账号注册,免费申请12个月亚马逊云服务器详细教程
关于IDEA开发工具的介绍
VBA输出日志到工作簿demo
基于Multisim的函数信号发生器–方波、三角波、正弦波[通俗易懂]
关于==和equals的区别和联系,面试这么回答就可以
Docker实践经验:Docker 上部署 mysql8 主从复制
生命不息,刷题不止,简单题学习知识点
最全phpmyadmin漏洞汇总
keras自带数据集(横线生成器)
mysql automatically adds creation time and update time
Read through the interface to call the artifact RestTemplate
关于Mysql数据库的介绍
矩形脉冲波形的占空比及脉冲和瞬态特征的测量
Docker installs canal and mysql for simple testing and achieves cache consistency between redis and mysql
Threading(in thread main)
R 语言data.frame 中的另一行中减去一行
MySQL 的几种碎片整理方案总结(解决delete大量数据后空间不释放的问题)
分布式id解决方案