- 在线时间
- 13 小时
- 最后登录
- 2013-12-8
- 注册时间
- 2010-5-13
- 听众数
- 3
- 收听数
- 0
- 能力
- 0 分
- 体力
- 399 点
- 威望
- 11 点
- 阅读权限
- 30
- 积分
- 282
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 97
- 主题
- 45
- 精华
- 0
- 分享
- 0
- 好友
- 1
升级   91% TA的每日心情 | 难过 2012-8-27 18:22 |
|---|
签到天数: 1 天 [LV.1]初来乍到
|
以下是一个区别:
$ w! A& u! S0 L7 D; [1 E' n$ G
8 z3 r, Y8 `$ l, n' ~1 R例如一个矩阵,如果按列存储,则计算列向量的和就比较方便;如果按行存储,计算行向量的和则比较方便。$ k! N1 @# j" F# T/ D* h
0 G7 G. }2 m- X. r8 B$ m$ wForcal按行优先存储,代码:
$ n R1 m. U! B# }) p) d6 p0 Y - !using["math","sys"];
- + S/ b$ ^6 g0 j- ~0 b, T( |
- mvar:
- - {) _+ B- B2 ?2 h1 P+ S+ w
- oo{p=rand[5000,5000]},
- - [# N5 ?( l1 q2 @( \4 b
- t0=clock(),+ t, v# s! T0 ^4 E\\" g% |
- oo{Sum[p,1]},! C8 ?; K3 d$ Z4 G% W9 z. _+ n! F& f
- printff{"\r\n按列求和时间: {1,r}",[clock()-t0]/1000},
- 4 w, D! y& I; p* ]\\" i S
- t0=clock(),8 u6 O6 W1 C% H9 L0 G\\" t
- oo{Sum[p,2]},
- 0 u3 }% ]7 e2 f
- printff{"\r\n按行求和时间: {1,r}",[clock()-t0]/1000}
- 3 }, T- j$ u( e' q
结果:+ H+ {2 p- u8 K& x! Q' E, L0 U. q
按列求和时间: 0.375
3 p8 {$ D: d* k( S, h& f) K按行求和时间: 4.7e-002
! M& ?2 p6 y2 b9 b# n ^) x- ]. o7 ?: U4 C! A
matlab中sum(A,1)和sum(A,2)的效率似乎不一样吧?
) o& c4 |8 K0 P) y9 j5 f |
|