MATLAB: Problem 44960 Rescale scores

doubt

The following code works fine with the first set of input tested however shows error for the second set. I am doing this on Cody. Could anyone tell me what's wrong?
function X = rescale_scores(X)
A= 60:100;
B= rescale(A,0,4);
for c=1:40;
for d=1:size(X,1);
if X(d,length(X))==A(c);
X(d,length(X))=B(c);
end
end
end
X
end

Best Answer

  • This can be solved using a one-liner
    function X = rescale_scores(X)
    X(:,end) = interp1([60 100], [0 4], X(:,end));
    end