Create Subparts in one problem on MATLAB grader

2 Ansichten (letzte 30 Tage)
Shruthi Srinivasan
Shruthi Srinivasan am 20 Jan. 2024
Kommentiert: Dyuman Joshi am 22 Jan. 2024
Is it possible to create multiple subparts under one problem in MATLAB grader? If so how can we do it?
  3 Kommentare
Cris LaPierre
Cris LaPierre am 20 Jan. 2024
Bearbeitet: Cris LaPierre am 20 Jan. 2024
Could you please clarify what you mean by 'subparts'? What would this look like, and what would be the reason for doing this?
Shruthi Srinivasan
Shruthi Srinivasan am 20 Jan. 2024
Bearbeitet: Shruthi Srinivasan am 20 Jan. 2024
To provide more clarity, Say there are three questions, one question deals with solving for hypotenuse, other the problem the adjacent side and the third the opposite side. Can I have three questions under one problem?

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Dyuman Joshi
Dyuman Joshi am 20 Jan. 2024
Bearbeitet: Dyuman Joshi am 20 Jan. 2024
Yes, in addition to tests provided by the MATLAB Grader, you can include your custom assessments. See the documentation for
> Function based problems -
> Script based problems -
Here is an example of custom test case using assert -
out = zeros(3,4,'uint8');
%%
%Check for data-type of the output
assert(isa(out, 'uint8'), 'The output must be a Unsigned 8-bit integer array')
%%
%Check for size of the output
assert(isequal(size(out), [3 4]), 'The output must be of size [3 4]')
%%
%Check for values of the output
assert(isequal(out, ones(3,4,'uint8')), 'The obtained output is not correct')
Error using assert
The obtained output is not correct
In case, there are multiple cases for which you want to check you can club them together as well -
%Let fun be the function where the code is written
%%
out1 = fun(in1);
assert(isa(out1, 'uint8'), 'The output must be a Unsigned 8-bit integer array')
assert(isequal(size(out1), [3 4]), 'The output must be of size [3 4]')
assert(isequal(out1, ones(3,4,'uint8')), 'The obtained output is not correct')
%%
out2 = fun(in2);
assert(isa(out2, 'uint8'), 'The output must be a Unsigned 8-bit integer array')
assert(isequal(size(out2), [6 6]), 'The output must be of size [6 6]')
assert(isequal(out1, uint8(magic(6))), 'The obtained output is not correct')
  4 Kommentare
Shruthi Srinivasan
Shruthi Srinivasan am 20 Jan. 2024
I see, Just a follow up question, say a folder has 2 problems can we automatically incorporate Canvas to cummulatively grade the folder rather than assigning individual grades to the problems?
Dyuman Joshi
Dyuman Joshi am 22 Jan. 2024
I am not familiar with Canvas, however based on this particular video it seems you can put the questions together in a group and MATLAB Grader will automatically grade it.

Melden Sie sich an, um zu kommentieren.

Community Treasure Hunt

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

Start Hunting!

Translated by