此错误消息是什么意思?下标指数必须是真正的正整数或逻辑



我正在尝试调试样本的简单统计信息。错误消息:

下标指数必须是真正的正整数或逻辑

我最近在一些作业中遇到了这个错误。这是什么意思?

clc
format short g
s=[0.90 1.32 1.96 1.85 2.29 1.42 1.35 1.47 1.74 1.82...
1.30 1.47 1.92 1.65 2.06 1.55 1.95 1.35 1.78 2.14...
1.63 1.66 1.05 1.71 1.27];
mean=mean(s)
median=median(s) 
mode=mode(s)
max=max(s); min=min(s); 
range=max-min ,std=std(s) ,var=var(s)
cvcd=std/mean*100

您的问题是,变量名称涵盖了函数中的构建。您第一次运行mean=mean(s)没关系,但是第二次mean是双重结果,使用双重结果进行索引。

不使用可在函数中构建的变量名称!

您会遇到该错误,因为写作时您正在覆盖内置变量:mean = mean(s)。所有其他功能也是如此。

如果您以这种方式进行操作,则第一次调用脚本,它将计算均值。但是,第二次MATLAB将将mean(s)解释为您可变mean的s'值。显然不可能获得标量的0.9'元素,因此您会收到错误消息。

您的应该做的是:

mean_val = mean(s);       
median_val = median(s);

也就是说,给您的变量名称与内置函数混淆。

,当您尝试此操作并仍然会遇到相同的错误时,请明确。确保clear工作空间,或至少清除具有内置函数名称的名称相互冲突的变量。

最新更新