matlab 数组中相同的值分别求均值
时间: 2024-11-06 17:13:39 浏览: 18
7 MATLAB数组深入学习.zip
在MATLAB中,如果你想要找到数组中相同值的平均值,可以使用`accumarray`函数结合`unique`函数来实现。首先,你需要找到数组中的所有唯一值(即相同值),然后对每个独特值及其对应的索引求和,最后除以该值的数量得到均值。
以下是一个示例步骤:
```matlab
% 假设你有一个名为data的数组
data = [1 2 2 3 4 4 4 5];
% 使用unique函数找出唯一的值及其索引
[values, indices] = unique(data);
% 对每个独特值计算它在原数组中的出现次数
counts = accumarray(indices, ones(size(indices)), [], @sum);
% 计算并存储每个独特值的均值
mean_values = values ./ counts;
% 打印结果
disp(mean_values);
```
在这个例子中,`values`变量将包含唯一的值 `[1, 2, 3, 4, 5]`,而`mean_values`将分别是每个值的均值,例如对于值4,其均值就是`4 / count(4)`,因为4出现了三次。
阅读全文