24小时热门版块排行榜    

Znn3bq.jpeg
查看: 2418  |  回复: 6
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

bian890

铜虫 (初入文坛)

[求助] matlab 不规则矩阵 求平均值

1.2183    1.747      1.8489      1.4564     0.73688     0.30712
0             1.5151    1.7323      1.5583    0.92972     0.47214
0             0              1.3433    1.3868       1.02        0.65397
0             0               0              0.7261    0.8505      0.73462
0             0               0              0.3687     0.48778   0.65311
0              0              0               0              0.3067     0.4287
0              0               0               0               0              0
请问怎么求非0处的平均值呢? 就相当于是不规则矩阵了
比如 第一行(1.2183+1.747+1.8489+1.4564+0.73688+0.30712)/6
第二行(1.5151+1.7323+1.5583+0.92972+0.47214)/5
可是 由于数据量很大 必须通过程序来实现
谢谢 急急急

[ Last edited by bian890 on 2011-6-30 at 15:54 ]
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xiaoqing8569

铁杆木虫 (著名写手)

奥林匹亚光学院院长

引用回帖:
Originally posted by xiegangmai at 2011-07-01 09:05:47:
楼主看看这样行不?

[code]aa = [ 1.2183    1.747      1.8489      1.4564     0.73688     0.30712
0             1.5151    1.7323      1.5583    0.92972     0.47214
0             0             ...

非零元素个数如果为0咋办?
   在判断一下就完整了。
4楼2011-07-01 09:21:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 7 个回答

xiaoqing8569

铁杆木虫 (著名写手)

奥林匹亚光学院院长

【答案】应助回帖

★ ★ ★
bian890(金币+5): 有点复杂 2011-07-01 16:40:04
sunyang1988(金币+3): 谢谢帮助 2011-07-01 18:05:04
mathematica代码
mma = {};
ma = {{1.2183 , 1.747, 1.8489, 1.4564, 0.73688, 0.30712}, {0, 1.5151 ,
     1.7323, 1.5583, 0.92972 , 0.47214}, {0 , 0 , 1.3433 , 1.3868 ,
    1.02 , 0.65397}, {0, 0 , 0 , 0.7261, 0.8505, 0.73462}, {0, 0 , 0 ,
     0.3687, 0.48778, 0.65311}, {0 , 0 , 0, 0, 0.3067 , 0.4287}, {0,
    0, 0, 0, 0 , 0}};
ma // MatrixForm
cK = Dimensions[ma];
For[k = 1, k <= cK[[1]], k++,
For[i = 1; j = 0, i <= cK[[2]], i++, If[ma[[k, i]] != 0, j++]];
If[j == 0, mma = Append[mma, 0],
  mma = Append[mma, Evaluate[Plus @@ ma[[k]]/j]]]]
mma
2楼2011-06-30 21:30:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xiegangmai

版主 (职业作家)

我没头衔

优秀版主优秀版主优秀版主

【答案】应助回帖

引用回帖:
Originally posted by bian890 at 2011-06-30 15:49:30:
1.2183    1.747      1.8489      1.4564     0.73688     0.30712
0             1.5151    1.7323      1.5583    0.92972     0.47214
0             0              1.3433    1.3868       1.02        0 ...

楼主看看这样行不?
CODE:
aa = [ 1.2183    1.747      1.8489      1.4564     0.73688     0.30712
0             1.5151    1.7323      1.5583    0.92972     0.47214
0             0              1.3433    1.3868       1.02        0.65397
0             0               0              0.7261    0.8505      0.73462
0             0               0              0.3687     0.48778   0.65311
0              0              0               0              0.3067     0.4287
0              0               0               0               0              0 ];
A = sum( aa, 2 ); %  按行求和
[ m1, n1 ] = find( aa ~= 0 ); % 找出非零元素下标
[ m2, n2 ] = size( aa ); % 确定矩阵维度
a = zeros( m2, 1 );
for i = 1 : m2
    a( i ) = length( find( m == i ) ); % 找出每行非零元素个数
end
average_aa = A ./ a;  % 求每行非零元素的平均值

明德厚学、求是创新
3楼2011-07-01 09:05:47
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xiegangmai

版主 (职业作家)

我没头衔

优秀版主优秀版主优秀版主

【答案】应助回帖

引用回帖:
Originally posted by xiaoqing8569 at 2011-07-01 09:21:22:
非零元素个数如果为0咋办?
   在判断一下就完整了。

更简洁的写法:
CODE:
sum( aa, 2 ) ./ sum( aa ~= 0, 2 )

非零元素为0个,在MATLAB里也能处理的,0 / 0 = nan。
明德厚学、求是创新
5楼2011-07-01 09:23:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 260求调剂 +3 Zyt1314520.. 2026-04-17 4/200 2026-04-17 21:06 by Eurekall
[考研] 271求调剂 +37 2261744733 2026-04-11 39/1950 2026-04-17 10:11 by 黑科技矿业
[考研] 297,工科调剂? +4 河南农业大学-能 2026-04-14 4/200 2026-04-16 22:52 by wulijun2012
[考研] 22专硕求调剂 +10 haoyun上岸 2026-04-11 12/600 2026-04-16 22:21 by 猪会飞
[考研] 材料相关专业344求调剂双非工科学校或课题组 +23 hualkop 2026-04-12 25/1250 2026-04-16 22:12 by SUSE_CL
[考研] 一志愿沪9,生物学326求调剂 +9 刘墨墨 2026-04-15 9/450 2026-04-16 17:14 by 崔崔崔cccc
[考研] 307中医考研调剂 +6 于以采蘩 2026-04-14 6/300 2026-04-16 16:20 by qingfeng258
[考研] 327求调剂 +26 Xxjc1107. 2026-04-13 29/1450 2026-04-16 10:52 by Espannnnnol
[考研] 290调剂生物0860 +38 哇哈哈,。 2026-04-11 44/2200 2026-04-16 09:52 by cuisz
[考研] 生物学调剂 +9 纸扇zhishan 2026-04-13 9/450 2026-04-15 18:28 by AN流800
[考研] 297工科调剂? +14 河南农业大学-能 2026-04-13 15/750 2026-04-15 13:25 by 黑科技矿业
[考研] 366求调剂 +11 不知名的小卅 2026-04-11 11/550 2026-04-14 15:50 by zs92450
[考研] 271求调剂 +35 2261744733 2026-04-11 41/2050 2026-04-14 15:36 by zs92450
[考研] 求调剂 +12 何气正 2026-04-13 13/650 2026-04-14 14:47 by zs92450
[考研] 考研调剂 +13 长弓傲 2026-04-13 14/700 2026-04-14 14:44 by zs92450
[考研] 考研求调剂 +12 子木呐 2026-04-12 13/650 2026-04-14 01:19 by 王珺璞
[考研] 一志愿浙大生物325分求调剂 +9 zysheng 2026-04-12 9/450 2026-04-12 22:31 by yuyin1233
[考研] 344 材料专业 求调剂211 无地域要求 +8 hualkop 2026-04-11 8/400 2026-04-12 22:24 by fqwang
[考研] 339求调剂 +8 hanwudada 2026-04-11 9/450 2026-04-12 15:36 by laoshidan
[考研] 270求调剂 +14 杨乐369 2026-04-11 14/700 2026-04-11 20:16 by 蓝云思雨
信息提示
请填处理意见