我正在尝试调试样本的简单统计信息。错误消息:
下标指数必须是真正的正整数或逻辑
我最近在一些作业中遇到了这个错误。这是什么意思?
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
工作空间,或至少清除具有内置函数名称的名称相互冲突的变量。