找回密码
 注册
关于网站域名变更的通知
查看: 1005|回复: 2
打印 上一主题 下一主题

请问MATLAB怎样统计数组中相同元素的个数?

[复制链接]
  • TA的每日心情

    2019-11-19 15:34
  • 签到天数: 1 天

    [LV.1]初来乍到

    跳转到指定楼层
    1#
    发表于 2020-4-1 10:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

    EDA365欢迎您登录!

    您需要 登录 才可以下载或查看,没有帐号?注册

    x
    假如有一个数组A,其中包括10个1,20个3,40个5,那么B= unique(A),之后,B=[1 3 5],想请教下:有没有一个函数能够统计出A中1、3、5的个数,当然这个写几行代码是可以的,但是MATLAB有unique这样的函数,肯定也想到了不但返回B这个数组,还返回他们的个数,谢谢!
    - x# J5 \- Z9 H0 m% Q+ E6 v* A
    5 [3 J: e4 D% Q# @  x
  • TA的每日心情

    2019-11-29 15:37
  • 签到天数: 1 天

    [LV.1]初来乍到

    2#
    发表于 2020-4-1 17:39 | 只看该作者
    可以用for循环写一个:
    8 K! m( m# v# j9 S3 F$ S- D* [1 \) Lc=zeros(size(B));, A, x$ y0 k5 F9 i7 u0 }2 P
    for i=1:length(B)
    ; E) r: x" r8 S* h' I+ x5 |6 hc(i)=sum(find(A==B(i)));# w6 M7 q- n' b9 l4 G* ^7 J: n$ [' h
    end

    该用户从未签到

    3#
    发表于 2020-4-1 17:39 | 只看该作者
    假定要分析的矩阵为data,
    . E4 K8 x/ t$ |& c
    % s4 n9 H0 Q- Y( A% q3 Z0 q; x' wx=data(: )% y) e# ^! Z* e: O( o( `
    x=sort(x);
    , K4 x1 [2 N2 Ad=diff([x;max(x)+1]);
    5 u: ?) @& c& L' Q  u4 Ecount = diff(find([1;d])) ;: }& A* G: N  b9 C5 z. k' a
    y =[x(find(d)) count]
    : d9 A% b6 ^6 G" x0 _$ p8 d( I* ]2 }$ Y) n% U  P
    最后输出的y(1)为元素值,y(2)为所对应的元素值在此矩阵中的出现的次数
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-7-22 06:13 , Processed in 0.109375 second(s), 23 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表