public void Predict(double dT, double q) { this.F[0, 1] = dT; this.G[0, 0] = 0.5 * (dT * dT); this.G[1, 0] = dT; this.Q[0, 0] = q; filter.Predict(this.F, this.G, this.Q); }
public void Predict(double T, double q) { Matrix <double> F = GenerateTransition(T); Matrix <double> G = GenerateNoiseCoupling(T); Matrix <double> Q = Matrix <double> .Build.Dense(1, 1, new[] { q }); //System.Console.WriteLine("GQG' " + G * Q * Matrix.Transpose(G)); //kf.Predict(F); //kf.Predict(F, G * Q * Matrix.Transpose(G)); kf.Predict(F, G, Q); }
public void Predict(double T, double q) { Matrix F = GenerateTransition(T); Matrix G = GenerateNoiseCoupling(T); Matrix Q = new Matrix(1, 1); Q[0, 0] = q; //System.Console.WriteLine("GQG' " + G * Q * Matrix.Transpose(G)); //kf.Predict(F); //kf.Predict(F, G * Q * Matrix.Transpose(G)); kf.Predict(F, G, Q); }