-
Notifications
You must be signed in to change notification settings - Fork 0
/
Normality.m
93 lines (60 loc) · 2.38 KB
/
Normality.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
function res=Normality(measured,degreespoly,degreesspline)
% Normality(Realdata,[1,2,3,4],[1,2,3,4]);
% NOTE: id degreespoly or degreesspline changes :: ADJUST LEGENDS
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% SPLINE
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
fig=figure();
xlim([-5,5]);
hold on;
meansum=0;
varsum=0;
for(degree=degreesspline)
spline=splinefit(measured(:,1),measured(:,2),8,degree);
val=ppval(spline,measured(:,1));
residuals = val-measured(:,2)
meansum=meansum+mean(residuals);
varsum=varsum+var(residuals);
[normality,p] = kstest(residuals);
[EAT,EMT]= ecdf(residuals);
plot(EMT,EAT,'LineWidth',1.3);
disp(normality);
disp(p);
end
x_values = -10:0.01:10;
G = plot(x_values,normcdf(x_values,0,1.4),'k','LineWidth',1.5);
disp('....');
disp(meansum);
disp(varsum/4);
legend('Linear ECDF','Quadratic ECDF','Cubic ECDF','4th degree ECDF','Normal CDF');
legend('Location','northwest');
figsave(fig,'C:\Users\sahar\Desktop\matlab_figure_normality_spline.pdf');
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% POLY
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
fig=figure();
xlim([-5,5]);
hold on;
meansum=0;
varsum=0;
for(degree=degreespoly)
poly=polyfit(measured(:,1),measured(:,2),degree);
val=polyval(poly,measured(:,1));
residuals = val-measured(:,2)
meansum=meansum+mean(residuals);
varsum=varsum+var(residuals);
[normality,p] = kstest(residuals);
[EAT,EMT]= ecdf(residuals);
plot(EMT,EAT,'LineWidth',1.3);
disp(normality);
disp(p);
end
x_values = -10:0.01:10;
G = plot(x_values,normcdf(x_values,0,1.4),'k','LineWidth',1.5);
disp('....');
disp(meansum);
disp(varsum/4);
legend('Linear ECDF','Quadratic ECDF','Cubic ECDF','4th degree ECDF','Normal CDF');
legend('Location','northwest');
figsave(fig,'C:\Users\sahar\Desktop\matlab_figure_normality_poly.pdf');
end