matlab中temp函数是什么意思,matlab里temp
这是我的理解。很高兴被纠正。希望这能有所帮助。
假设有一个23个元素的矩阵。这显然有两个方面。
如你所见,Matlab和Python没有区别,matrix需要根据已经拥有的维度来操作inputmatrix。所以这两个订单
repmat(m,M,n ) % matlab np.tile(M ) m,)M,n ) # python
对于2级矩阵(二维)是非常等价的。
如果精明的金毛寻回犬要求重复/平铺超出inputmatrix的维度,事情就会变得违背直觉。回到2级矩阵,设置为23。看到输出矩阵的大小/形状如何变化就足够了。我说操纵的顺序现在是一二。
在Matlab中
size(repmat(m,1,1,2 ) ) ans=2)3) 2
它复制inputmatrix的前两个维度(行和列),并将其复制到新的第三个维度一次,即两次。真正的重复矩阵被命名为repmat。
在Python中
NP.tile(m,(1,1,2))。shape (1,2,6)).
因为推测序列(1,1,2)的读取方法与Matlab不同,所以应用了不同的程序。从右至左读取列、行和面外尺寸的副本数。生成的对象具有与Matlab不同的形状。人们不能断言repmat和tile是相等的命令。
为了让tile像repmat一样工作,有必要确保Python中的inputmatrix与序列中的元素具有相同的维数。例如,它是在几个预处理和建立相关的对象n中完成的
n=m [ :np.newaxis]
然后不是输入端的m.shape=(2,3,3,1),而是输出端的n.shape=(2,3)。
NP.tile(n,(1,1,2))。shape (2,3,2))).
这是答案大小(repmat(m) m,1,1,2))。我觉得是因为Python引导他在2,3的右边加上了第三维(而不是左边),这样就可以像Matlab一样计算array (1,1,2)的读数了。
n的Python answer [:0]中的元素包含与元素[:1]相同的值。
最后,在使用克罗内克产品时,似乎不可能找到雷普马特的等价物。
NP。克朗(NP。个)、1、1、2、m、形状、1、2、6)。
除非我如上所述对M到N进行预处理。所以我认为最常用的方法是使用np.newaxis方法。
考虑到3级(3D)的矩阵和输出矩阵没有增加新维度的简单情况,游戏很麻烦。这两个看似等效的命令不会产生相同的结果。
repmat(L,p,q,r ) % matlab np.tile(L ) l,(p,q,r ) ) # python
因为Matlab中的行、列、面外方向是[p,q,r],而Python中是[q,r,p]。这在rank-2数组中是不可见的。这里,必须注意的是,需要更多的预处理来获得相同的结果和两种语言。
我知道这个推理可能不寻常,但它可以解决这个问题。希望这能给其他研究人员带来更大的考验。