ndfc.net
当前位置:首页 >> mAtlAB中如何求一个矩阵,每一行中出现次数最多的... >>

mAtlAB中如何求一个矩阵,每一行中出现次数最多的...

给你一个函数,maxnum 这个函数可以统计一个矩阵里面出现次数最多的元素,并且返回给元素出现的次数。 使用方法:[x,n]=...

mode 函数就是求 众数 和 众数的频数 的函数。试试下面代码: A=[1 2 2 2 3;3 3 3 4 4;] b=[]; [m n]=size(A); for i = 1 : m [k l]=mode(A(i,:)); b=[b;k l]; end b

A=[1 2 2 5 5 6 3 8];%expample:any vector table=tabulate(A); [F,I]=max(table(:,2)); I=find(table(:,2)==F); result=table(I,1) 频率最多的元素可能有多个,该程序可以 找到全部的结果,F即为频数

tabulate函数 用于统计矩阵中各元素出现的次数 >> x = [2 2 6 5 2 3 2 4 3 4 3 4 4 4 4 2 2 6 0 4 7 2 5 8 3 1 3 2 5 3 6 2 3 5 4 3 1 4 2 2 2 3 1 5 2 6 3 4 1 2 5];>> tabulate(x(:)) Value Count Percent 0 1 1.96% 1 4 7.84% 2 14 27.45% 3...

可以求,但一般情况下,由于出现最少的数可能有多个,而每个数又可能出现在多个位置,导致结果可能会比较复杂。最好题主再明确一下条件。

>> A = [1 2 3 4;2 3 4 1;1 2 3 4;1 1 2 3]; B = A; B(B~=1) = 0; R = sum(B) R = 3 1 0 1

找矩阵a每列的最大值 [max_a,index]=max(a); 或者[max_a,index]=max(a,[],1); 其中max_a是最大的数值,index是最大的数值所处的位置。 例如: a = 1 2 3 2 4 5 6 1 3 >> [max_a,index]=max(a) max_a = 6 4 5 index = 3 2 2 找矩阵a每行的最大值...

X=[a b c d e f g h]; %先将8个合拼为一个大矩阵 [Y m n]=unique(X); %求出单个 Z=tabulate(n); %统计次数 X(m(Z(Z(:,2)==4,1))) ans = 17 18 25 26

第一次可以运行,此时调用max函数求取A的第三列的最大值和所在行数,max更新为常数; 第二次运行时,max(A(:,3))表示的是第一次产生的max矩阵中A(:,3)位置的三个数,由此发生错误; 如果要多次使用,可以在第一次[max,rows]=max(A(:,3))后>>clea...

其实还是要使用repmat函数,只不过需要再辅以一点其它手段。 参考代码(仅用于说明问题,把100改为3,200改为5): >> A=(1:3)'A = 1 2 3>> B=repmat(A',5,1);>> B(:)ans = 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3

网站首页 | 网站地图
All rights reserved Powered by www.ndfc.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com