3. Property Value Description Flag File Reference
state_equations 'xdot_TC13_1DOF_pitch_no_frict' The .m fileresponsiblefor the state equations βXβ in equation 2
being called every time a simulation is required to run or a
state evaluated.
#1,2 -
observation_equations βobs_TC13_1DOF_pitchβ The .m fileresponsiblefor processingthesimulated data for
the observation variableβYβ in equation 2. This is processed
immediately after the state equations to providethe output
comparison to the experimental data
#1,2 -
num_of_states 4 The .m fileresponsiblefor processingthesimulated data for
the observation variableβYβ in equation 2. This is processed
immediately after the state equations to providethe output
comparison to the experimental data
- -
num_of_observables 2 This valueshould be consistentwith the number of entries in
the 1xn state equation fileoutput. This must match for the
parameter fileto be generated correctly.
- -
num_of_inputs β4β This valueshould match the number of inputs in the matrix
used to utilisethe OEMβs capability to model noise. In this
case,each inputcorrelates to a measured experimental
quantity.
#2 -
num_of_parameters β11β This number should match the number of parameters that the
optimiser will recogniseand process in the Output Error
Method. Be careful in recognisingwhich variables thecode
views as parameters.
#2 -
run_type β1DOF_pitch_onlyβ This code will tolerateexperiments in 1DOF pitch or 2DOF
pitch and heave. More types can be added but for the
purposes of this code, the two options are β1DOF_pitch_onlyβ
and β2DOF_pitch_and_heaveβ.
#2 -
rig_config β1β Retain valueof 1 for calculation of the riginfluenceon the
model.
#2 preprocess_data
preprocessing_flags β1β Enables the inclusion of servo data in the main data matrix #2 preprocess_data
filter_span β3β The window half width used for differentiatingthe values of
tunnel velocity usingan inverseTaylor Series approach.
Nominally setas 3 but play around to get the best results.
#2 preprocess_data
4. Property Value Description Flag File Reference
filter_order β2β The order of the derivativeapproximation made β this can be
bigger than what you want out, so set as 2 for a firstorder
differential likedVt.
#2 preprocess_data
method βOEMβ Decision of which approach to take for the Parameter
Estimation partof the code. A choiceof EEM, OEM, or FEM.
#2 Define_case
method_opt βOEM_GNβ Controls which optimisation method will be undertaken:
Gauss-Newton or Levenberg-Marquardt. A choiceof OEM_GN,
OEM_LM, EEM_LM, OEM_GN, EEM_GN
#2 Define_case
line_search 1 Used to inducethe linesearch function in the Gauss Newton
optimisation procedureto optimisein a certain direction.
- Define_case
run_start_time {340} The startingtime of the numerical simulation.Used in
graphingfor experimental comparison and normalised during
the simulation.
#3 Define_case
run_end_time {400} The ending time of the numerical simulation.Same uses as
above.
#3 Define_case
data_from_file {'090622_20ms_1dof_ramp_part
2_processed'}
This property calls theresults filethatmay or may not exist
depending on previous runs of the samefile. The user can
define any name for this filebut for convenience the same
name as the core experimental data filehas been used.
#1,2,3 Define_case
nzi β1β The number of time segments (or data files) used in the
processing.The requirement to use sequential data files is not
uncommon, but will takea longer time, so limitingto two large
files would be sensible.
#2 Define_case
exp_obs_data_index {'theta_a', 'dtheta_a'} This singularmatrix defines which variables in thechosen
βBigMatβ data filethat the estimation tool will takeas the
observation variables.
#2,3 Define_case
exp_inp_data_index {'hawk_servo1','Vt','qbar','dVt'} This singularmatrix defines which variables in thechosen
βBigMatβ data filethat the estimation tool will takeas the input
variables.These will bemeasured experimental values.
#2,3 Define_case
5. Property Value Description Flag File Reference
compute_x0 1 This programme has the capability of definingthe initial
conditions for each of the states simply by referencing the
BigMat data fileat the initial timepoint specified in
Define_case. If the user does not want these values or they are
not producinga good output, select β0β and create the x0
matrix yourself,ensure the dimensions and orientation arethe
same.
- Define_case
directly_obs_states [1,1] This matrix triggers the use of the observation variable
generated in the simulation for usein further processing.The
matrix must be the same dimension as the observation
variableβYβ. The entries match up with the entries in this
variable.Avalueof 0 will mask the chosen entry. For most
purposes,this should always bepopulated with ones.
#4 Define_case
params_from_csv_or_
mat
βcsvβ The parametervaluesatthe starting,latestandsaved
pointswill be recordedintoafile,whichMATLABwill
processintoa csv (commaseparatedvalues) ora mat
(MATLAB matrix) file.The choice of whichwill be
specifiedhere.Choosingcsvmakesediting andviewing
simpler,butcallingsimplicitywouldfavouramat file.
#2 load_and_check_parameters
results_file β090622_20ms_1dof_ramp_part2
_processedβ
This stringdefines the name of the results filethe final
parameters postestimation are output to. Can be any name
but for ease of trackingthe same name as the input fileis used
throughout.
#2 load_and_check_parameters
which_parameters βstartβ This stringwill decidewhether the starting,latestor saved
parameters saved in the parameter csv/matfile are used in
the latestrun of the state equations.Start, latestor saved.
#2 load_and_check_parameters
obs_plot_mask [1,1] A valueof 0 in these entries masks the plotting of the
observation variablein question.Matrix must be consistent
with the sizeof the observation variablematrix.
#4 plot_output
inp_plot_mask [1,1,1,1] A valueof 0 in these entries masks the plotting of the input
variablein question.Matrix mustbe consistentwith the sizeof
the input variablematrix βUinpβ.
#4 plot_output
Property Value Description Flag File Reference
6. static_type βramp_linβ This property should be defined accordingto the type of linear
progression the input takes. This is for setting up the function
that trims the inputto help the user match the output after
one iteration.A constantinitial condition (X0),a singlepoint
(single) or a linear ramp (ramp_lin) arethe options.
#2 generate_trim_points
ramp input [1] Verify input of a ramp type #4 generate_trim_points
trim_switch 4 Decision outof 1, 2, 3 or 4 of which trim path to take. This
property is related to input type and is described in the
function.
- generate_trim_points
velocity_states 0 The number of velocity states in the trim input β set to zero - generate_trim_points
generate_static_file 1 1 to generate a new fileof static points,0 to ignore. - generate_trim_points
static_file 'TC_13_static_results' Name of static fileif decided to create one #2 generate_trim_points
input_delay_mask βnomaskβ This property defines whether or not a delay is required in the
input file.If this property is a number (1), the function will
generate a delay and rewrite the Uinp variable.If itis a string
(mask), the delay creation will bemasked.
#2 compute_cost
parameter_step_function 1e-3 This property will control the sizeof step taken when varying
the parameters in each iteration.
- oem_func
convergence_tolerance 1e-3 This property will definethe limitof accuracy the optimiser
will takebetween trails until a solution isreached that has a
difference of less than this value
- oem_func
num_iterations 1 This property defines the number of Parameter Estimation
iterations taken. Each iteration will takethe new parameters
estimated from the previous iteration and use them as the
new X0. For a full run of the current experiment (600 seconds),
more than one iteration will takea very long time (1hr+).
- oem_func
Flags
#1 - full filename without the .m
#2 - stringtype therefore insidequotation marks for compatibility
#3 - singularmatrix definition required therefore includecurly brackets for compatibility
#4 - singularmatrix numeric definition required therefore includesquarebrackets for compatibility
7. 2.2 Equations and Constants
The equations required for numerical simulation should beheld in two files β the state equations and the observation
equations,and should be kept in the >Models directory. Wihin these files however, as many functions and constants
can be called as desired,in accordancewith how the user wants the simulation to run.
2.2.1 Observation Equations
As an example, obs_TC13_1DOF_pitch outputs the observation variableYgiven an input from the state integration of
(2). This output is used in the cost function to directly compareagainstthe experimental data, and is simply an
augmentation of rigpitch and pitch rate. Table 1 shows the MATLAB requirements for the function.
Inputs time Β¦ state Β¦ inputs Β¦ parameters
Outputs Y (observation vector)
Table 1 βlist ofinput and outputs ofthe observation equations function
2.2.2 State Equations
xdot_TC13_1DOF_pitch_no_frict outputs a state vector of values thatare integrated to form the numerical simulation,
and are slightly lessflexiblein terms of format. For the integration to work, the inputs must includetime previous
state values inputvariables for each time step and a vector of parameters .This vector of parameter s is importantto
define correctly. An efficiency of this programme is its useof a singleequations filefor each operation- integration,
estimation and continuation.The estimation segment requires categorisation of the parameters in order to optimise
them, whereas the other operations do not, so the parameters aredefined as variables in stages 6 and 7, and
constants for the remainingoperations.Table 2 shows the MATLAB requirements for the function.
Note: the equations must be written in state space form (A1).
π = π(π)
Inputs time Β¦ state Β¦ inputs Β¦ parameters
Outputs xdot (state vector)
Table 2-list ofinputandoutputs ofthe state equations function
The firstlines of the state equations file(figure 1) should define the function inputs as variablesin the equation:
ο· States should correspond to the βxβ input: a [n,d] matrix,where n=run.num_of_states and d=length(data file)
β the number of discrete data points.
ο· Equation inputs can come from any number of variables in thefunction definition;however itis easier to
manage a singlevector usually labelled βuβ.
ο· The constants of calculation (Centre of Gravity position,rigmoments of inertia etc.) are externally derived β
they are kept in a singlefilefor global applicability.For the purposes of Pattinsons experiments, the constants
come from the wind tunnel rigand test model β a Bae Hawk, therefore the >Hawk and >Rig directories hold
the information files related to each element of the experiment. hawk_constants is a function that when
(2)
Figure 1-first lines ofstate equations used for input definition
8. called in any function will outputonly the constants required for the specified analysis type,ensuringthe size
of the constants matrix will alwaysbe compliantwith what is required of it. All constants should bechanged
in this file.
2.3 Defining parameters
The parameter definition is littlemoreinvolved and easy to do wrong, however the steps are simple.
1. Locate the equation filethat includes the useof any estimation parameters. This may be the straightstate
equation file,or itmay be a nested function insideof here β in test case 13, the nested function
Hawk_2DOF_M05 is responsiblefor the core physical calculations(the xdot files simply preparethe states for
processingin this file).
2. Create a _spec filewith the same filename (i.e. Hawk_2DOF_M05_spec.m), followingthe same format as the
current _spec files.
3. Create enclosed strings with entries exactly the same as the variablenames described in hawk_estimates.
The _spec filewill usethis stringto call the βestimatesβ matrix created in hawk_estimates, and then create a
new matrix based on the findingof matching strings,populated with the numeric values associated with
those entries. This matrix becomes part of the results filewhich stores the initial values in theestimates file,
then updates once new values arefound from the estimation process.
4. Save files,then define each correspondingvariablein the nested function file as param(n),where
n=run.num_of_parameters. The vector βparamβ will automatically become the dimensions of n and be
populated with the initial estimates.
2.4 Tools Directory
The >Tools directory holds the majority of the functions spread out over the programme. This should be the first
reference when tryingto locatea function. The only other options are the >Matlab_tools and the
>Output_error_method directories for general arithmetic OEM specific functions.
2.5 Starting the run
Once the properties in the runA object are defined, the programme needs to be started. The programme is builtup in
stages, to enable individual sectionsto be run and reduce run times. The PE_control file(table 3) holds all the function
callsfor each stage, and includes an inputhandlethat callseach stage.To run a stage, a separatefilemust be created
that runs the PE_control function.This has been called βrun_TC13β in the examples.Highlightingeach command (i),
rightclicking,and selecting Evaluate Section will run a singlestageonly.
ππ’π = ππΈ_ππππ‘πππ (ππ’ππ΄, π₯, π₯, π)
Stage Description
1-3 Pre-processing
4/5 Plottingand costfunction calculation
6/7 Parameter Estimation steps
8-22 Plottingand post-processing
22-26 Continuation and plotting
Table 3- summary ofthe operations included in PE_control
2.5.1 Pre-processing
add_remove_paths - MATLAB requires information of where each individual fileis stored to be ableto access it:this
allows theuser to logically createfolders and avoid singlefolders with huge numbers of files.The function
add_remove_paths will do this automatically given a description of each folder location.This will need to be changed
for each new use of the programme. An inputof β1β will add the files,whereas an input of β-1β will remove them from
the path. You can check the paths MATLAB is awareof by selecting Home>Set Path.
(i)
Figure 2-toolbar choices for accessing the MATLAB path
15. ml_fem_func (cont) β the precomputed valueof the F matrix is corrected usingthe new valueof R estimated in
gainmat usinga halvingsequenceto check for intermediate divergence and prevent it. Once the pre-calculation
checks have been completed to ensure divergence does not occur,the gradients matrices of the costfunction (F and
G) can be calculated. gainmat_pert calculates theK matrix for a small perturbation in the matrix of parameters to be
estimated (THETA) for use in the linearization approximation when using gradFG. This is exactly the same formulation
as in the OEM but with the difference that π¦Μ is used instead of y. After this calculation,itis possiblefor the parameters
to be updated usingthe quasi-linearization approach in (14),therefore a second gain matrix procedure needs to occur
to calculatethe costfunction without the initial estimates and savethe new parameters. The sequence of
ml_fem_func is described below for use in (14):
Kgain (initial estimate) Β¦ Kgain (perturbations) Β¦ Kgain (new parameters)
The current cost is carried through into run_optimiser where the code continues in the same way as before, which
concludes the FEM inclusion in theprocess once the iterations havecaused convergence.
5 BifurcationAnalysis
5.1 Introduction
The state equations that were used for the numerical simulation stagein this programme have many more
applications. Continuation and Bifurcation methods arepowerful tools in the analysis of many flightdynamics stability
problems, and make use of the state equations to derive the steady states of the model they present. A continuation
creates an approximatesolution to a set of differential equations given an arbitrary initial condition [8] very much like
a time integration, with the key difference that time is not the variablebeing changed. This βcontinuation parameterβ
can be any input into the system given ithas more than a null effect; as an example, the elevator anglein Pattinsons
experiment [2]. The parameter increased or decreased in sequence, and the output of the state equations recorded.
The field of study of Bifurcations isrich and varied,with many articles and books capableof describingthebas ic
concept and further details [8]. This partof the guide will help the user understand the set up process and run their
own continuation using MATCONT.
Integral to the programme is MATCONT 2.5.1, a continuation programme with a vastcapability for dealingwith
different types of state equation in the input. Due to the knowledge of the type of output expected, the run is split
into two parts:equilibriumcontinuation and a limitcyclecontinuation fromthe transition point. Note: this is not the
most updated version of MATCONT. Newer versions exist with a helpful GUI to help navigate the mainframe, which the
user can download if interested, but the two versions are not simply βcopy-and-pasteβ acceptable.
The point of transition between an equilibrium(or otherwise) state and a limitcycleis known as a βHopf pointβ (figure
6), which occurs due to a pair of complex conjugate eigenvalues crosses into the positiveplaneof the real axis.[8]
5.2 MATCONT
PE_control phase22 and 23 define the equilibriumand limitcyclesegments of the continuation respectively.
5.2.1 Equilibrium
plot_bf_diagram β this function is separatefrom any of the continuation subsections:itis responsiblefor plottingthe
experimental bifurcation diagramrecorded in the data matrix Bigmat. Entries can be changed to plotwhatever the
user wants,however in the current setting the function plots elevator angle againstpitch angle. The output of the
function is the figurehandle ifigure, a singlevaluefed into MATCONT to ensure the continuation is overlaid.
run_equillibrium_continuation β the user must firstdefine the continuer directories and put them on the current path.
Insidethe βcdβ and βpathβ inputfield,the origin directory mustbe set to wherever the files were downloaded to (i.e.
βC:DocumentsPE_downloadβ¦β), allowingaccessto the MATCONT basecode. Results will besaved in a sub-directory
βResults_new>Continuation_resultsβ which the programme will create,with filenames of run.result_file with the tag
βresults_bf_diagβ as set by the code in line10 of this function. MATCONT keeps its inputand output data in one .mat
filelabelled βSβ (table)
S Description
16. x points on the curve
v tangent vectors along the curve
s found singularities
h continuation process variables
f phase response curve for limit cycles
Table 5 βdescription ofthe elements in S
If this filealready exists,then the continuer will simply usethis fileto run the continuation and update the attached
results file.If the filedoesnβt exist,the input conditions mustbe set up β this starts at line39.
Options: 1DOF_pitch_only Β¦ 2DOF_pitch_and_heave
1DOF β the pre-processingof the data begins by setting Uinp (dVt) to 0 then creatinga new matrix p of the saved
parameters and external inputs concatenated together. This matrix is a vector fileof singlevalues,not a matrix with
every step included.This is different to how the PE stages ran and the user must be aware of this difference. The
activeparameter βapβ is the continuation parameter and is defined as 11 β the 11th entry in βpβ, which is the elevator
angleinput. The choice of continuation parameter should be established here. Next, the state equations arespecified,
and nested function β@manorig1Dβ called to manipulatethem into a useableform.
@manoorig1D β this simplefunction sets the matrix state equations up for use in point by point analysis ββdydtβ is the
unintegrated state variables vector.The second function attached in the filesimply evaluates the state equations over
a time period. This is an attempt to accountfor the difficulttime dependency that is incorporated into the state
equations (A3i)
init_EP_EP β the equations and parameters must be set in the format MATCONT requires.This function defines ea ch
parameter within the global variables thatMATCONT recognises,and outputs a single initial condition vector,and a
tangent vector for the startingpoint.
run_equillibrium_continuation (cont) β the next stage of this function is to establish theoptions that MATCONT refers
to when initializingits coreprocedures (Table5). The continuer stores the handleto the options in βcds.optionsβ.
Option Description Value
MaxNumPoints maximum number of points on the curve 100
MaxNewtonIters
maximum number of Newton-Raphson iterations before
switchingto Newton-Chords in the corrector iterations
200
MaxCorrIters maximum number of correction iterations 20
VarTolerance tolerance of coordinates 1e-8
FunTolerance tolerance of function values 1e-8
TestTolerance tolerance of test functions 1e-4
MoorePenrose
1/0 indicatingthe use of the Moore-Penrose continuation
as the Newtonlike corrector procedure
1
Increment
the increment to compute firstorder derivatives
numerically
1e-6
Backward 1/0 indicatingthe direction of the continuation 0
MaxStepSize the maximum stepsize 3e-2
MinStepSize the minimum stepsize to compute the next point 1e-12
InitStepSize the initial stepsize 1e-12
Eigenvalues 1/0 indicatingthe computation of the eigenvalues 1
Singularities 1/0 indicatingthe presence of a singularity matrix 1
Adapt number of points after which to call the adapt-function 1
Table 6 βdescription ofinput options for MATCONT from manual [13]
Singularities mustbe set to 1 as the continuation needs to recognise the Hopf point which will occur when the limit
cycle(LC) starts.MaxNumPoints has a direct correlation with the time taken to process the section, therefore take
carewhen choosingmore points.For the equilibrium continuation,fewer points are required as the local variation is
low.
17. cont is called next β this is the continuer stored in the MATCONT files and has no need to be changed. A call to this file
will run a continuation usingthe options,initial conditions and equations handle,and will output an S structure. The
results aresaved and the function ended. The final curveis plotted againstthe experimental continuation diagramfor
reference.
5.2.2 Limit Cycle
run_LC_cont_from_hopf β Sincethe equilibriumcontinuation hasalready been run, the S structure exists and the Hopf
point has been labelled and saved in S.s,meaning the preliminary 65 lines of code can be neglected, as they existfor
cases where the LC has been previously computed. The same continuation code is used to run the sequence; however
the options filewhich is defined in βcdsβ is different. The Hopf point labels mustalso bedefined so the continuer
knows where to start: βntstβ, βncolβ and βhopf_ptβ must all bedefined by the user and must match the labels given in
the output of the equilibriumcontinuation. For example, βhopf_pt=2β will causethe βxβ solution atthe Hopf pointwith
label 2 to become the startingvector. Once this is done, the continuer must be told that the continuation is periodic
and must be adapted to accountfor this.
init_H_LC β as well as setting a MATCONT format, an initial cyclefromthe Hopf point detected on the equilibrium
curve must be calculated.The same tangent vector and initial conditions areoutputted, however the 3 labels defined
by the user must be stated in the input.
The continuer is then started again usingβcontβ, the results plotted, and the results saved in >Continuation_results.
PE_control can be followed to make use of the different plotting functions,as well as run a 2 parameter bifurcation
usingthe lasttwo phases. This concludes the continuation phaseof the code, as well as the whole programme. The
user is nowleft with a parameter filewith the estimates made by either the OEM or the FEM, data for plottingthe
numerical simulation of the state equations,and bifurcation curvethat can be overlaid onto experimental data.
Havingrun this code successfully,theuser will nowhave knowledge of several tools thatcan be extremely useful in
the post processingof dynamical tests on aircraft.The limitto 1DOF in the examples provided by no means is the limit
of either the Parameter Estimation or Continuation code, and many examples existwithin the original codefrom
Jategaonkar [1] and in the MATCONT folder which the user is encouraged to try.
Figure 6 βcontinuation curve overlaid on experimental data
-18 -16 -14 -12 -10 -8 -6 -4 -2
5
10
15
20
25
30
35
40
Hawk elevator (deg.)
Pitchangle(deg.)
18. Appendix
A1 State Space Formulation β 1DOF
A simpleexample to help the user grasp the concept of writingequations of motion: example used mirrors the
equations of motion of the manoeuvre rigin [2].
1) Second order ODE that describes a general spring-massdamper
πΌ π¦π¦ πΜ + πΆ π πΜ + πΎπ π = π
2) This equation is adapted to the manoeuvre rig β the assumptions includezero dampingand no friction,and
an inversion changingthe moment into its coefficientform.
πΜ =
π
πΌ π¦π¦
πΜ =
πΆ π
πΌ π¦π¦
=
πΜ ππΜ π
πΌ π¦π¦
3) A second order variabletakes longer to integrate than a firstorder; therefore the state spaceform is required
to changethe problem to one of the firstorder. An arbitrary variable y is defined to equal the derivativeof
the state variable,then this variabledifferentiated to equal the double derivative.A third and final equation
πΜ (see [2]) is added as itis a firstorder differential equation that can be integrated, and needs to be referred
to in the same way as the 1DOF variable.
π¦ = πΜ π¦Μ = πΜ =
πΆ π
πΌ π¦π¦
Μ
πΜ = ππ(π, πΌ)
4) A singlestatevector is formed of the three firstorder differential equations β this is much quicker to
integrate and formulate usingMATLAB.
π π‘ππ‘π πππ’ππ‘ππππ = [
π¦
π¦Μ
πΜ
] = π₯πππ‘
A2 Administering trails and tests
Trails and tests on the code are likely to be desired by the user for both debugging and adaption purposes; however it
is not immediately obvious how to do so. The structure of PE_control means a workspace is notsaved in-between
each of its stages β in factit is entirely internal and functions arewritten to keep it the programme this way. The user
must run functions individually and work around the processingproblems that occur.
The firstplaceto startin βopening upβ the code is to create a usableworkspace:
1) Open the PE_control run file(βrun_TC13β), highlightthe stage 1 control, rightclick and selectβEvaluate
Sectionβ, or press F9. This pre-processes the data to get it into a useableformat, and creates the run object to
be sent to the workspacefor use by other functions.
2) Open test_Define_case. This function will takethe output vector from Define_case and relabel each entry as
an individual variablewith the same name. Every function called after Define_case works off some derivation
of these variables thereforeanything can be run with a visible output.
Tests can be simply runningdifferent functions to see their numerical output: in this casewhen the function is partof
a loop, other inputvectors must be created to simulatethe state values atthat particular iteration. Individual testfiles
can also becreated that extract some key partof the code to run without havingto run the entire file.Some of these
are listed belowfor comparison:
ο· test_xdot_solver
ο· test_run_sim
ο· test_ode
ο· test_Define_case
(21)
(22)
(23)
(24)
19. A3 Equations and Inputs
Figure 8 βtime series ofmeasured inputs in Uinp vector
A4 Definitions
Cost function - A costfunction πΆ(π)is a function ofπ, which calculates theminimum cost for producing π units.
Handle β A function handleis a MATLAB valuethat provides a means of callinga function indirectly.
Measurement noise β the noisein takingmeasurements of the inputvalues in Uinp.
Procedure noise β the noiseinherent to the experiment (turbulence).
0 100 200 300 400 500 600
-20
-10
0
Time (s)
de
0 100 200 300 400 500 600
20.4
20.6
Time (s)
Vt
0 100 200 300 400 500 600
240
250
260
Time (s)
qbar
0 100 200 300 400 500 600
-0.5
0
0.5
Time (s)
dVt
Figure 7 βODEsolver sequence for example
20. References
[1] Jategaonkar, R. V. (2006). Flight Vehicle System Identification (1st ed.). AmericanInstitute of Aeronautics and Astronautics.
[2] Pattinson, J., Lowenberg, M. H., & Goman, M. G. (2013). Investigationof Poststall Pitch Oscillations of an Aircraft Wind-Tunnel
Model. Journal of Aircraft, 50(6), 1843β1855. doi:10.2514/1.C032184
[3] Pattinson, J. (2010). Development andEvaluationof a WindTunnelManoeuvre Rig, (November).
[4] MATHWORKS. (2015). Choleskyfactorization. Available: http://uk.mathworks.com/help/matlab/ref/chol.html. Last accessed
18/8/2015.
[5] Elmer Forsythe, G., Malcolm, M. A., & Moler, C. B. (1977). Computer Methods of Mathematical Computations. (Prentice-Hall,
Ed.) (1st Editio., p. 200).
[6] Origlio, Vincenzo. "Stochastic." From MathWorld--AWolframWebResource, created byEric W. Weisstein.
http://mathworld.wolfram.com/Stochastic.html
[7] Weisstein, Eric W. "Riccati DifferentialEquation." From MathWorld--A WolframWebResource.
http://mathworld.wolfram.com/RiccatiDifferentialEquation.html
[8] Thompson, J. M. ., & Stewart, H. . (2002). Nonlinear Dynamics andChaos (Second., pp. 106β131).
[9] MATHWORKS. (2015). Object Orientated Programming inMATLAB. Available: http://uk.mathworks.com/discovery/object-
oriented-programming.html. Last accessed20/06/2015.
[10] Chia-Hui Chen, course materials for 14.01 Principles ofMicroeconomics, Fall 2007. MITOpenCourseWare (http://ocw.mit.edu),
Massachusetts Institute of Technology
[11] MATHWORKS. (2015). OrdinaryDifferential Equations. Available: http://uk.mathworks.com/help/matlab/math/ordinary-
differential-equations.html. Last accessed08/08/2015.
[12] Welch, G., & Bishop, G. (2006). An Introductionto the KalmanFilter. InPractice, 7, 1β16. doi:10.1.1.117.6808
[13] W. Govaerts, Y. a. K., & V. De Witte, A. Dhooge, H.G.E. Meijer, W. Mestrom, a. M. R. andB. S. (2011). MATCONT and CL
MATCONT: Continuation toolboxes inmatlab. β¦Gent, Belgium andβ¦, 1β100. Retrieved from
http://uploads.tombertalan.com/12fall2012/502cbe502/hw/hw3/manual.pdf