### Jiawei Weng (view profile)

on 20 Jan 2019
Latest activity Commented on by Jiawei Weng

on 21 Jan 2019

### per isakson (view profile)

Hi guys, wonder how to transfer grade into letter grade. I have already calculated the code, which is following:
NA = 4;
PS = [75, 62, 80, 71, 0, 32, 56, 80];
PR = 68;
EM = 78;
n=2;
u=unique(PS)
if numel(u)==1 || numel(u)==2
Result=[]
else
Result=mean(PS(~ismember(PS,u(1:n))))
end
a = Result
if NA <= 2
b = 15
end
if NA == 3
b = 14
end
if NA == 4
b = 13
end
if NA == 5
b = 12
end
if NA == 6
b = 11
end
if NA == 7
b = 10
end
if NA == 8
b = 9
end
if NA == 9
b = 8
end
if NA == 10
b = 7
end
if NA == 11
b = 6
end
if NA == 12
b = 5
end
c = PR*0.3
d = EM*0.2
e = a*0.35
grade = b + c + d + e
NA = 1;
PS = [90, 100, 100, 84, 89, 92, 73];
PR = 96;
EM = 0;
n=2; % two smallest values
u=unique(PS)
if numel(u)==1 || numel(u)==2
Result=[]
else
Result=mean(PS(~ismember(PS,u(1:n))))
end
a = Result
if NA <= 2
b = 15
end
if NA == 3
b = 14
end
if NA == 4
b = 13
end
if NA == 5
b = 12
end
if NA == 6
b = 11
end
if NA == 7
b = 10
end
if NA == 8
b = 9
end
if NA == 9
b = 8
end
if NA == 10
b = 7
end
if NA == 11
b = 6
end
if NA == 12
b = 5
end
c = PR*0.3
d = EM*0.2
e = a*0.35
grade = b + c + d + e
I know I am super unskilled lol. Anyway, at first I tried
elseif n >= 81
elseif n >= 71
elseif n >= 61
else
end
end
PS: 90-100 A+
80-89 A
70- 79 B
60-69 C
50-59 D
below 50 F

R2018b

### per isakson (view profile)

on 20 Jan 2019
Edited by per isakson

### per isakson (view profile)

on 21 Jan 2019

I guess this is what you intended
if n >= 91
elseif n >= 81
elseif n >= 71
elseif n >= 61
else
end
end
and test the function
which returns "C"
However, note that this function will not give results according to
PS: 90-100 A+
80-89 A
70- 79 B
60-69 C
50-59 D
below 50 F
but it runs without errors.

Jiawei Weng

### Jiawei Weng (view profile)

on 21 Jan 2019
It is pretty weird that I put it in Command window, but it shows " Undefined function or variable 'letter_grade'." But I believe I have defined that, what am I doing wrong. Do I need to set any thing before I typr letter_grade?
per isakson

### per isakson (view profile)

on 21 Jan 2019
IMO: It is not possible to effectively use Matlab without constantly consulting the documentation. See Create Functions in Files.
"Do I need to set any thing before I typr letter_grade?" YES
1. Create a file named, letter_grade.m, that contains the code of the function
2. Save that file in a folder that is in the Matlab search path, i.e. see Search Path
Jiawei Weng

### Jiawei Weng (view profile)

on 21 Jan 2019
Great! it works perfectly, thank you so much sir.