小编use*_*638的帖子

下标索引必须是实数正整数或逻辑错误与matlab中的均值函数

我有一个巨大的数据阵列,我想在每一行中提取特定列,然后平均我提取的数字.这是我的代码:

for i=1:1000
    temp=data(i,:);
    index_data=temp([1,10,11,12,19]); %columns I want to extract
    data_final(i,1)=mean(index_data(~isnan(index_data)));
end
Run Code Online (Sandbox Code Playgroud)

我在第一次迭代时遇到错误.提取的数组是

[NaN NaN NaN NaN 15.64]
Run Code Online (Sandbox Code Playgroud)

当我输入index_data(~isnan(index_data))时得到的是15.64,这是我所期待的.但是,我得到了一个错误

??? Subscript indices must either be real positive integers or logicals.
Error in ==> mean(index_data(~isnan(index_data)))
Run Code Online (Sandbox Code Playgroud)

从命令行调用此方法会产生相同的错误.但是,如果我尝试使用协方差函数(cov),我不会得到错误.这对我来说真的很奇怪!

谢谢你的帮助!

matlab

3
推荐指数
1
解决办法
1万
查看次数

标签 统计

matlab ×1