在使用Matlab肯定會(huì)碰到Matlab求解數(shù)組中的最大值以及它所在的位置的問題。博主開始用循環(huán)的方法找,既浪費(fèi)時(shí)間又消耗資源,后面查找后才發(fā)現(xiàn)有簡(jiǎn)單快速的方法。下面就簡(jiǎn)單介紹一下這種方法。
1、電腦環(huán)境
電腦環(huán)境:Windows 10 教育版
MATLAB:MATLAB R2014a
2、方法
1.1、一維數(shù)組
在Matlab隨機(jī)生成一維數(shù)組或者手動(dòng)輸入
a = [1,9,24,8,7,16]
[m,p]=max(a)
利用max函數(shù),將一維數(shù)據(jù)放入max(一維數(shù)組)中
最終利用Max函數(shù)輸出最大值和位置
1.2、二維數(shù)組
在Matlab隨機(jī)生成或者手動(dòng)輸入二維數(shù)組
利用Max函數(shù)來求解最大值,但是因?yàn)槭嵌S數(shù)組,所以需要使用兩次Max函數(shù)
利用find函數(shù)來尋找最大值在二維矩陣中位置
最后,輸出最終結(jié)果
補(bǔ)充: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);%求對(duì)角線向量
lamda=max(eigenvalue)%求最大特征值
for i=1:length(A)%求最大特征值對(duì)應(yīng)的序數(shù)
if lamda==eigenvalue(i)
break;
end
end
y_lamda=x(:,i)%求矩陣最大特征值對(duì)應(yīng)的特征向量
整體比較簡(jiǎn)單…
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
您可能感興趣的文章:- 解決python調(diào)用matlab時(shí)的一些常見問題
- 如何用Matlab和Python讀取Netcdf文件
- python matlab庫簡(jiǎn)單用法講解
- windows下python 3.9 Numpy scipy和matlabplot的安裝教程詳解
- 如何基于matlab相機(jī)標(biāo)定導(dǎo)出xml文件
- MATLAB 如何求取離散點(diǎn)的曲率最大值