Sync
This commit is contained in:
parent
6f050a029e
commit
776bba907c
3887 changed files with 59894 additions and 7280 deletions
|
|
@ -0,0 +1,43 @@
|
|||
MODULE StandardDeviation;
|
||||
IMPORT StdLog, Args,Strings,Math;
|
||||
|
||||
PROCEDURE Mean(x: ARRAY OF REAL; n: INTEGER; OUT mean: REAL);
|
||||
VAR
|
||||
i: INTEGER;
|
||||
total: REAL;
|
||||
BEGIN
|
||||
total := 0.0;
|
||||
FOR i := 0 TO n - 1 DO total := total + x[i] END;
|
||||
mean := total /n
|
||||
END Mean;
|
||||
|
||||
PROCEDURE SDeviation(x : ARRAY OF REAL;n: INTEGER): REAL;
|
||||
VAR
|
||||
i: INTEGER;
|
||||
mean,sum: REAL;
|
||||
BEGIN
|
||||
Mean(x,n,mean);
|
||||
sum := 0.0;
|
||||
FOR i := 0 TO n - 1 DO
|
||||
sum:= sum + ((x[i] - mean) * (x[i] - mean));
|
||||
END;
|
||||
RETURN Math.Sqrt(sum/n);
|
||||
END SDeviation;
|
||||
|
||||
PROCEDURE Do*;
|
||||
VAR
|
||||
p: Args.Params;
|
||||
x: POINTER TO ARRAY OF REAL;
|
||||
i,done: INTEGER;
|
||||
BEGIN
|
||||
Args.Get(p);
|
||||
IF p.argc > 0 THEN
|
||||
NEW(x,p.argc);
|
||||
FOR i := 0 TO p.argc - 1 DO x[i] := 0.0 END;
|
||||
FOR i := 0 TO p.argc - 1 DO
|
||||
Strings.StringToReal(p.args[i],x[i],done);
|
||||
StdLog.Int(i + 1);StdLog.String(" :> ");StdLog.Real(SDeviation(x,i + 1));StdLog.Ln
|
||||
END
|
||||
END
|
||||
END Do;
|
||||
END StandardDeviation.
|
||||
Loading…
Add table
Add a link
Reference in a new issue