Using Matlab classes in Grader

2 次查看(过去 30 天)
Attila
Attila 2023-6-6
评论: Attila 2023-6-6
I would like to use a Matlab class in Grader. The students should define a class myclass which is also implemented in the reference solution. According to the Matlab help,I use function based assessments:
%Student solution
y = myclass([1 2 3], 1)
% Run reference solution.
yReference = reference.myclass([1 2 3], 1)
% Compare.
assessVariableEqual('y', yReference);
The Pretest results say:
Variable y must be of data type reference.myclass. It is currently of type myclass. Check where the variable is assigned a value.
How should I solve this?
Thank you in advance!

回答(1 个)

Cris LaPierre
Cris LaPierre 2023-6-6
编辑:Cris LaPierre 2023-6-6
In my opinion, classes go a bit beyond what MATLAB Grader was designed for. Still, it is possible to create and use classes in a function-type problem in a somewhat limited manner. However, the assessVariableEqual function cannot be used to assess a class object directly.
Assessments that work
  • Check for the presence of methods by name
  • use the methods and ismethod functions to query all public, non constructor and non set/get methods.
  • Use the properties function to determine what public properties the class contains.
  • Use dot notation to access the value of public properties.
  • assessVariableEqual can compare values

类别

Help CenterFile Exchange 中查找有关 Create or Copy Coding Problems 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by