1. mat()
mat()与array的区别:
mat是矩阵,数据必须是2维的,是array的子集,包含array的所有特性,所做的运算都是针对矩阵来进行的。
array是数组,数据可以是多维的,所做的运算都是针对数组来进行的
(1) 数据能表示的维度不同,array数据可以是多维的,mat的数据必须是2维的。
array能表示超过2维的数据,而mat不能:
对于2维的数据,array和mat的表示形式完全一样(但运算不一样):
(2) 把array转换为mat
(3) matrix 和 array 都可以通过objects后面加.T 得到其转置。但是matrix objects 还可以在后面加 .H 得到共轭矩阵, 加 .I 得到逆矩阵。
(4) array遵从逐个元素的运算,array的类型的a和b的a*b的运算,相当与MATLAB中的a.*b的运算。
数组a,b的点乘乘法运算a*b (逐个元素的运算):
数组a,b的矩阵乘法运算:
相当于矩阵A,B的矩阵乘法运算:
(5) **运算不一样
对于array a,a**2运算相当于对于a的元素逐个求平方:
对于mat a,a**2运算相当于矩阵相乘a*a:
2. list和array的区别
(1) list是python的内置数据类型,list中的数据类型不必相同,主要用来作索性,可以通过索引查找数值,但不能对整个列表进行数值运算
但是可以进行+运算,表示的是两个列表的拼接:
(2) array的中的类型必须全部相同(同属于int,float,duoble)才能进行数组间的运算,否则也只能作索引: