簡體   English   中英

八度/ Matlab:兩個向量中的最小值

[英]Octave/Matlab: min of two vectors

讓我們采取兩個向量:

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

為什么? 如何獲得它們? 有沒有簡單的方法?

擁有正確的見解是一個問題:

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

這是這樣做的方法:

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

您必須考慮ix的預期輸出。

這將顯示最小的向量:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM