精华内容
下载资源
问答
  • 想去掉矩阵里面重复的元素,或者计算每个不同元素出现的次数。发现了matlab的集合运算函数,准备总结一下。 集合运算操作有交、并等操作,这篇主要介绍unique这个函数的一些用法 1、去掉矩阵A重复的行 2、元素的...

    想去掉矩阵里面重复的元素,或者计算每个不同元素出现的次数。发现了matlab的集合运算函数,准备总结一下。

    集合运算操作有交、并等操作,这篇主要介绍unique这个函数的一些用法

    目录

    1、去掉矩阵A中重复的行

    2、元素的计数(每一行或单个元素)


     

    1、去掉矩阵A中重复的行

    (1)[C,ia,ic] = unique(A,'rows'); % 如果A是向量就可以不加'rows' 

    返回值:C -> 已排序的不含重复行的矩阵;

                   ia -> C中每一行在A中对应的索引,C = A(ia,:);  % 重复行的索引默认是第一次出现的位置

                   ic -> A中每一行在C中对应的索引,A = C(ic,:);

    (2)返回的矩阵保持原来的顺序:[C,ia,ic] = unique(A,'rows',setorder); % setoder可以是‘sorted’(默认,已排序)或'stable' (还是原来的顺序)

    这个时候C中每一行还是矩阵A中的顺序,只是保留的是第一个重复值。同时ia,ic也随之发生了变化。

    (3)重复值的索引是最后一次出现的位置:[C,ia,ic] = unique(A,'rows',occurrence); % occurrrence可以是‘first’ (默认,第一次出现的位置)或'last'

    P.s.:setorder和occurence不能同时指定;

    2、元素的计数(每一行或单个元素)

    [C,ia,ic] = unique(A,'rows'); 

    A_counts = accumarray(ic,1); % 计算 C中的每个元素在A中出现的次数

    value_counts = [C,A_counts]; % 汇总结果

    如果是矩阵(向量)A中每个元素出现的次数,[C,ia,ic] = unique(A); % 这里不加‘rows’就可以啦

    如有错误,请指正,谢谢

    参考资料:

    https://ww2.mathworks.cn/help/matlab/set-operations.html

    展开全文
  • 1.求矩阵中各个不同的元素出现的次数 tabulate Frequency table.  TABLE = tabulate(X) takes a vector X and returns a matrix, TABLE.  The first column of TABLE contains the unique values of X. ...

    1.求矩阵中各个不同的元素出现的次数

    tabulate Frequency table.
        TABLE = tabulate(X) takes a vector X and returns a matrix, TABLE.
        The first column of TABLE contains the unique values of X.  The
        second is the number of instances of each value.  The last column
        contains the percentage of each value.  

    举例

    >> a=[1,2,3,4;5,3,5,2;5,6,7,7]
    a =
         1     2     3     4
         5     3     5     2
         5     6     7     7
    >> t=tabulate(a(:))
    t =
        1.0000    1.0000    8.3333
        2.0000    2.0000   16.6667
        3.0000    2.0000   16.6667
        4.0000    1.0000    8.3333
        5.0000    3.0000   25.0000
        6.0000    1.0000    8.3333
        7.0000    2.0000   16.6667

     
    >> a = [2 4 6 8;3 5 6 3; 9 8 5 3; 7 6 4 0];
    >> a
    a =
         2     4     6     8
         3     5     6     3
         9     8     5     3
         7     6     4     0
    >> aa = tabulate(a(:))
    aa =
             0     1.0000    6.2500
        2.0000    1.0000    6.2500
        3.0000    3.0000   18.7500
        4.0000    2.0000   12.5000
        5.0000    2.0000   12.5000
        6.0000    3.0000   18.7500
        7.0000    1.0000    6.2500
        8.0000    2.0000   12.5000
        9.0000    1.0000    6.2500


     

    2.求矩阵中某个元素出现的次数

     numel   Number of elements in an array or subscripted array expression.
        N = numel(A) returns the number of elements, N, in array A, equivalent 
        to PROD(SIZE(A)).
     

    举例
    >> N=numel(find(c==5)) 


    N =


         0
    展开全文
  • matlab如何统计矩阵各元素的出现次数 方法一: 假定要分析的矩阵为data,x=...y =[x(find(d)) count]最后输出的y(1)为元素值,y(2)为所对应的元素值在此矩阵中出现的次数 方法二: 制图: hist(x , unique(x)); ...

    matlab如何统计矩阵各元素的出现次数

    方法一:

    假定要分析的矩阵为data,
    x=data(:)
    x=sort(x);
    d=diff([x;max(x)+1]);
    count = diff(find([1;d])) ;
    y =[x(find(d)) count]
    最后输出的y(1)为元素值,y(2)为所对应的元素值在此矩阵中的出现的次数

    方法二:

    制图: hist(x , unique(x));

    不制图: h = hist(x, unique(x));

    展开全文
  •  返回一个矩阵:第一列为元素值,第二列为相应元素出现个数,第三列为相应元素个数占所有元素个数百分比 table = tabulate(X); %获取出现次数最多元素下标,idx存放出现次数最多元素在table中的下标,若有...

    向量X

    1. tabulate(X)

      返回一个矩阵:第一列为元素值,第二列为相应元素出现个数,第三列为相应元素个数占所有元素个数百分比

        table = tabulate(X);

        %获取出现次数最多的元素的下标,idx存放出现次数最多元素在table中的下标,若有多个元素则返回第一个元素的下标

        [maxCount,idx] = max(table(:,2)); 

        %获取出现次数最多的元素

        table(idx);

    2. %统计所有不重复元素值

        table = unique(labels);

        %统计元素出现次数

        hTable = histc(labels, table);

        %获取出现次数最多的元素的下标,idx存放出现次数最多元素的下标,若有多个元素则返回第一个元素的下标

        [maxCount, idx] = max(hTable);

        table(idx);

        

    转载于:https://www.cnblogs.com/MrUnwanted/p/3155060.html

    展开全文
  • matlab——统计相同元素出现的次数

    千次阅读 2018-04-27 10:58:12
    如果在一个矩阵中杂乱的分布这一组数据,且数据中有重复,想统计出相同数据出现的次数,可使用以下方法: 设该矩阵为a(1,1000),则可以 x=unique(a);%不同元素个数 y=a; [m n]=hist(y,x); % x是一个事先给定...
  • Matlab中统计矩阵中相同元素的个数方法

    万次阅读 多人点赞 2017-12-27 21:18:49
    使用函数tabulate() 第一列是矩阵中的元素,第二列是对应元素出现的次数,第三列是出现的百分比 如果A是向量,输入tabulate(A) 如果A是矩阵,输入tabulate(A(:))
  • 在使用matlab时,经常要查询某个元素在相应的数组中出现的次数,即出现的频率。一般情况下,可以用循环的方式遍历矩阵进行查找,但是当遇到一个很大的矩阵时,这样的方法就显得非常的冗杂。现在介绍一个matlab中的...
  • 第一种方法:调用MATLAB自带的函数tabulate统计一个数组各数字(元素)出现的频数、频率 ...【例1】统计数值型数组元素出现的频数、频率 >> x = [2 2 6 5 2 3 2 4 3 4 3 4 4 4 4 2 2
  • Matlab矩阵和向量中的小技巧

    千次阅读 2018-08-13 14:18:13
    学习Matlab中,在此记录一些关于矩阵和向量小技巧,不定时进行更新… 1. 统计向量不同元素的出现次数 题目描述:假设一个向量有多个元素元素可能重复,统计不同元素的出现次数 参考链接:MATLAB如何计算...
  • MATLAB中灰度共生矩阵graycomatrix()函数用法 glcm = graycomatrix(I) ...glcm的每个元素说明了水平方向相邻像素对出现的次数。 如果灰度级为L,则glcm的维数为L*L glcms = graycomatrix(I,para...
  • 法一:假定要分析的矩阵为... y =[x(find(d)) count] <br />最后输出的y(1)为元素值,y(2)为所对应的元素值在此矩阵中出现的次数   法二: >> A = [1 3 5 3 1 5 3 1 1 3 5]; >
  • MATLAB中mode函数使用

    万次阅读 2018-03-07 16:16:50
    1、功能返回向量、数组或... 2) [M,F]=mode(X) %M记录矩阵每列最频繁的元素,F记录该元素出现的次数 3) [M,F,C]=mode(X) %C的每个元素是与M的对应元素相同频率的所有值的排序向量 备注:· mode(X)=mode(...
  • Profiler是一个能够检测程序运行状况的工具,它告诉你M文件哪些代码行最花费时间,哪些行被调用的次数最多,然后就可以利用上面的方法对这些代码进行改进。 其实也可以使用Profiler理解文件,对于很长不是...
  • matlab 使用笔记

    2014-09-13 15:29:23
    如何在MATLAB中统计数组中相同元素的个数 法一:假定要分析的矩阵为data, x=data(:) x=sort(x); d=diff([x;...最后输出的y(1)为元素值,y(2)为所对应的元素值在此矩阵中出现的次数 法二:
  • Matlab处理遥感影像常用函数(笔记) ...2、matlab统计矩阵x元素的出现次数: >> tabulate(x(:)) Value Count Percent 0 8354017 47.10% 1 32146 0.18% 2 487893 2.75% 3 474797 2.68% 4 661676 3.73% 5
  • % 将两路串行信号码元合并在一个length(xulie)*2的矩阵中 [a1,~]=find(signal(:,1)==-1&signal(:,2)==-1); % 返回满足条件矩阵元素对应坐标 xinzuotu(a1)=-1-1i; [a2,~]=find(signal(:,1)==-1&signal(:,2)=...
  • Matlab常用函数:mode(X)

    千次阅读 2018-05-31 11:27:42
    function [M,F,C] = mode(x,dim)1、功能返回向量、数组或数据域出现频率最多数值。Mode, or most frequent value in a sample.2、语法 1... 2) [M,F]=mode(X) %M记录矩阵每列最频繁元素,F记录该元素出现...
  • MATLAB实现K-means聚类

    2015-09-20 16:50:53
    % sort 列元素按升序排列,Xord中存元素在原始矩阵中的列中对应大小位置 [Xsort,Xord] = sort(X,1); case 'cosine' % 余弦 % 计算每一行平方根 Xnorm = sqrt(sum(X.^2, 2)); if any(min(Xnorm) ...
  • xylzhipai.m

    2020-06-19 18:01:02
    通过MATLAB进行运筹学...5. 判断此时zyj矩阵中的1出现的次数等不等于A的维数s,等于则循环结束,否则,转6; 6. 增加0元素的个数:找出A中未被标记的元素的最小值m,A中未被划线的元素减m,A中交点位置的元素加m,转3.

空空如也

空空如也

1 2
收藏数 21
精华内容 8
关键字:

matlab矩阵中元素出现的次数

matlab 订阅