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.