2024-03-06 16:10:01 | 我爱编程网
使用numpy创建矩阵有2种方法,一种是使用numpy库的matrix直接创建,另一种则是使用array来创建。首先加载numpy库,然后分别用上面说的2种方法来分别构建一个4×3的矩阵,如图
请点击输入图片描述
2
矩阵创建好了,大家看到了2个矩阵长得差不多,是否相等呢?我们用==(python中用==表示等于)来试试看看,如下图
请点击输入图片描述
3
我们下面看看2个矩阵相乘的结果,可以看到使用matrix创建的矩阵m1乘以自身,结果报错了:因为矩阵相乘需要满足一定的条件[1];而使用array创建的矩阵m2乘以自身,结果并没有报错,因为这里用的是Hadamard乘法[2];而m1×m2也报错了,说明只要有一个是matrix,就不能用Hadamard乘法,如图所示
请点击输入图片描述
请点击输入图片描述
请点击输入图片描述
下面看几个特殊矩阵[3]:使用np.zeros可以生成零矩阵,使用np.ones可以生成1矩阵,使用np.identity可以生成
单位矩阵
,使用np.diag可以生成
对角矩阵
,如图所示
请点击输入图片描述
请点击输入图片描述
5
最后看看矩阵的行向量和
列向量
提取方法。例如m1[[0,3]]表示提取矩阵m1的第0行和第3行[4],当然也可以用m1[[True,False,False,True]]来达到同样的效果,True就是表示对应的行要提取;而m1[:,[-2,-1]]则是提取矩阵的最后2列的列向量,m1[:,[False,True,True]]的一样可以提取最后2列的列向量,如图所示
请点击输入图片描述
请点击输入图片描述
END
注意事项
[1]在
高等数学
或者
线性代数
等已经学过了当后面的矩阵的行数等于前面矩阵的列数时,2个矩阵才可以相乘
[2]Hadamard指的是2个m×n的矩阵相乘,结果仍然是m×n的矩阵,结果为对应元素的乘积
[3]单位矩阵是特殊的对角矩阵,零(1)矩阵是指元素全部是0(1)的矩阵
[4]矩阵的第一行是从0开始编号的,python中的各种编号基本上都是从0开始的
我爱编程网(https://www.52biancheng.com)小编还为大家带来Python 编程,绘图与矩阵,详细在图里,求代码,急用的相关内容。
import numpy as np
a=np.mat('-1,4,0;3,4,-4;-10,-12,5')
b=np.mat('-72;-4;-50')
c=np.linalg.solve(a,b)
print(c)
我爱编程网(https://www.52biancheng.com)小编还为大家带来Python 编程,绘图与矩阵,详细在图里,求代码,急用的相关内容。
fx是方程f(x)的系数列表
gx是方程g(x)的系数列表
q是多项式g(x)除以f(x)的商
r是多项式g(x)除以f(x)的余数
rx是多项式f(x)乘以g(x)的结果
import numpy as np
fx=[1,-14,48]
fxroots=np.roots(fx)
print(fxroots)
gx=[1,-9,18,31,-102]
gxroots=np.roots(gx)
print(gxroots)
q,r=np.polynomial.polynomial.polydiv(gx,fx)
print(q,r)
rx=np.polynomial.polynomial.polymul(fx,gx)
print(rx)
2024-01-05 14:11:24
2025-02-01 20:24:39
2025-02-12 03:21:37
2025-02-10 15:19:48
2025-01-28 17:58:32
2024-11-22 05:08:01