Creating a MatLab code to convert numerical grades into letter grades.

12 views (last 30 days)
Hey all!
I've currently working on creating a code that will allow me to convert numbers into a letter grade that can be put into a single column vector (1X25) and I can't figure out how to make it work. I thought I may have been onto something with this:
lg=mn; %lg is just what I'm calling letter grade and mn in the mean grade of the students assignments (also a 1X25).
if 90<=mn<=100
disp('A')
elseif 80<=mn<=89
disp('B')
elseif 60<=mn<=79
disp('C')
elseif 40<=mn<=59
disp('D')
elseif mn<40
disp('F')
end
I don't recieve any errors when I run it but it also doesn't provide me with any letter grades.
Any help would be greatly appreciated!
V/R,
Bobby
  2 Comments
David Hill
David Hill on 21 Sep 2019
x(x>=60&x<70)='D';
x(x>=90)='A';
x(x>=80)='B';
x(x>=70)='C';
x(x<60)='F';
x=char(x);
This provides a char array
Robert Windham
Robert Windham on 22 Sep 2019
I tried doing this with a character array but because I want to include the 25X1 into another huge matrix, it messes up the rest of the matrix (looks like wingdings when I run the code).
Thank you, though!

Sign in to comment.

Answers (1)

madhan ravi
madhan ravi on 21 Sep 2019
Edited: madhan ravi on 21 Sep 2019
You should loop through mn and save the results as a cell array in a variable which is preallocated before loop using indexing. Or better just use logical indexing and store the results as a cell array.

Categories

Find more on MATLAB in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!