Skip to main content
. 2019 May 16;19(10):2276. doi: 10.3390/s19102276
Algorithm 4. Multiple shooting MHE gradient calculation
Define: R*=(RR)1; Q*=(QQ)1; E=eye(n)
Define: i1(i):= 1+(ik+M)n:(ik+M+1)n
g1:n=(IkM++(IkM+)T)(xkMx^kM+) 2h(xkM)xkMTR*(ykMmh(xkM))
fori=kM+1 to k do
    gi1(i)=g(ξk)xi=2Q*(xixint,i)2h(xi)TxiR*(yimh(xi))
    if version == V3 then
        gi1(i)=(12Tsfixi)T2QMS(xixint,iL)
    end if
end for
Define: j1(j):=1+(jk+M)n:(jk+M+1)n
forj=kM to k1 do
  gj1(j)+=g(ξk)xj
  switch(version)
    case V1:
      gj1(j)+=fjxj2QMS(xj+1xint,j+1L)
    case V2:
      gj1(j)+=(12Tsfjxj)T2QMS(xj+1xint,j+1L)
    case V3:
      gj1(j)=(E+12Tsfjxj)T2QMS(xj+1xint,j+1L)
  end switch
end for