the first ltpda training session - topic 1...2009/01/25  · the first ltpda training session -...

Post on 21-Aug-2021

1 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

The First LTPDA Training Session - Topic 1

M Hewitson+----------------------------------------------------+| || || **** || ** || ------------- || //// / \\\\ || /// / \\\ || | / | || ** | +----+ / +----+ | ** || ***| | |//-------| | |*** || ** | +----+ /+----+ | ** || | / | || \\\ / /// || \\\\ // //// || ------------- || ** || **** || || Welcome to LTPDA Toolbox || || Version: 1.9.3 || Release: (R2008b) || Date: 19-10-08 || |+----------------------------------------------------+

The First LTPDA Training Session - Introduction

Introducing Analysis Objects (AOs)

•An AO contains more than just data

2

Analysis Object

Numerical

Data

Provenance

Processing

history

Additional

meta-data

- creator

- date

- IP address

- Hostname

- Operating System

- software versions

- Name

- ID number

- Comment

- pipeline file(s)

- Name

- Algorithm version

- Parameter list

- Creation date/time

- Input histories

- Name

- Numerical data

vectors

- Creation date/time

- Additional flags

The First LTPDA Training Session - Introduction

History

3

traceable results

Input

AO

Output

AO(s)

Input

AO

Algorithmic step

input

history

input

history

Algorithm

history

Intelligent algorithms

The First LTPDA Training Session - Introduction

History tree

4

ao

The First LTPDA Training Session - Introduction

History tree

4

ao

name

history

version

data

The First LTPDA Training Session - Introduction

History tree

4

ao

name

history

version

data

name

input histories

version

params

The First LTPDA Training Session - Introduction

History tree

4

ao

name

history

version

data

name

input histories

version

params

name

input histories

version

params

The First LTPDA Training Session - Introduction

History tree

4

ao

name

history

version

data

name

input histories

version

params

name

input histories

version

params

name

input histories

version

params

The First LTPDA Training Session - Introduction

History tree

4

ao

name

history

version

data

name

input histories

version

params

name

input histories

version

params

name

input histories

version

params

The First LTPDA Training Session - Introduction

Viewing history

5

The First LTPDA Training Session - Introduction

Reliving history

6

obj.type(<file>)output commands needed to rebuild this object

robj = obj.rebuildrebuild this object

The First LTPDA Training Session - Introduction

LTPDA User Objects

•Not only AOs behave in this way:

7

pzmodel

parfrac

rational

ssm

miir

mfir

timespan

plist

The First LTPDA Training Session - Introduction

Object-oriented programming for beginners

8

The First LTPDA Training Session - Introduction

Object-oriented programming for beginners

8

Car

The First LTPDA Training Session - Introduction

Object-oriented programming for beginners

8

Car

Properties:

The First LTPDA Training Session - Introduction

Object-oriented programming for beginners

8

Car

Properties: color

The First LTPDA Training Session - Introduction

Object-oriented programming for beginners

8

Car

Properties: colorengine size

The First LTPDA Training Session - Introduction

Object-oriented programming for beginners

8

Car

Properties: colorengine sizecost

The First LTPDA Training Session - Introduction

Object-oriented programming for beginners

8

Car

Properties: colorengine sizecost

Methods:

The First LTPDA Training Session - Introduction

Object-oriented programming for beginners

8

Car

Properties: colorengine sizecost

Methods: start

The First LTPDA Training Session - Introduction

Object-oriented programming for beginners

8

Car

Properties: colorengine sizecost

Methods: startstop

The First LTPDA Training Session - Introduction

Object-oriented programming for beginners

8

Car

Properties: colorengine sizecost

Methods: startstopdrive

The First LTPDA Training Session - Introduction

Object-oriented programming for beginners

8

object = instance of a classCar

Properties: colorengine sizecost

Methods: startstopdrive

The First LTPDA Training Session - Introduction

Object-oriented programming for beginners

8

object = instance of a class

car1 = Car(‘blue’)car2 = Car(‘red’)

Car

Properties: colorengine sizecost

Methods: startstopdrive

The First LTPDA Training Session - Introduction

Object-oriented programming for beginners

8

object = instance of a class

car1 = Car(‘blue’)car2 = Car(‘red’)

objects

Car

Properties: colorengine sizecost

Methods: startstopdrive

The First LTPDA Training Session - Introduction

Object-oriented programming for beginners

8

object = instance of a class

car1 = Car(‘blue’)car2 = Car(‘red’)

objects constructors

Car

Properties: colorengine sizecost

Methods: startstopdrive

The First LTPDA Training Session - Introduction

Object-oriented programming for beginners

8

object = instance of a class

