0

我想创建一个名为 E7stats 的函数,它对包含在 csv 文件中的第一个期中考试的分数进行简单的统计分析。该函数接受一个字符串输入,filename,它是 csv 文件的名称,并返回一个输出,一个 1⇥2 结构数组 S ,其两个条目都包含四个字段 mean、std ev、max 和 min,分别是电子和纸质期中成绩的平均值、标准差、最大值和最小值。该函数还使用 30 个大小相同的 bin 创建两个中期 1 分数的两个直方图。电子和纸质期中 1 的分数存储在 CSV 的第一列和第二列中

我的问题是我收到错误:

“mean”以前似乎被用作函数或命令,与这里用作变量名相冲突。此错误的一个可能原因是您忘记初始化变量,或者您已使用 load 或 eval 隐式初始化它。

我知道为什么我会收到错误,但我不知道如何解决它,因为如上所述,我的变量需要命名为均值、最小值、最大值。欢迎任何建议。谢谢!

function S= E7stats(filename)
filename='grades_E7MT1.csv';
S=csvread(filename,1,0);
stddev = std(S)
mean= mean(S)
min= min(S)
max= max(S)

我问我的导师:

我们必须在结构数组中显示内容,或者它应该只返回结构数组以及带有字段的 '1x2 结构数组:意思是 stddev max,他回答:结构是函数的输出。您不需要在命令窗口中显示它。仅确保它具有正确的字段和值。

所以现在我真的很困惑我的函数应该输出什么?对不起所有的混乱!

4

1 回答 1

3

不要使用函数名称mean()作为变量的名称。调用它myMean或类似的东西。

或者,您可以创建一个具有字段名称的结构,例如均值、最小值和最大值:

d.mean = mean();
d.min  = min();
于 2012-11-21T16:59:00.143 回答