返回   MATLAB中国论坛|MATLAB爱好者之家—不仅仅是MATLAB! > 特色讨论区:工程数学软件-不仅仅是MATLAB! > MATLAB论坛 > MATLAB算法讨论


挖掘已有资源,发帖前请先搜索!
虚拟主机 域名注册 香港空间
回复
 
LinkBack 主题工具 显示模式
旧 2010-02-24, 01:55 PM   #1
初级会员
 
注册日期: 2010-02-24
年龄: 31
帖子: 6
感谢他人: 0
有 0 帖获得 0 感谢
声望力: 0
clusters 正向着好的方向发展
微笑 求助:如矩阵第一列中相同,第2列元素根据第3列误差进行加权平均?

:求助各位大侠:
如矩阵第一列中相同,第2列元素和第3列元素,根据第4列值进行加权平均,生成新的矩阵
譬如:A=
1 2 4 0.05
1 3 5 0.03
1 4 7 0.03
2 3 9 0.06
2 4 5 0.02
3 2 1 0.02
3 7 1 0.05
3 2 4 0.03

最终结果为:

1 (2*0.05+3*0.03+4*0.03)/(0.05+0.03+0.03) (4*0.05+5*0.03+7*0.03)/0.11
2 (3*0.06+4*0.02)/0.08 (7*0.06+5*0.02)/0.08
3 (2*0.02+7*0.05+2*0.02)/0.1 (1*0.02+1*0.05+4*0.03)/0.1

新矩阵即为:

1 2.8182 5.0909
2 3.2500 6.5
3 4.3000 1.9

我只能暂时取平均:
B=unique(A(:,1));
for i=1:length(B)
C(i)=[A(i),mean(A(find(A(:,1)==B(i)),2:end))];
end
C
取权怎么弄啊,请各位大侠帮助!!谢了~
clusters 当前离线   回复时引用此帖
回复

书签

主题工具
显示模式

发帖规则
不可以发表新主题
可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码
Trackbacks are 禁用
Pingbacks are 禁用
Refbacks are 启用



所有时间均为北京时间。现在的时间是 10:49 PM


Powered by vBulletin
版权所有 ©2000 - 2012,Jelsoft Enterprises Ltd.
陕ICP备07001583号
感谢MEyu科技提供优质空间

SEO by vBSEO ©2009, Crawlability, Inc.