我有一个矩阵让我们这样说
A=[1 3 6 2 0 4
6 8 9 5 1 4
7 2 7 8 9 2]
我希望获得给定行的最小值(r
),并且该列位于间隔([c.. c+x]
)中。我也想要索引(它的列数)。
我可以用
MinVal=min(A(r,c:c+x))
示例
MinVal=min(A(2,3:3+2))
会给我
% MinVal= 1
此MinVal的索引为I= 5
,因为它位于第5列(我已知道该行并且不需要它)。
但如何获得这个指数?
如果我喜欢这样,我就得不到我想要的东西
[MinVal,I]=min(A(r,c:c+x))
答案 0 :(得分:0)
它可能不是最短的代码,但却是一种易于理解的可能性:
创建一个掩码,指明您在子矩阵中使用的变量:
M=false(size(A));
M(r,c:c+x)=true; %use the same indexing operation
转换为线性指数:
M=find(M);
并使用它将I转换为完整矩阵中的索引:
M(I)