Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2010-02-24, 13:55   #1
clusters
初级会员
 
注册日期: 2010-02-24
年龄: 44
帖子: 6
声望力: 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 代码



所有时间均为北京时间。现在的时间是 09:15


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.