我有一个p-by-p-by-n张量.我想为每个p-by-p切片提取对角元素.有没有人知道如何做到这一点没有循环?
谢谢.
我有a1 a2 a3.它们是常数.我有一个矩阵A.我想要做的是获得a1*A,a2*A,a3*A三个矩阵.然后我想将它们转换成对角块矩阵.对于三个常数的情况,这很容易.我可以让b1 = a1*A,b2 = a2*A,b3 = a3*A,然后在matlab中使用blkdiag(b1,b2,b3).
如果我有n个常数,a1 ......一个怎么办?我怎么能在没有任何循环的情况下做到这一点?我知道这可以通过kronecker产品完成,但这非常耗时,你需要做很多不必要的0*常量.
谢谢.
我有两个张量:x是2乘2乘3,y也是2乘2乘3.定义张量的每个正面切片是x1 x2 x3,y1,y2,y3.xi或yi是2乘2矩阵.如何在matlab中在x和y之间做kronecker产品?我想要得到的是同时没有任何循环的matlab中的kron(x1,y1),kron(x2,y2),kron(x3,y3).
我有两个向量,A = [1,3,5]
和B = [1,2,3,4,5,6,7,8,9,10]
.我想C=[2,4,6,7,8,9,10]
通过提取一些元素B
是A
没有.
我不想使用循环,因为这是来自真实数据模拟的简化问题.在真实的情况下A
,B
是巨大的,但A
包括在内B
.
在matlab中,我有一个矩阵和索引向量v(在实际问题中,v向量很长)
A = [1,2,3;4,5,6;7,8,9]; % 3-by-3 matrix
v = [1,2,3,2,3,3,1]
Run Code Online (Sandbox Code Playgroud)
我怎样才能生成像这样的矩阵
[A(1,:);A(2,:);A(3,:);A(2,:);A(3,:);A(3,:);A(1,:)]
Run Code Online (Sandbox Code Playgroud)
没有使用循环或明确写出一切?