Matlab求解數組中的最大值及它所在的具體位置

在使用Matlab肯定會碰到Matlab求解數組中的最大值以及它所在的位置的問題。博主開始用循環的方法找,既浪費時間又消耗資源,後面查找後才發現有簡單快速的方法。下面就簡單介紹一下這種方法。

1、電腦環境

電腦環境:Windows 10 教育版

MATLAB:MATLAB R2014a

2、方法

1.1、一維數組

在Matlab隨機生成一維數組或者手動輸入

a = [1,9,24,8,7,16]
[m,p]=max(a)

利用max函數,將一維數據放入max(一維數組)中

這裡寫圖片描述

最終利用Max函數輸出最大值和位置 這裡寫圖片描述

1.2、二維數組

在Matlab隨機生成或者手動輸入二維數組

這裡寫圖片描述

利用Max函數來求解最大值,但是因為是二維數組,所以需要使用兩次Max函數

這裡寫圖片描述

利用find函數來尋找最大值在二維矩陣中位置

這裡寫圖片描述

最後,輸出最終結果

這裡寫圖片描述

補充:Matlab 如何求最大特征值和特征向量

我就廢話不多說瞭,大傢還是直接看代碼吧~

A=[1,4,2,4;
    1/4,1,1/2,1;
    1/2,2,1,1/2;
    1/4,1,2,1];
A=[3,2,4;
    2,0,2;
    4,2,3]
[x,y]=eig(A);%求矩陣的特征值和特征向量,x為特征向量矩陣,y為特征值矩陣。
eigenvalue=diag(y);%求對角線向量
lamda=max(eigenvalue)%求最大特征值
for i=1:length(A)%求最大特征值對應的序數
    if lamda==eigenvalue(i)
        break;
    end
end
y_lamda=x(:,i)%求矩陣最大特征值對應的特征向量

整體比較簡單…

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。如有錯誤或未考慮完全的地方,望不吝賜教。

推薦閱讀:

    None Found