人生苦短,我用Python
#使用numpy构建矩阵
'''
数组的创建可以使用numpy模块中的array函数实现,一维数组只需要传入一个列表或元组,
二维数组则是传入嵌套的列表或元组
'''
import numpy as np
import math
array1=np.array([1,2,3,4,5,6,7])
print(array1) #will return:[1 2 3 4 5 6 7]
array2=np.array((12,1,13,14,16))
print(array2) #will return:[12 1 13 14 16]
array3=np.array([[2,3,4,5],[7,8,9,10],[2,6,7,9]])
print(array3)
'''
[[ 2 3 4 5]
[ 7 8 9 10]
[ 2 6 7 9]]
'''
#返回行数和列数
print(array3.shape) #返回(3,4)代表3行4列
#元素的获取
print(array3[:,2]) #获取二维数组的第三列,return:[4 9 7]
print(array3[1,:]) #获取二维数组的第二列,return:[ 7 8 9 10]
print(array3[2,3]) #获取第三行第四列的元素
print(array3[[0,2],:]) #获取二维数组的第一行和第二行
'''
[[2 3 4 5]
[2 6 7 9]]
'''
print(array3[:,[0,1,3]]) #获取二维数组的第一列,第二列,第四列
'''
[[ 2 3 5]
[ 7 8 10]
[ 2 6 9]]
'''
print(array3[[0,2],[2,3]]) #获取第一行、第三列元素,第三行、第四列元素,return:[4 9]
print(array3[[0,2],:][:,[2,3]])
print(array3[np.ix_([0,2],[2,3])])
'''
[[4 5]
[7 9]]
'''
#取绝对值
print(np.abs(-3)) #return:3
print(np.fabs(-3)) #return:3.0
#算术平方根
print(np.sqrt(5)) #return:2.2360679775
print(np.exp(2)) #指数return:7.38905609893
print(np.sqrt(4)) #算术平方根return:2.0
print(np.log2(4)) #以2为底4的对数,return:2.0
print('*********')
print(np.log10(10)) #以10为底10的对数,return:1.0
print('*********')
print(np.log(4)) #return:1.38629436112
#符号函数(大于0的数返回1、小于0的数返回-1、0返回0值)
print(np.sign(0)) #return:0
print('*********')
print(np.sign(2)) #return:1
print('*********')
print(np.sign(-2)) #return:-1
print(np.ceil(2.34)) #向上取整return:3.0
print(np.ceil(-2.34)) #向上取整return:-2.0
print(np.floor(2.34)) #向下取整return:2.0
print(np.floor(-2.34)) #向下取整return:-3.0
#返回最近的整数
print(np.rint(2.34)) #return:2.0
#判断是否缺失
print(np.isnan(2)) #return:true
#判断是否有限
print(np.isfinite(math.pi)) #return:True
print(np.isfinite(2)) #return:True
#判断是否无限
print(np.isinf(2)) #return:False
#幂运算
print(np.power(2,3)) #return:8,即2的3次方
#余数
print(np.mod(17,5)) #return:2