我可以在nD矩阵上使用mldivide“ \”,而不在MATLAB中使用for循环吗?

问题描述 投票:0回答:1

是否可以在不使用mldivide循环的情况下在MATLAB中的n维矩阵上使用\for)?例如,如果我有X=rand (5,5,2,3,6)Y=[0;0;0;0;1];,是否可以沿其他维度对每5 * 5数组进行切片以针对Y求解?

matlab matrix multidimensional-array matrix-inverse
1个回答
0
投票

我在Bruno Luong的帮助下解决了这个问题,他的多解算器找到了here。考虑到前两个尺寸相同,下面的代码可以解决任意多个尺寸。

M=rand(5,5,2,3,6);
RHS=[0;0;0;0;1];
sx = size(M);
sy = size(RHS);
dx = ndims(M);
MSOL=MultiSolver(reshape(M,sx(1),sx(2),[]),RHS);
MSOL = reshape(MSOL, [sx(2) sy(2) sx(3:dx)]);
© www.soinside.com 2019 - 2024. All rights reserved.