• Python机器学习(四十五)NumPy 数学函数


    Numpy包含大量的数学函数,如三角函数、算术函数和处理复数的函数等等,这些函数可以用来执行各种数学操作。

    三角函数

    Numpy中包含三角函数,用于不同角度的正弦、余弦和正切等就散。

    示例

    import numpy as np  
    arr = np.array([0, 30, 60, 90, 120, 150, 180])  
    print("
    角的正弦值",end = " ")  
    print(np.sin(arr * np.pi/180))  
    print("
    角的余弦值",end = " ")  
    print(np.cos(arr * np.pi/180))  
    print("
    角的正切值",end = " ")  
    print(np.tan(arr * np.pi/180))  

    输出

    角的正弦值
    [0.00000000e+00 5.00000000e-01 8.66025404e-01 1.00000000e+00
     8.66025404e-01 5.00000000e-01 1.22464680e-16]
    
    角的余弦值
    [ 1.00000000e+00  8.66025404e-01  5.00000000e-01  6.12323400e-17
     -5.00000000e-01 -8.66025404e-01 -1.00000000e+00]                                                            
    
    角的正切值
    [ 0.00000000e+00  5.77350269e-01  1.73205081e+00  1.63312394e+16
     -1.73205081e+00 -5.77350269e-01 -1.22464680e-16]

    另一方面,arcsin()arccos()arctan()函数返回指定角度的三角反函数。
    degrees()函数可用于验证这些三角函数的结果。

    示例

    import numpy as np 
    a = np.array([0,30,45,60,90]) 
    
    print ('包含正弦值的数组:') 
    sin = np.sin(a*np.pi/180) 
    print (sin) 
    print ('
    ')  
    
    print ('计算反正弦值,返回值以弧度为单位') 
    inv = np.arcsin(sin) 
    print (inv) 
    print ('
    ')  
    
    print ('转换成角度数:') 
    print (np.degrees(inv))
    print ('
    ')  
    
    print ('arccos和arctan函数行为类似:') 
    cos = np.cos(a*np.pi/180) 
    print (cos) 
    print ('
    ')  
    
    print ('反余弦:') 
    inv = np.arccos(cos) 
    print (inv) 
    print ('
    ')  
    
    print ('转换成角度值:') 
    print (np.degrees(inv)) 
    print ('
    ')  
    
    print ('正切函数:') 
    tan = np.tan(a*np.pi/180) 
    print (tan)
    print ('
    ')  
    
    print ('反正切:') 
    inv = np.arctan(tan) 
    print (inv) 
    print ('
    ')  
    
    print ('转换成角度值:') 
    print (np.degrees(inv))  

    输出

    包含正弦值的数组:
    [0.         0.5        0.70710678 0.8660254  1.        ]
    
    
    计算反正弦值,返回值以弧度为单位
    [0.         0.52359878 0.78539816 1.04719755 1.57079633]
    
    
    转换成角度数:
    [ 0. 30. 45. 60. 90.]
    
    
    arccos和arctan函数行为类似:
    [1.00000000e+00 8.66025404e-01 7.07106781e-01 5.00000000e-01
     6.12323400e-17]
    
    
    反余弦:
    [0.         0.52359878 0.78539816 1.04719755 1.57079633]
    
    
    转换成角度值:
    [ 0. 30. 45. 60. 90.]
    
    
    正切函数:
    [0.00000000e+00 5.77350269e-01 1.00000000e+00 1.73205081e+00
     1.63312394e+16]
    
    
    反正切:
    [0.         0.52359878 0.78539816 1.04719755 1.57079633]
    
    
    转换成角度值:
    [ 0. 30. 45. 60. 90.]

    舍入函数

    numpy.around()

    around()函数返回四舍五入到指定精度的值。

    numpy.around(num, decimals)  

    参数:

    • num 输入数值。
    • decimals 四舍五入的精度。默认值为0,如果是负数,对小数点之前进行四舍五入。

    示例

    import numpy as np 
    a = np.array([1.0,5.55, 123, 0.567, 25.532]) 
    
    print ('数组原始值:') 
    print (a) 
    print ('
    ')  
    
    print ('四舍五入后:') 
    print (np.around(a)) 
    print (np.around(a, decimals = 1)) 
    print (np.around(a, decimals = -1)) 

    输出

    数组原始值:                                                               
    [   1.       5.55   123.       0.567   25.532] 
    
    四舍五入后:                                                               
    [   1.    6.   123.    1.   26. ]                                               
    [   1.    5.6  123.    0.6  25.5]                                          
    [   0.    10.  120.    0.   30. ]

    numpy.floor()

    floor()函数用于对数值往小取整。

    示例

    import numpy as np 
    a = np.array([-1.7, 1.5, -0.2, 0.6, 10]) 
    
    print ('数组原始值:') 
    print (a) 
    print ('
    ')  
    
    print ('修改后:') 
    print (np.floor(a))

    输出

    数组原始值:                                                              
    [-1.7  1.5 -0.2  0.6 10. ]
    
    
    修改后:                                                           
    [-2.  1. -1.  0. 10.]

    numpy.ceil()

    ceil()函数用于对数值往小取整。

    示例

    import numpy as np 
    a = np.array([-1.7, 1.5, -0.2, 0.6, 10]) 
    
    print ('数组原始值:') 
    print (a) 
    print ('
    ')  
    
    print ('修改后:') 
    print (np.ceil(a))

    输出

    数组原始值:                                                              
    [-1.7  1.5 -0.2  0.6 10. ]
    
    修改后:                                                           
    [-1.  2. -0.  1. 10.]
  • 相关阅读:
    转:一道笔试题-将int型数组强制转换为char*,再求strlen,涉及大小端
    转:git windows中文 乱码问题解决汇总
    git教程1
    刘汝佳黑书 pku等oj题目
    C/C++ qsort()快速排序用法
    char s[]字串和char *s字串有什麼区别?
    c语言‘’ ,‘0’, “0” ,0之间的区别
    带符号的char类型取值范围为什么是-128——127
    c语言memset详解
    【线性规划与网络流24题】孤岛营救问题 分层图
  • 原文地址:https://www.cnblogs.com/huanghanyu/p/13161959.html
Copyright © 2020-2023  润新知