Octave / Matlab:两个向量的min

时间:2013-12-10 20:52:05

标签: matlab octave min

让我们采取两个向量:

a = [1 ; 2; 3]
b = [0 ; 9 ; -5]

如果我想要矢量的最小值及其位置,我可以简单地说:

[x, ix] = min(a)

我还可以比较两个向量并获得最小值:

> min(a, b)
ans =

   0
   2
  -5

但是不可能获得两个向量的最小值的位置:

> [x, ix] = min(a, b)
x =

   0
   2
  -5

error: element number 2 undefined in return list

为什么呢?怎么弄他们?有一个简单的方法吗?

3 个答案:

答案 0 :(得分:3)

这是一个有正确见解的问题:

[x,ix] = min([a b],[],2)

答案 1 :(得分:3)

这是如何做到的:

[v id]=min([a,b]')

答案 2 :(得分:1)

您必须考虑ix的预期输出。

这显示了最小的向量:

ix=a<b;
x=a.*ix+b.*not(ix);