Neuron®
The Neuron® is the basis for the creation of open and secure federated networks for smart societies.
Loading...
Searching...
No Matches
Variance.cs
1using System.Numerics;
7
9{
14 {
24 {
25 }
26
30 public override string FunctionName => nameof(Variance);
31
35 public override string[] Aliases => new string[] { "var" };
36
44 {
45 return new DoubleNumber(CalcVariance(Argument.Values, this));
46 }
47
54 public static double CalcVariance(double[] Values, ScriptNode Node)
55 {
56 double Avg = Average.CalcAverage(Values, Node);
57 double Result = 0;
58 double d;
59 int i, c = Values.Length;
60
61 for (i = 0; i < c; i++)
62 {
63 d = (Values[i] - Avg);
64 Result += d * d;
65 }
66
67 Result /= c;
68
69 return Result;
70 }
71
79 {
80 return new ComplexNumber(CalcVariance(Argument.Values, this));
81 }
82
89 public static Complex CalcVariance(Complex[] Values, ScriptNode Node)
90 {
91 Complex Avg = Average.CalcAverage(Values, Node);
92 Complex Result = 0;
93 Complex d;
94 int i, c = Values.Length;
95
96 for (i = 0; i < c; i++)
97 {
98 d = (Values[i] - Avg);
99 Result += d * d;
100 }
101
102 Result /= c;
103
104 return Result;
105 }
106
114 {
115 throw new ScriptRuntimeException("Expected a numeric vector.", this);
116 }
117
123 }
124}
Class managing a script expression.
Definition: Expression.cs:41
static double CalcAverage(double[] Values, ScriptNode Node)
Calculates the average of a set of double values.
Definition: Average.cs:66
override string FunctionName
Name of the function
Definition: Variance.cs:30
Variance(ScriptNode Argument, int Start, int Length, Expression Expression)
Variance(v), Var(v)
Definition: Variance.cs:22
static Complex CalcVariance(Complex[] Values, ScriptNode Node)
Calculates the variance of a set of complex values.
Definition: Variance.cs:89
static double CalcVariance(double[] Values, ScriptNode Node)
Calculates the variance of a set of double values.
Definition: Variance.cs:54
override IElement EvaluateVector(IVector Argument, Variables Variables)
Evaluates the function on a vector argument.
Definition: Variance.cs:113
override string[] Aliases
Optional aliases. If there are no aliases for the function, null is returned.
Definition: Variance.cs:35
override IElement EvaluateVector(DoubleVector Argument, Variables Variables)
Evaluates the function on a vector argument.
Definition: Variance.cs:43
override IElement EvaluateVector(ComplexVector Argument, Variables Variables)
Evaluates the function on a vector argument.
Definition: Variance.cs:78
override IIterativeEvaluator CreateEvaluator()
Creates an iterative evaluator for the node.
ScriptNode Argument
Function argument.
Base class for funcions of one vector variable.
Base class for all nodes in a parsed script tree.
Definition: ScriptNode.cs:69
int Length
Length of expression covered by node.
Definition: ScriptNode.cs:101
int Start
Start position in script expression.
Definition: ScriptNode.cs:92
Collection of variables.
Definition: Variables.cs:25
Basic interface for all types of elements.
Definition: IElement.cs:21
Basic interface for vectors.
Definition: IVector.cs:9
A function that can be iteratively evaluated, meaning it can be iteratively computed one element at a...
An interative evaluator of a function supporting the IIterativeEvaluation interface.