提交给 Matlab Grader 时变量具有 "incorrect" 值
Variable has "incorrect" value when submitted to Matlab Grader
我正在为我的 Matlab 作业苦苦挣扎:
编写一个脚本来执行以下操作:
生成一个名为 grades 的矩阵,大小为 8 x 25,其中包含 double 类型的随机数,范围为 1 到 6。
计算矩阵行的均值(mrow
)、矩阵列的均值(mcol
)以及矩阵的总均值(mall
)矩阵等级。
将矩阵grades
复制到一个新变量中,将其中第5行和第20至23列的元素替换为NaN。再次计算该矩阵的总体平均值 (mall_2
),即剩余值的平均值。
我完成了任务 2-5,但是任务 1 不正确。我不确定我做错了什么。我假设它与数字类型(double)有关,但我无法转换它。
我们必须将作业提交到在线工具"Matlab Grader"。系统说:
Matrix of random numbers : Variable grades has an incorrect value.
这是我的代码:
% Generate matrix 'grades' with random numbers in the range 1 to 6
a = 1;
b = 6;
grades = (b-a).*rand(8,25) + a;
% calculate mean values 'mrow', 'mcol', 'mall'
mrow = mean(grades,2)
mcol = mean(grades,1)
mall = mean(grades(:))
% Replace elements with NaN
grades(5,20:23) = NaN
%Calculate mean of elements omitting NaN
mall_2 = mean(grades(:),'omitnan')
我假设您的作业验证系统正在检查变量 grades
中的所有内容是否都是 1 到 6 范围内的(随机)数字,如问题 1 所要求的那样。
但是,在您的计算结束时,grades
变量中还有 3 个 NaN
值,因为您错过了问题 3 的这一步:
Copy the matrix grades
to a new variable
相反,您覆盖了 grades
中的元素。
如果你这样做了:
grades_mod = grades;
grades_mod(5,20:23) = NaN;
mall_2 = mean(grades_mod(:),'omitnan');
然后 grades
将保留其原始值(没有 NaN),您可以计算 mall_2
.
我正在为我的 Matlab 作业苦苦挣扎:
编写一个脚本来执行以下操作:
生成一个名为 grades 的矩阵,大小为 8 x 25,其中包含 double 类型的随机数,范围为 1 到 6。
计算矩阵行的均值(
mrow
)、矩阵列的均值(mcol
)以及矩阵的总均值(mall
)矩阵等级。将矩阵
grades
复制到一个新变量中,将其中第5行和第20至23列的元素替换为NaN。再次计算该矩阵的总体平均值 (mall_2
),即剩余值的平均值。
我完成了任务 2-5,但是任务 1 不正确。我不确定我做错了什么。我假设它与数字类型(double)有关,但我无法转换它。
我们必须将作业提交到在线工具"Matlab Grader"。系统说:
Matrix of random numbers : Variable grades has an incorrect value.
这是我的代码:
% Generate matrix 'grades' with random numbers in the range 1 to 6
a = 1;
b = 6;
grades = (b-a).*rand(8,25) + a;
% calculate mean values 'mrow', 'mcol', 'mall'
mrow = mean(grades,2)
mcol = mean(grades,1)
mall = mean(grades(:))
% Replace elements with NaN
grades(5,20:23) = NaN
%Calculate mean of elements omitting NaN
mall_2 = mean(grades(:),'omitnan')
我假设您的作业验证系统正在检查变量 grades
中的所有内容是否都是 1 到 6 范围内的(随机)数字,如问题 1 所要求的那样。
但是,在您的计算结束时,grades
变量中还有 3 个 NaN
值,因为您错过了问题 3 的这一步:
Copy the matrix
grades
to a new variable
相反,您覆盖了 grades
中的元素。
如果你这样做了:
grades_mod = grades;
grades_mod(5,20:23) = NaN;
mall_2 = mean(grades_mod(:),'omitnan');
然后 grades
将保留其原始值(没有 NaN),您可以计算 mall_2
.