第五章:数学运算-math:数学函数-三角函数
5.4.10 三角函数
三角函数将三角形中的角与其边长相关联。在有周期性质的公式中经常出现三角函数如谐波或圆周运动,在处理角时也会经常用到三角函数。标准库中所有三角函数的角参数都被表示为弧度。
给定一个直角三角形中的角,其正弦是对边长度与斜边长度之比(sinA=对边/斜边)。余弦是邻边长度与斜边长度之比(cosA=邻边/斜边)。正切对边与邻边之比(tanA=对边/邻边)。
import mathprint('{:^7} {:^7} {:^7} {:^7} {:^7}'.format('Degrees','Radians','Sine','Cosine','Tangent'))
print('{:-^7} {:-^7} {:-^7} {:-^7} {:-^7}'.format('-','-','-','-','-',))fmt = '{:7.2f} {:7.2f} {:7.2f} {:7.2f} {:7.2f}'for deg in range(0,361,30):rad = math.radians(deg)if deg in (90,270):t = float('inf')else:t = math.tan(rad)print(fmt.format(deg,rad,math.sin(rad),math.cos(rad),t))
正切也可以被定义为角的正弦值预期余弦值之比,因为弧度π/2和3π/2的余弦是0,所以相应的正切值为无穷大。
运行结果:
给定一个点(x,y),点[{0,0},(x,0),(x,y)]构成三角形中斜边长度未(x2 + y2)** 1/2,可以用hypot()来计算。
import mathprint('{:^7} {:^7} {:^10}'.format('X','Y','Hypotenuse'))
print('{:-^7} {:-^7} {:-^10}'.format('','',''))POINTS = [(1,1),(-1,-1),(math.sqrt(2),math.sqrt(2)),(3,4), # 3-4-5 triangle# On the circle(math.sqrt(2) / 2 ,math.sqrt(2) / 2), # pi/4 rads(0.5,math.sqrt(3) / 2), # pi/3 rads]for x,y in POINTS:h = math.hypot(x,y)print('{:7.2f} {:7.2f} {:7.2f}'.format(x,y,h))
对于圆上的点,其斜边总是等于1。
运行结果:
还可以用这个函数查看两个点之间的距离。
import mathprint('{:^8} {:^8} {:^8} {:^8} {:^8}'.format('X1','Y1','X2','Y2','Distance',))
print('{:-^8} {:-^8} {:-^8} {:-^8} {:-^8}'.format('','','','','',))POINTS = [((5,5),(6,6)),((-6,-6),(-5,-5)),((0,0),(3,4)), # 3-4-5 triangle((-1,-1),(2,3)), # 3-4-5 triangle]for (x1,y1),(x2,y2) in POINTS:x = x1 - x2y = y1 - y2h = math.hypot(x,y)print('{:8.2f} {:8.2f} {:8.2f} {:8.2f} {:8.2f}'.format(x1,y1,x2,y2,h,))
使用x值之差和y值之差将一个端点移至原点,然后将结果传入hypot()。
运行结果:
math还定义了反三角函数。
import mathfor r in [0,0.5,1]:print('arcsine({:1f}) = {:5.2f}'.format(r,math.asin(r)))print('arccosine({:1f}) = {:5.2f}'.format(r,math.acos(r)))print('arctangent({:1f}) = {:5.2f}'.format(r,math.atan(r)))print()
1.57大约等于π/2,或90度,这个角的正弦为1,余弦为0。
运行结果:
第五章:数学运算-math:数学函数-三角函数相关推荐
- 捋一捋Python中的数学运算math库(上篇)
正式的Python专栏第18篇,同学站住,别错过这个从0开始的文章! 很多学习编程的都多多少少学习了一些数学知识. 学委之前也简单吐槽了 Python中奇葩的round函数! 这篇我们讲讲那些常用的数 ...
- 第五章模糊查询和聚合函数
第五章模糊查询和聚合函数 一.模糊查询: 1.关键词:like 2._代表:一个字符,eg:like 'c',查询的结果是三个字,中间必须是c 3.%代表:多个字符,eg:like '%张',查询的结 ...
- java中math类方法之数学运算(pow,exp,三角函数,指数)
Math中定义了许多的方法,通过Math类就能直接调用,均为static类型. 1. 调用形式:Math.方法名 2.三角函数方法: static double sin(double a ) : 返 ...
- 凸优化第五章对偶 5.1Lagrange对偶函数
5.1Lagrange对偶函数 Lagrange Lagrange对偶函数 最优值的下界 例子 Lagrange对偶函数和共轭函数 Lagrange 标准形式的优化问题: 其中,问题的定义域,注意这里 ...
- Hive常用运算(关系运算)、逻辑运算与数学运算、数值运算、日期函数、条件函数、字符串函数
hive 常用运算 第一部分:关系运算 Hive支持的关系运算符 •常见的关系运算符 •等值比较: = •不等值比较: <> •小于比较: < •小于等于比较: <= •大于比 ...
- MaxCompute SQL函数详解 ODPS SQL函数详解---之常用数学运算相关函数
MaxCompute SQL函数详解 ODPS SQL函数详解---之常用数学运算相关函数 MaxCompute/ODPS SQL常用数学运算相关函数 ABS函数-计算绝对值 sql:select A ...
- 工程数学 计算方法 第五章 数值积分
工程数学 计算方法 第五章 数值积分 数值积分 数值微分 微分 差商法 原理 误差分析 优化:变步长算法 插值法 数值积分 机械求积公式 插值型数值积分 代数精度⭐ 节点等距分布 复合求积 复合求积基 ...
- Numpy数组常用函数汇总(数学运算、三角函数、位运算、比较运算及其它)
一.数学运算 函数名 description 说明 add(x1, x2, [, out, where, casting, order, -]) Add arguments element-wise. ...
- matlab vdp1000,第四章 MATLAB的数学运算.ppt
第四章MATLAB的数学运算要点 第四章 MATLAB的数学运算 MATLAB可以进行很多的数学运算, 如:多项式.线性插值.傅里叶变换和微分 方程等. 教学内容 多项式与插值 函数运算 微分方程 应 ...
最新文章
- 测试员薪资两极分化,如何成为月薪20K的自动化测试?
- mysql python 接口_Python中的MySQL接口:PyMySQL MySQLdb
- Power Strings_JAVA
- 在word中粘贴代码保持高亮
- 什么是量子计算-超级简单的给你个解释
- 【推荐】新冠肺炎的最新数据集和可视化和预测分析(附代码)
- 104. Maximum Depth of Binary Tree 二叉树的最大深度
- linux c 符号表,C中的符号表
- Mac下安装event库
- 博士生的deadline血泪史,这是一份来自Nature的避坑指南
- 微信开发2之php网页授权登录
- CMake 添加头文件目录,链接动态、静态库(添加子文件夹)
- mysql in过大_项目中常用的 19 条 MySQL 优化
- BZOJ 1011: [HNOI2008]遥远的行星( )
- Spark2.1.0之初体验
- offer来了java面试百度云版,精心整理
- 基于Dav快速搭建React开发框架
- HTML5七夕情人节表白网页制作 (蓝色主题-樱花雨3D相册)HTML+CSS+JavaScript
- 1、SONIX单片机新建工程与烧录流程
- 远程办公软件合集 总结好用的10款远程办公工具