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

求助, Matlab计算矩阵每行中非零元素个数的简便方法

[复制链接]
  • TA的每日心情
    擦汗
    2019-11-19 15:26
  • 签到天数: 1 天

    [LV.1]初来乍到

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

    EDA365欢迎您登录!

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

    x
    本帖最后由 littlestupid 于 2020-4-23 13:18 编辑 ' C7 g. r  b& s$ p: Z. R2 X8 ]  W* K: s
    9 j. W6 ^! y6 j( K
    对一个n*m的矩阵A, 求解每行的非零元素个数,并行成一个1*n的矩阵B.  我是这么写的
    ) ^& L0 c9 D8 J% G% w6 @* t5 W+ I$ ^' g
    for i=1:n- i8 H* g- @! L# U$ O
       B(1,i)=length(find(A(1,: )~=0));
    * M2 n* O! u1 l! u4 I: L4 u6 tend2 A3 S8 p+ o+ p; r" F4 p  i
    $ G8 K& M( C0 |# Y) Q$ l4 z
      由于A是1361*4254的矩阵,按照上面的循环处理,需要花费很长时间,请问有没有不用循环的更简单的方法? 谢谢- I4 u- U, _1 K8 w2 |* p  D

    该用户从未签到

    2#
    发表于 2020-4-23 13:19 | 只看该作者
    一个命令. N+ q& h2 W' r
    m=find(A~=0);

    该用户从未签到

    3#
    发表于 2020-4-23 13:20 | 只看该作者
    >> a=randint(4,4)*4
    $ `+ X- q+ t$ ?6 L2 p; i+ k, m6 `9 F. P& s! n5 t
    a =
    - m  Z0 r4 S! ~
    ! H; }8 {3 q2 c# C     4     0     0     0* k8 U4 b: R3 p$ I1 e& U$ o7 M; Q8 c+ H
         4     0     0     0
    3 c+ z( j. g6 x# }0 ]0 f. u0 B  W     0     4     0     0
    0 j4 G: g6 t2 ]; K, w7 F     4     0     4     4
    ) I: ]- K1 s0 V
    ; Y$ `2 P! d5 p3 x3 p>> b=a>0
    4 ?5 B0 |* N1 b- I- z1 T. H% E3 k* Z5 a0 }( u  {9 n" r/ z9 S+ |
    b =
    ) m1 l' p* V* ~% l! F
    4 |3 r0 y( ~# m. s, B     1     0     0     0
    2 T3 R# w0 o1 X) V- k5 b( `1 P3 g     1     0     0     05 p% y- }  |8 J6 v9 x) T
         0     1     0     02 f: R$ ]+ B! m3 s9 X
         1     0     1     1
    + L9 W6 D: _6 T& X" }4 a$ S4 h4 s1 T/ U
    >> s=sum(b')
    ; x" h% U  d8 o4 y* `) V& m$ z
    ; Y) a* N! g. Q& Qs =
    $ `! W0 i' X6 O5 @8 m6 U0 S0 Q8 q: C% x3 L: g& k
         1     1     1     3! u( Z6 J/ F+ [( B/ f; {: X
    ; x. x! {+ K# n+ Q4 Z# c7 p- @- O; h' ?/ L
    >>

    该用户从未签到

    4#
    发表于 2020-4-23 13:21 | 只看该作者
    b=a>0就是找出非零项
    3 ^+ Y( q4 V! h0 B3 R* i
    % M' o0 U% `* c# B: b" G1 e& o+ F) m>> a=floor(rand(10,10)*10)
    ! l2 K# M0 J" n7 d4 ]1 ?$ q4 i
    2 K8 [) q4 U  n+ x) b3 `a =3 `# j5 S( ~' T+ L
    8 Z. b: j/ y* K4 T
         9     9     9     4     1     3     7     1     2     0
    7 N. j. J7 Q* C1 m     8     9     7     1     9     7     8     1     0     1
    + K. L$ G6 n0 i5 M# J# D     9     9     0     5     0     7     7     6     3     7$ u& n0 b& U9 B1 B0 |; r. m1 U, }
         0     7     9     6     5     6     3     6     8     0
    4 I5 o, s' C8 {3 _2 V     8     3     0     5     9     5     2     8     0     6, `% P+ S/ o4 B
         9     2     3     7     0     7     3     6     1     7/ I# O% m* m9 X4 C
         4     6     0     3     5     7     0     1     6     44 I- L2 i& B( b: h" c7 j
         3     5     3     4     5     5     3     1     0     9: G  i& S& h0 T0 H" c* M- q
         1     3     6     2     3     9     8     3     4     42 G) W' n% A( x6 R
         5     9     2     7     3     1     6     6     4     29 L! c+ v2 f  d2 s, \( V: m

    : e* K1 Y6 G# X* P$ [& g. }: {>> b=a>0
    ) R, t3 }2 y; O: U5 b' f0 }2 t9 v' p; r* s# C$ P; K
    b =
    6 `, j, x( W! Q( m3 j2 S6 S
      f7 u% n: [, S, C8 x: J     1     1     1     1     1     1     1     1     1     0
    ) K' Z0 z6 @$ |* q9 j$ G: W! |- l     1     1     1     1     1     1     1     1     0     1
    7 ]( P/ d9 \( t/ R& F     1     1     0     1     0     1     1     1     1     1, y: U. k& V( m# M
         0     1     1     1     1     1     1     1     1     01 z/ O+ h$ G* e- a
         1     1     0     1     1     1     1     1     0     1$ l2 E# A" I1 h
         1     1     1     1     0     1     1     1     1     1
    ) w; Z5 C+ ^# I9 B; h" c: K& Q; J     1     1     0     1     1     1     0     1     1     12 m6 r. Q2 w1 g  s( j
         1     1     1     1     1     1     1     1     0     1
    / Y, S9 M  N) s9 i     1     1     1     1     1     1     1     1     1     13 u: b4 ?7 F% S+ [* r3 G- ?9 k
         1     1     1     1     1     1     1     1     1     19 a2 R6 B$ }: b5 \* I
    - K: e+ H. [& w5 N! I
    >> s=sum(b')- J: D/ a4 q% c/ [
    : O0 c  r2 e/ ]& w" u0 P3 _9 @1 n
    s =: o* S) l+ i/ f% L% t/ C2 ]

      f- ?2 ~2 D+ k* c     9     9     8     8     8     9     8     9    10    109 R# m/ k" ?; a9 d

    & C, W; y7 A0 z8 X4 z" ^5 d>>
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-11-4 11:08 , Processed in 0.140625 second(s), 23 queries , Gzip On.

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

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

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