11.05的一些杂项
你可以使用 NumPy 中的 np.einsum
或者 np.multiply
来完成矩阵列向量的对应元素相乘的操作。
假设矩阵 A 的形状为 (m, n)
,矩阵 B 的形状为 (m, n)
,你希望得到每一列对应元素相乘后的结果。
使用 np.einsum
:
np.einsum
是一个非常灵活的函数,可以执行多种数组操作,包括矩阵乘法和按元素操作。
1 | import numpy as np |
使用 np.multiply
和 np.sum
:
如果你想用更直观的方式,可以逐列相乘,然后求和:
1 | import numpy as np |
解释:
np.einsum('ij,ij->i', A, B)
的意思是,对 A 和 B 中的每一列执行元素乘法,然后将每列的乘积加和。A * B
会对两个矩阵按元素进行相乘,np.sum(..., axis=0)
会对每列的结果进行求和。
两种方法都会得到类似的输出,表示每列向量的乘积和。
你可以使用 NumPy 的 np.tile()
或 np.repeat()
来完成这个操作。假设你有一个形状为 (m, 1)
的列向量,你想将其复制 n
份,得到一个形状为 (m, n)
的矩阵。
使用 np.tile
:
np.tile
可以将数组沿着指定的轴重复多次。
1 | import numpy as np |
使用 np.repeat
:
np.repeat
是按元素重复,但也可以通过调整形状来实现类似效果。
1 | import numpy as np |
结果:
对于上述代码,无论是 np.tile
还是 np.repeat
,你都会得到一个形状为 (m, n)
的矩阵,其中每列都与原始列向量相同。
例如,输入 vector = [[1], [2], [3]]
和复制 3 份,会得到:
1 | [[1 1 1] |
两种方法都可以达到相同的效果,选择哪种取决于个人偏好。
如果你想创建一个元素全为 2 的矩阵,可以使用 NumPy 的 np.full()
函数。它允许你指定矩阵的形状和填充的数值。
示例:
1 | import numpy as np |
输出:
1 | [[2 2 2 2] |
解释:
np.full(shape, fill_value)
:shape
是你想要的矩阵形状,fill_value
是你希望填充的值。
这个方法非常适合在创建矩阵时直接设置特定的值。如果你需要一个矩阵全为其他数字,只需要调整 fill_value
。
压缩文件
.rar
https://blog.csdn.net/weixin_41271939/article/details/109095207
ubuntu处理rar文件的方法
一般来说ubuntu默认是无法直接解压缩rar文件的,需要安装处理rar文件的工具,不过幸运的是,安装过程十分简单:
安装压缩rar工具:在终端输入
1 | sudo apt-get install rar |
安装解压缩rar工具:在终端输入
1 | sudo apt-get install unrar |
使用方法:
命令有:
1 | e Extract files without archived paths |
主要用的几个命令
1 | unrar e test.rar : 把压缩文件解压到当前目录(建议在rar所在的文件夹中打开终端) |
.7z
https://blog.csdn.net/xiaoming_zhong/article/details/52325226
安装:apt-get install p7zip-full
解压7z:使用方法:7z x file file是你要解压的文件名。
解压tar.bz2: sudo tar -jxvf file.tar.bz2。
解压tar: sudo tar -zxvf file.tar。