带有下标的赋值维度不匹配。 出错 fdfdf (line 18) centers(i, :) = mean(data(idx == i, :));
时间: 2024-03-26 20:34:20 浏览: 24
这个错误通常是由于 `data(idx == i, :)` 的维度与 `centers(i, :)` 不匹配所引起的。具体来说,可能是 `data` 中有一些行缺失了某些值或者有一些列包含了 NaN 值,导致 `mean` 函数的结果不是一个二维向量,从而与 `centers(i, :)` 的维度不匹配。
要解决这个问题,可以使用 `isnan` 函数和逐个赋值的方法来避免缺失值和 NaN 值的影响。具体来说,可以修改代码如下:
```
for i = 1 : 5
rows = find(idx == i); % 找到簇 i 中的所有行
non_nan_rows = find(all(~isnan(data(rows, :)), 2)); % 找到簇 i 中不包含 NaN 值的行
centers(i, :) = mean(data(rows(non_nan_rows), :), 1); % 计算该簇的中心点
end
```
这样就可以避免缺失值和 NaN 值对计算结果的影响。
相关推荐
![exe](https://img-home.csdnimg.cn/images/20210720083343.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![xlsx](https://img-home.csdnimg.cn/images/20210720083732.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![xlsx](https://img-home.csdnimg.cn/images/20210720083732.png)