car1 = Car(‘blue’)car2 = Car(‘red’)

objects constructors

Car

Properties: colorengine sizecost

Methods: startstopdrive

car1.startcar1.drivestop(car1)

The First LTPDA Training Session - Introduction

Exercise 1

•Now it’s your turn•Open the MATLAB documentation

•In the MATLAB terminal• >> doc

•“Help -> Product Help>”•Go to section:

•LTPDA Toolbox• LTPDA Training Session 1

• Topic 1• Making AOs

•And work your way through •“Exercise 1 - Your First Analysis Object”

9

The First LTPDA Training Session - Introduction

Exercise 2 - setting object properties

•AOs have properties, e.g.,•name•description

•Work through: •Exercise 2 - Setting properties of AOs

10

>> a.setName('Bob')

The First LTPDA Training Session - Introduction

Exercise 3 - Viewing the history

•We saw earlier that AOs store their processing history.•Here we learn how to view that history•Work through the section

•Exercise 3 - Viewing the history

11

The First LTPDA Training Session - Introduction

Exercise 4 - Making Time-series AOs

•AOs can contain different types of data•Time-series data are stored in a tsdata object•They also have properties:

•Work through section:•Topic 1

• Making a time-series AO

12

tsdata

t0Absolute time-stamp of first sample

xunits X-axis units

yunits Y-axis units

The First LTPDA Training Session - Introduction

Basic Math

•You can operate on AOs using a large set of methods•In particular, many typical Math operations are available

(overloaded)• Further details at: http://www.lisa.aei-hannover.de/ltpda/

documents/files/operator_rules.pdf•Work through the help section

•Topic 1• Basic Math with AOs

13

The First LTPDA Training Session - Introduction

Saving and loading AOs

•All LTPDA User Objects can be saved to (and loaded from), file in•XML format•binary MAT format

•Work through help section•Topic 1

• Saving and loading AOs

14

<?xml version="1.0" encoding="utf-8"?><ltpda_object ltpda_version="2.0 (R2008b)"> <object shape="1x1" type="ao"> <property prop_name="data" shape="1x1" type="fsdata"> <object shape="1x1" type="fsdata"> <property prop_name="t0" shape="1x1" type="time"> <object shape="1x1" type="time"> <property prop_name="utc_epoch_milli" shape="1x1" type="double">0</property> <property prop_name="timezone" shape="1x1" type="sun.util.calendar.ZoneInfo">Greenwich</property> <property prop_name="timeformat" shape="1x23" type="char">yyyy-mm-dd HH:MM:SS.FFF</property> <property prop_name="time_str" shape="0x0" type="char"/> <property prop_name="version" shape="1x53" type="char">$Id: time.m,v 1.65 2009/01/25 09:51:55 hewitson Exp $</property> </object> </property> <property prop_name="navs" shape="1x1" type="double">1</property> <property prop_name="fs" shape="1x1" type="double">1000</property> <property prop_name="enbw" shape="1x1" type="double">0.20043999999999998</property> <property prop_name="version" shape="1x55" type="char">$Id: fsdata.m,v 1.43 2008/10/27 15:13:45 hewitson Exp $</property> <property prop_name="xunits" shape="1x1" type="unit"> <object shape="1x1" type="unit"> <property prop_name="strs" shape="1x1" type="cell">

The First LTPDA Training Session - Introduction

Reading data files

•You can construct AOs from existing ASCII (raw) data files•Work through help section

•Topic 1• Constructing AOs from data files

15

a = ao('topic1/simpleASCII.txt')

The First LTPDA Training Session - Introduction

Writing LTPDA scripts

•So far we’ve done everything on the command-line or on the workbench

•Now we look at writing LTPDA scripts•There are some subtle differences to standard MATLAB scripts

and some recommended practices•Read through help section

•Topic 1• Writing LTPDA scripts

•** More details on the tfe method later

16

%% Make two test AOs a1 = ao(plist('tsfcn', 'randn(size(t))'a2 = ao(plist('tsfcn', 'randn(size(t))' %% Make TFE with multiple outputs [t11, t21, t12, t22] = tfe(a1,a2);Axx = t12 ./ t21; %% Make TFE then index with () txx = tfe(a1,a2);Axx = txx(1,2) ./ txx(2,1); % <-- BREAKS THE HISTORY %% Use index method txx = tfe(a1,a2);Axx = txx.index(1,2) ./ txx.index(2,1);

The First LTPDA Training Session - Introduction

IFO/Temperature example

•We have a data analysis exercise which will develop fully over the course of the training session

•This is the first part: reading and preparing the data•Work through help section

•Topic 1• IFO/Temperature Example - Introduction

17

top related