【发布时间】:2026-01-15 06:35:01
【问题描述】:
我有一个像下面这样的矩阵。
2 1 0.020000000
2 1 0.020000000
2 1 0.020000000
2 1 0.020000000
2 2 0.434776340
2 2 0.392582120
2 2 0.549031660
2 3 0.0306320700000000
2 3 0.0336107500000000
3 1 0.0200000000000000
3 1 0.0200000000000000
3 1 0.0200000000000000
3 1 0.0200000000000000
3 1 0.0200000000000000
3 2 0.301534290000000
3 2 0.381151280000000
3 2 0.227146390000000
3 2 0.402937460000000
3 3 0.0773929900000000
3 3 0.0220243800000000
3 3 0.0859914800000000
我想检查第一列的值是否为 2,然后检查下一列,如果其值为 1,则计算 column3 中所有值的平均值,如下所示:
第 3 列值的平均值并将其放入不同的矩阵中。
2 1 0.020000000
2 1 0.020000000
2 1 0.020000000
2 1 0.020000000
然后对 2 2、2 3、3 1 等尝试此过程。
第二列的值为 1,2 或 3,但第一列的值在 2-5000 范围内。 我试过这样但它不能正常工作:
[ii,jj]=find((S(:,2)==1)); //S is the matrix i mentioned earlier
out=S(ii,[1,3]);
for i=2:3
if out(:,1)==i
Mean(i) = mean (out(i,2));
end
end
谢谢!
【问题讨论】:
-
是的,它们是,但是在 column1 prolly 中,我们没有从 1 到 5000 的所有值。