【发布时间】:2016-06-30 01:07:48
【问题描述】:
我有一个矩阵,可以这样说
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))
【问题讨论】:
-
顺便说一句,I中的值不对应行数和列数之和,是最小值所在的列数,对我来说它返回3,这是位置1 在子矩阵中
-
是的,我弄错了,我改了。是的,但我想要整个矩阵中的位置而不是子矩阵。对于这个例子,我希望它给出 5 而不是 3。
-
[MinVal,I] = min(A(r,c:c+x))和I += (c - 1)应该这样做...? (是的,我的 matlab 太生疏了,无法将两个表达式组合成一个) -
谢谢,我是这样做的,但我想也许有一种从一开始就可以得到它的方法。
-
好的,两行也不长:)。只是想检查是否存在更短的方法。无论如何,您可以将其放在答案中,以便我接受。