Writing the text from a MATLAB Grader student solution to a variable

I'm trying to write some more complex tests for a MATLAB Grader assignment that would involve analysing a student solution line-by-line and executing defined lines from the student's solution separately as one of the MATLAB Code tests in Grader. Is there any way to do this? For example some way to actually get the student's solution as a char vec or string.

Answers (1)

Hi,
You could first read the solution into a variable using "fileread" (Hint: if you are working with Script, the file is named "solution.m", when working with a Function problem, use the function name you specified). Then for example, you can use "regexp" to analyze the text. For example:
% Get reference solution for x.
xReference = referenceVariables.x;
% Compare with learner solution.
f= fileread('solution.m');
expr = '.*:.*';
matchIdx = regexp(f,expr);
length(matches)==1

2 Comments

How is pass/fail determined: is it if the last line evaluates to true? or do you have to raise errors in the case of solutions that fail?
It is based on if an error is encountered in the assessment test or not.
See my answer here.

Sign in to comment.

Communities

More Answers in the  Distance Learning Community

Categories

Find more on Automotive in Help Center and File Exchange

Products

Release

R2019b

Asked:

on 18 Oct 2019

Commented:

on 16 Apr 2021

Community Treasure Hunt

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

Start Hunting!