Question x1Write a function that takes a score matrix and returns the average score for each student. Assume that the matrix is arranged so that each column represents an assignment and each row represents a student. Some scores are missing; missing scores are represented by -1 in the matrix. All other scores are between 0 and 100. The task is complicated by the fact that we don't want to count missed assignments as part of the average. For example, if the score matrix is [50 75 61; 88 -1 90; -1 -1 33] then the averages should be [62; 89; 33]. Note that the result is returned as a column vector. The function heading is given below. You can assume that each student has at least one non-missing score. For this problem, do not use vectorized code. The only MATLABfunctions allowed are sizeand length. function average = getAverage(score) % Compute the average for each row of the score matrix. % The result is a column vector. Scores of -1 are ignored. [nr,nc]=size(score); for r=1:nr rowSum= 0; % row sum so farnTest= 0; % no. of tests so far for c= 1:nc if (score(r,c) ~= -1) rowSum= rowSum + score(r,c); nTest= nTest + 1; end end average(r, 1)= rowSum/nTest; end1 of 3
has intentionally blurred sections.
Sign up to view the full version.