Avoiding for loops for multiplication of multidimensional matrices
1 次查看(过去 30 天)
显示 更早的评论
I have to do a matrix multiplication of two vectors in principle to get a scalar. The vectors are (1 x 2) and (2 x 1). However, I need to do this for a lot of cases. Those cases are defined in matrix form like the following.
for i = 1:Niter
for k = 1:Cn
for ti = 1:T
E(i, k, ti) = [D(ti, :) - squeeze(y(i, k, ti, :)).'] * [D(ti, :) - squeeze(y(i, k, ti, :)).'].'
end
end
end
So, `D` is a matrix with T x 2 size, y is a 4D matrix with size `Niter x Cn x T x 2`. Is there a way to avoid these for loops? I just want to compute the row and column vectors for all different cases `Niter`, `Cn` and `T`.
0 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!