public BCMNVectorFilterParams GetParams() { BCMNVectorFilterParams p = new BCMNVectorFilterParams(); p.FHat = BCMNF.FHat.Select(x => x.Value).ToArray(); p.fHat = BCMNF.fHat.Select(x => x.Value.ToColumnMatrix()).ToArray(); p.HHat = BCMNF.HHat.Select(x => x.Value).ToArray(); p.hHat = BCMNF.hHat.Select(x => x.Value.ToColumnMatrix()).ToArray(); p.GainHat = BCMNF.GainHat.Select(x => x.Value).ToArray(); p.KTilde = BCMNF.KTilde.Select(x => x.Value).ToArray(); p.KHat = BCMNF.KHat.Select(x => x.Value).ToArray(); return(p); }
public void SetParams(BCMNVectorFilterParams p) { for (int t = 0; t < p.FHat.Length; t++) { // t+1 since we start filtring from t = 1 BCMNF.FHat.Add(t + 1, p.FHat[t]); BCMNF.fHat.Add(t + 1, p.fHat[t].Column(0)); BCMNF.HHat.Add(t + 1, p.HHat[t]); BCMNF.hHat.Add(t + 1, p.hHat[t].Column(0)); BCMNF.GainHat.Add(t + 1, p.GainHat[t]); BCMNF.KTilde.Add(t + 1, p.KTilde[t]); BCMNF.KHat.Add(t + 1, p.KHat[t]); } }