       ExactModeling Package

• To: mathgroup at christensen.cybernetics.net
• Subject: [mg540] ExactModeling Package
• From: rickli at aut.ee.ethz.ch (Martin Rickli)
• Date: Mon, 13 Mar 1995 17:54:01 +0100

```Dear reader,

I'm working in the field of (exact) modeling investigating the usability of
a recursive algorithm if applied to experimental data.
I think my implementation is more or less complete and might be useful for
others. I therefore release it to the public domain. You're invited to

ftp://aut.ee.ethz.ch/pub/personal/rickli

There are two files available at the moment:

ExactModeling.m         the algorithm implemented as a Mathematica package
EMIntroduction.ma       (very) short introduction

Whole documentation is still under developement!

(In case of troubles try the following address:
ftp://aut.ethz.ch/pub/personal/rickli
)

I would appreciate to get feedback. Being what can be done better, wether
you like it, bug reports and especially if somebody can use it and what for
;-) !

Below I included the introduction (from EMIntroduction.ma).

With kind regards

______________________________________________________________________
Martin Rickli                           E-mail: Rickli at aut.ee.ethz.ch
Automatic Control Laboratory
ETH Zurich                              Physikstr. 3, ETL K12
CH-8092 Zurich,  Switzerland
______________________________________________________________________

Excerpt from EMIntroduction.ma

You should be familiar with theory of exact modeling and the behavior framework
Have a look at following references (and the references therein):

A. C. Antoulas, J. C. Willems: A Behavioral Approach to Linear Exact
Modeling; TAC 38-12 (Dez. 93)

J. C. Willems: From Time Series To Linear Systems; Automatica; Part I 22-5;
Part II 22-6; Part III 23-1

Short overview:
===============

Given vector-valued data
w(t) = (p0 + p1 t + p2 t^2 + ... + pk t^k ) exp(lambda t)
find the operator Theta(d/dt), such that
Theta(d/dt) w(t) = 0

lambda may be a complex number but Theta has only real valued coefficients.

The algorithm is recursive in processing the number of data and proceeds in
several steps

Theta_new = Psort x Delta x Gamma x P x Theta_old

It keeps track of controllable rows (rows of Theta that have full row rank
for all values of the indeterminate).

(* late braking news from the author ... *)

ExactModelingInfo[]

Author: M. Rickli, IfA, ETH Zurich   (Feb 95)

*** Usage Information:

ExactModeling implements algorithms for recursive exact modeling of
polynomial exponential time series (using approximate numbers).

TF2Theta[lam,tf,var,opts] finds a model theta explaining tf at
frequencies lam.
tf can be a pure function or an expression
in var (MIMO supported).

RatInt[lam,zlam,nout,(var)] returns the MPUM thnew  which
corresponds to (frequency response) measurements {lam,zlam}.

nout equals number of output signals. zlam must be a matrix
with:
#col(zlam)  = #inputs;
#rows(zlam) = nout
#rows(lam).
Options:
{Balance, Method, PrintFlag,
PrintLevel, Sorting, VectorNorm, WorkingPrecision}

MarkovModel[data,var,opts] computes a model for given Markov
parameters (impulse response data) 'data'.
For SISO system
'data' is a vector: {h(0),h(1),h(2), ..}
For MIMO system
'data' is a sequence of matrices: A(0),A(1),A(2), ..

CalculateError[th,p,lam,(var)] returns vector eps of error
time-polynomials without factor Exp[lam t].
Data:  w(t) =
p(t) Exp[lam t]
Error: e(t) = Theta(d/dt) w(t) = eps Exp[lam
t]

Time variable must be 't'

ProcessNewMeasurement[th,data,lam,(var),options] returns matrices
P, gamma, Psort and thnew which 'update' the MPUM 'th' with new
measurement 'data' to thnew.
Aliases: PNM

```

• Prev by Date: Re: Vote YES YES YES!
• Next by Date: suggestions?
• Previous by thread: Re: Vote YES YES YES!