如何找出矩阵中相同元素最多的那个值

如题所述

编程思路:统计矩阵中每一个元素的出现次数,并得出一个输出次数矩阵。找出次数最大的元素的下标,进而得出出现次数最多的那个值。代码如下:

clc;clear;

A=randi(6,6,6)%一个10×10的随机正整数矩阵,元素最大值为10

B=zeros(6);%初始化对应次数矩阵

for index=1:36

    B(index)=sum(sum(A==A(index)));%统计所有元素出现次数

end

[B,i]=max(B);

[B,j]=max(B);

i=i(j);%到此行为止找到一个出现次数最多的元素的下标,行标i,列标j

Bmax=B%显示出现次数

A(i,j)%显示这个出现最多的元素

[i,j]=find(A==A(i,j));

[i,j]%显示所有的出现过的位置的行标与列标


测试结果如下:

生成随机矩阵为:


由上到下依次显示的为:最高出现次数、有最高出现次数的元素、该元素出现位置

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-04-03
排下序,找个数,选最大的,输出。

clear all
clc

a=[1,2,3,4,5,2,2,2,3,3,3,3,2,4,4,4,4,2,2,3,3,3,3,3,3,3,2,2,1,1,1,1,1];
b=sort(a);
[c,en]=unique(b);
d=en-[0,en(1:end-1)]
[max_val,max_ind]=max(d);
c(max_ind) http://www.ilovematlab.cn/forum.php?mod=viewthread&tid=212229&page=1&authorid=138727本回答被提问者和网友采纳
第2个回答  2015-12-05
【知识点】
若矩阵A的特征值为λ1,λ2,...,λn,那么|A|=λ1·λ2·...·λn

【解答】
|A|=1×2×...×n= n!
设A的特征值为λ,对于的特征向量为α。
则 Aα = λα
那么 (A²-A)α = A²α - Aα = λ²α - λα = (λ²-λ)α
所以A²-A的特征值为 λ²-λ,对应的特征向量为α

A²-A的特征值为 0 ,2,6,...,n²-n

【评注】
对于A的多项式,其特征值为对应的特征多项式。
线性代数包括行列式、矩阵、线性方程组、向量空间与线性变换、特征值和特征向量、矩阵的对角化,二次型及应用问题等内容。
相似回答