public Load(Shape shape) { this.shape = shape; p = new ApproximationFunctionsFirst(shape.H); F1 = new Func1D[Constants.APROXIMATION_FIRST]; F3 = new Func1D[Constants.APROXIMATION_FIRST]; }
public Vector F(Vector alfa) { if (alfa.Length == Constants.DIMENSION_COUNT) { Vector res = new Vector(Constants.DIMENSION_COUNT); for (int i = 0; i < Constants.APROXIMATION_FIRST; i++) { res[0] += F1[i](alfa[0]) * p[i](alfa[2]); res[2] += F3[i](alfa[0]) * p[i](alfa[2]); } res[1] = 0; return(res); } else { throw new Exception("Error while evaluating F Vector; Reason: Support only 3D!!!"); } }
public ApproximationResult(Shape shape, Vector result) { this.shape = shape; this.result = result; N = result.Length / 6; p = new ApproximationFunctionsFirst(shape.H); nodes = new Vector(N); double interval = shape.L / (N - 1); for (int i = 0; i < N; i++) { nodes[i] = interval * i; } U1 = new Func1D[Constants.APROXIMATION_FIRST]; U3 = new Func1D[Constants.APROXIMATION_FIRST]; U1[0] = U10; U1[1] = U11; U1[2] = U12; U3[0] = U30; U3[1] = U31; U3[2] = U32; }