在使⽤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; endend
y_lamda=x(:,i)%求矩阵最⼤特征值对应的特征向量
整体⽐较简单…
以上为个⼈经验,希望能给⼤家⼀个参考,也希望⼤家多多⽀持。如有错误或未考虑完全的地⽅,望不吝赐教。
因篇幅问题不能全部显示,请点此查看更多更全内容