回覆列表
  • 1 # lanfengz3

    argmax是一種函式,是對函式求引數(集合)的函式。當我們有另一個函式y=f(x)時,若有結果x0= argmax(f(x)),則表示當函式f(x)取x=x0的時候,得到f(x)取值範圍的最大值;若有多個點使得f(x)取得相同的最大值,那麼argmax(f(x))的結果就是一個點集。

    換句話說,argmax(f(x))是使得 f(x)取得最大值所對應的變數點x(或x的集合)。arg即argument,此處意為“自變數”。

    擴充套件資料:

    舉例說明max函式的意思

    (1)max(a)

    如果a是一個矩陣,比如a=[1,2,3;4,5,6],max(a)的意思就是找出矩陣每列的最大值,

    本例中:max(a)=[4,5,6]

    (2)max(a,b)

    如果a和b都是大於1維的矩陣,那麼要求a和b的行列的維數都要相等,函式的結果是比較a和b中每個元素的大小,比如:

    a=[1,2,3;4,5,6] b=[4,5,6;7,8,3]

    max(a,b)=[4,5,6;7,8,6]

    另外,如果a和b中至少有一個是常數,也是可以的。比如:

    a=[1,2,3;4,5,6] b=3 c=5

    max(a,b)=[3,3,3;4,5,6]

    max(b,c)=5

    (3)max(a,[],dim)

    這個函式的意思是針對於2維矩陣的,dim是英文字母dimension的縮寫,意思是維數。

    當dim=1時,比較的a矩陣的列,也就是和max(a)的效果是一樣的;當dim=2時,比較的是a矩陣的行。

    下面舉個例子:

    a=[1,2,3;4,5,6]max(a)=max(a,[],1)=[4,5,6]比較的第一行和第二行的值

    max(a,[],2)=[3,6]

    (4)[C,I]=max(a)

    C表示的是矩陣a每列的最大值,I表示的是每個最大值對應的下標: [3]

    下面舉例說明:

    還是剛才那個例子:a=[1,2,3;4,5,6][C,I]=max(a)

    結果顯示的是C=[4,5,6]I=[2,2,2]返回的是最大值對應的行號。

    (5)[C,I]=max(a,[],dim)

    同理:如果dim=1時,其結果和[c,i]=max(a)是一樣的。

    當dim=2時,同樣上面的矩陣a,我們執行一下:

    [c,i]=max(a,[],2)結果是:c=[3,6]i=[3,3]i返回的是矩陣a的列號。

    參考資料:

  • 中秋節和大豐收的關聯?
  • 酒仙橋中路18號怎麼走?