Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
初级会员
注册日期: 2010-02-24
年龄: 44
帖子: 6
声望力: 0 ![]() |
![]()
:求助各位大侠:
如矩阵第一列中相同,第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 取权怎么弄啊,请各位大侠帮助!!谢了~ |
![]() |
![]() |