我简化了我的问题,让我说我有三个矩阵。

我要提取红盒子矩阵。我定义
S = [1 4;
2 5]这是上述矩阵的线性指数。因此,A(S), B(S)和C(S)可以提取这三个矩阵的条目。
我用V = [ A(S)(:); B(S)(:); C(S)(:) ]把它们打包成矢量。让我说,经过一些操作之后,我得到了一个新的向量。
V_new = [12 9 8 12 21 8 7 5 3 12 11 10]'
我的问题是:
对于矩阵A,我想得到
2->12, 5->9, 4->8 and 6->12
这是我的V_new的前四个条目。
因为我有大约200个矩阵,所以我不知道同时交换200个矩阵和更新的向量V_new。编写for-loop是实现这一目的的最佳方式吗?
提前谢谢。
发布于 2015-08-03 11:56:09
假设您的A、B和C矩阵具有相同的维度,则应该使用3D矩阵。
假设你的例子矩阵
M = cat(3,A,B,C)不可以提取这4个左上角元素:
M_subset = M(1:2,1:2,:)然后把它们重塑成你拥有的向量:
V = M_subset(:)然后操作它以获得V_new,最后将它放回原版:
M(1:2,1:2,:) = reshape(V_new,2,2,[])https://stackoverflow.com/questions/31785708
复制相似问题