我正在做 MIT OCW MATLAB 入门课程中的一系列问题。你可以看到here,这是问题 9,第 g.iii 部分。
我有一个矩阵,其中包含一门课程的最终成绩,所有成绩的范围都从 1 到 5。我还有另一个数组,其中仅包含字母'F'
to 'A'
(in a 'decreasing'
order).
我知道如何更改矩阵中的元素,我想我可以对每个数字执行类似的操作:
totalGrades(find(totalGrades==1)) = 'F';
totalGrades(find(totalGrades==2)) = 'E';
totalGrades(find(totalGrades==3)) = 'C';
totalGrades(find(totalGrades==4)) = 'B';
totalGrades(find(totalGrades==5)) = 'A';
那么,创建字符串数组“letters”的目的是什么?
我考虑过使用循环,但我们应该在课程的这一点上解决没有循环的问题。
有办法吗?我很高兴知道。这是整个问题的代码,但我陷入了最后一个问题。
load('classGrades.mat');
disp(namesAndGrades(1:5,1:8));
grades = namesAndGrades(1:15,2:size(namesAndGrades,2));
mean(grades);
meanGrades = nanmean(grades);
meanMatrix = ones(15,1)*meanGrades;
curvedGrades = 3.5*(grades./meanMatrix);
% Verifying
nanmean(curvedGrades)
mean(curvedGrades)
curvedGrades(curvedGrades>=5) = 5;
totalGrades = nanmean(curvedGrades,2);
letters = 'FDCBA';
多谢!