本文整理汇总了C++中Filter::ComputeGain方法的典型用法代码示例。如果您正苦于以下问题:C++ Filter::ComputeGain方法的具体用法?C++ Filter::ComputeGain怎么用?C++ Filter::ComputeGain使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Filter
的用法示例。
在下文中一共展示了Filter::ComputeGain方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: mdlOutputs
static void mdlOutputs(SimStruct *S, int_T task_id)
{
Filter<Dim> *pf = (Filter<Dim>*)ssGetPWork(S)[0];
// Step 1:
pf->ComputeGain();
// Retrieving inputs:
InputRealPtrsType input = ssGetInputPortRealSignalPtrs(S, 0);
double inputs[2] =
{ (double)(*input[0]) , (double)(*input[1]) }; // let's hope they are convertible
Filter<Dim>::VecY y;
y(0) = inputs[0]; // measurement is first input
Filter<Dim>::VecU u;
u(0) = inputs[1]; // reference signal is second input
// Step 2:
pf->UpdateEstimate(y, u);
// Step 3:
pf->ComputeCovariance();
// Step 4:
pf->ProjectAhead(u);
// Updating time:
double time = (double)(ssGetT(S));
pf->set_Time(time);
// Setting outputs:
real_T *output = ssGetOutputPortRealSignal(S, 0);
output[0] = (real_T)(pf->get_State(2)); // first output is psi
output[1] = (real_T)(pf->get_State(4)); // second output is b
}