modelling and simulation with matlab: a case study in … · modelling and simulation with matlab:...

67
School of Electrical, Electronic and Communications Engineering, University College Dublin, Ireland Dr Paul Curran [email protected] MATLAB Virtual Conference, March 26, 2014 1 a case study in problem-based learning Modelling and Simulation with MATLAB:

Upload: vanthien

Post on 03-Jul-2018

248 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Modelling and Simulation with MATLAB: a case study in … · Modelling and Simulation with MATLAB: Layout of presentation ... Modelling MATLAB Virtual Conference, ... Using both the

School of Electrical, Electronic and

Communications Engineering,

University College Dublin, Ireland

Dr Paul Curran

[email protected]

MATLAB Virtual Conference, March 26, 2014 1

a case study in problem-based learning

Modelling and Simulation with

MATLAB:

Page 2: Modelling and Simulation with MATLAB: a case study in … · Modelling and Simulation with MATLAB: Layout of presentation ... Modelling MATLAB Virtual Conference, ... Using both the

Layout of presentation

• Basics and background

• Initial module design decisions

• Introductory material: lectures and

laboratories

• Student work from the class of 2013

• Conclusion

MATLAB Virtual Conference, March 26, 2014 2

Page 3: Modelling and Simulation with MATLAB: a case study in … · Modelling and Simulation with MATLAB: Layout of presentation ... Modelling MATLAB Virtual Conference, ... Using both the

The basics

• 167 students registered to module in 2013

• Mostly year three (junior year)

• 5 credits

• One semester

• 2 hours in lecture theatre and 4 hours in

laboratory per week

• The module is a first course on numerical

methods

MATLAB Virtual Conference, March 26, 2014 3

Page 4: Modelling and Simulation with MATLAB: a case study in … · Modelling and Simulation with MATLAB: Layout of presentation ... Modelling MATLAB Virtual Conference, ... Using both the

... there is evidence of an ongoing decline in the

candidates’ willingness to struggle for success.

MATLAB Virtual Conference, March 26, 2014 4

Leaving Certificate Examination 2005. Mathematics. Higher Level.

Chief Examiner’s Report.

Background: Perseverance

Page 5: Modelling and Simulation with MATLAB: a case study in … · Modelling and Simulation with MATLAB: Layout of presentation ... Modelling MATLAB Virtual Conference, ... Using both the

MATLAB Virtual Conference, March 26, 2014 5

“Have patience. All things are difficult before they

become easy”. Sa’dī (circa 1210 – 1292)

quotes taken from BrainyQuote.

Perseverance

Page 6: Modelling and Simulation with MATLAB: a case study in … · Modelling and Simulation with MATLAB: Layout of presentation ... Modelling MATLAB Virtual Conference, ... Using both the

MATLAB Virtual Conference, March 26, 2014 6

“Have patience. All things are difficult before they

become easy”. Sa’dī (circa 1210 – 1292)

The perceived wisdom is that a failure to

persevere can be equated to a failure to learn.

Perseverance

Page 7: Modelling and Simulation with MATLAB: a case study in … · Modelling and Simulation with MATLAB: Layout of presentation ... Modelling MATLAB Virtual Conference, ... Using both the

Thinking inside the box

MATLAB Virtual Conference, March 26, 2014 7

... a noticeable decline in the capacity of candidates

to engage with problems that are not of a routine and

well-rehearsed type.

Leaving Certificate Examination 2005. Mathematics. Higher Level. Chief

Examiner’s Report.

Page 8: Modelling and Simulation with MATLAB: a case study in … · Modelling and Simulation with MATLAB: Layout of presentation ... Modelling MATLAB Virtual Conference, ... Using both the

Thinking inside the box

MATLAB Virtual Conference, March 26, 2014 8

... a noticeable decline in the capacity of candidates

to engage with problems that are not of a routine and

well-rehearsed type.

Leaving Certificate Examination 2005. Mathematics. Higher Level. Chief

Examiner’s Report.

There is a strong tendency among the

student body to compartmentalise their

learning.

Page 9: Modelling and Simulation with MATLAB: a case study in … · Modelling and Simulation with MATLAB: Layout of presentation ... Modelling MATLAB Virtual Conference, ... Using both the

“Experience is the teacher of all things”. Gaius Julius Caesar (100 – 44 BC)

learn to do by doing

MATLAB Virtual Conference, March 26, 2014 9

Practice:

Page 10: Modelling and Simulation with MATLAB: a case study in … · Modelling and Simulation with MATLAB: Layout of presentation ... Modelling MATLAB Virtual Conference, ... Using both the

“Experience is the teacher of all things”. Gaius Julius Caesar (100 – 44 BC)

learn to do by doing

MATLAB Virtual Conference, March 26, 2014 10

The students will best learn how to apply numerical

methods to the solution of engineering problems by

actually applying numerical methods to the solution

of engineering problems.

Practice:

Page 11: Modelling and Simulation with MATLAB: a case study in … · Modelling and Simulation with MATLAB: Layout of presentation ... Modelling MATLAB Virtual Conference, ... Using both the

learn to do by doing

MATLAB Virtual Conference, March 26, 2014 11

The student body is varied. The engineering

disciplines of Biosystems, Civil, Electrical,

Electronic, Mechanical, Materials and

Structural are all represented.

Practice:

Page 12: Modelling and Simulation with MATLAB: a case study in … · Modelling and Simulation with MATLAB: Layout of presentation ... Modelling MATLAB Virtual Conference, ... Using both the

learn to do by doing

MATLAB Virtual Conference, March 26, 2014 12

The students will best learn how to apply numerical

methods to the solution of engineering problems by

actually applying numerical methods to the solution

of engineering problems of some interest to them.

Practice:

Page 13: Modelling and Simulation with MATLAB: a case study in … · Modelling and Simulation with MATLAB: Layout of presentation ... Modelling MATLAB Virtual Conference, ... Using both the

MATLAB Virtual Conference, March 26, 2014 13

“A man who carries a cat by the tail learns

something he can learn in no other way”.

Samuel Clemens “Mark Twain” (1835 – 1910)

The fundamental dichotomy

Page 14: Modelling and Simulation with MATLAB: a case study in … · Modelling and Simulation with MATLAB: Layout of presentation ... Modelling MATLAB Virtual Conference, ... Using both the

MATLAB Virtual Conference, March 26, 2014 14

“A man who carries a cat by the tail learns

something he can learn in no other way”.

Samuel Clemens “Mark Twain” (1835 – 1910)

We learn from doing it wrong, not from doing

it right.

The fundamental dichotomy

Page 15: Modelling and Simulation with MATLAB: a case study in … · Modelling and Simulation with MATLAB: Layout of presentation ... Modelling MATLAB Virtual Conference, ... Using both the

MATLAB Virtual Conference, March 26, 2014 15

“Learning too soon our limitations, we never learn

our powers”. Mignon McLaughlin(1913 – 1983)

The fundamental dichotomy

Page 16: Modelling and Simulation with MATLAB: a case study in … · Modelling and Simulation with MATLAB: Layout of presentation ... Modelling MATLAB Virtual Conference, ... Using both the

MATLAB Virtual Conference, March 26, 2014 16

We gain confidence from doing it right, not

from doing it wrong.

“Learning too soon our limitations, we never learn

our powers”. Mignon McLaughlin(1913 – 1983)

The fundamental dichotomy

Page 17: Modelling and Simulation with MATLAB: a case study in … · Modelling and Simulation with MATLAB: Layout of presentation ... Modelling MATLAB Virtual Conference, ... Using both the

MATLAB Virtual Conference, March 26, 2014 17

We learn from doing it wrong, not from doing it

right.

We gain confidence from doing it right, not from

doing it wrong.

The fundamental dichotomy

Page 18: Modelling and Simulation with MATLAB: a case study in … · Modelling and Simulation with MATLAB: Layout of presentation ... Modelling MATLAB Virtual Conference, ... Using both the

MATLAB Virtual Conference, March 26, 2014 18

We learn from doing it wrong, not from doing it

right.

We gain confidence from doing it right, not from

doing it wrong.

Practice but receive rewards

Page 19: Modelling and Simulation with MATLAB: a case study in … · Modelling and Simulation with MATLAB: Layout of presentation ... Modelling MATLAB Virtual Conference, ... Using both the

Why Matlab ?

MATLAB Virtual Conference, March 26, 2014 19

Computation

Visualization

Programming

Page 20: Modelling and Simulation with MATLAB: a case study in … · Modelling and Simulation with MATLAB: Layout of presentation ... Modelling MATLAB Virtual Conference, ... Using both the

Why Matlab ?

MATLAB Virtual Conference, March 26, 2014 20

Computation

Visualization

Programming

Computation: simplicity of initial use instils confidence.

Programming: significantly extends problem solving

power and efficiency.

Visualisation: renders results very accessible.

Page 21: Modelling and Simulation with MATLAB: a case study in … · Modelling and Simulation with MATLAB: Layout of presentation ... Modelling MATLAB Virtual Conference, ... Using both the

Why Matlab ?

MATLAB Virtual Conference, March 26, 2014 21

MATLAB permits an expert to do

amazing things.

Page 22: Modelling and Simulation with MATLAB: a case study in … · Modelling and Simulation with MATLAB: Layout of presentation ... Modelling MATLAB Virtual Conference, ... Using both the

Why Matlab ?

MATLAB Virtual Conference, March 26, 2014 22

MATLAB also permits a non-expert to do

amazing things.

MATLAB permits an expert to do

amazing things.

Page 23: Modelling and Simulation with MATLAB: a case study in … · Modelling and Simulation with MATLAB: Layout of presentation ... Modelling MATLAB Virtual Conference, ... Using both the

An Engineering Motto

MATLAB Virtual Conference, March 26, 2014 23

“In theory, there is no difference between theory and

practice. But in practice, there is”.

Lawrence “Yogi” Berra (1925 – )

Page 24: Modelling and Simulation with MATLAB: a case study in … · Modelling and Simulation with MATLAB: Layout of presentation ... Modelling MATLAB Virtual Conference, ... Using both the

An Engineering Motto

MATLAB Virtual Conference, March 26, 2014 24

Problems should be as real as possible.

“In theory, there is no difference between theory and

practice. But in practice, there is”.

Lawrence “Yogi” Berra (1925 – )

Page 25: Modelling and Simulation with MATLAB: a case study in … · Modelling and Simulation with MATLAB: Layout of presentation ... Modelling MATLAB Virtual Conference, ... Using both the

An Engineering Motto

MATLAB Virtual Conference, March 26, 2014 25

Embrace the term “modelling” in the title of the

module. The students would have to

mathematically model as their first step in solving

many of the problems.

Page 26: Modelling and Simulation with MATLAB: a case study in … · Modelling and Simulation with MATLAB: Layout of presentation ... Modelling MATLAB Virtual Conference, ... Using both the

Modelling

MATLAB Virtual Conference, March 26, 2014 26

The students found this to be the most

challenging part of the module. It

challenges compartmentalisation and

demands assimilation of previous learning.

It is neither rote nor routine.

Page 27: Modelling and Simulation with MATLAB: a case study in … · Modelling and Simulation with MATLAB: Layout of presentation ... Modelling MATLAB Virtual Conference, ... Using both the

Lecture notes will adopt a large

number of standardised styles for

the presentation of different types

of material.

Lectures:

MATLAB Virtual Conference, March 26, 2014 27

>> a = 1; % initialise a

>> b = 2; % initialise b

>> fa = (a^2) – 2 % determine value of f(a)

>> fb = (b^2) – 2 % determine value of f(b)

If f(a) and f(b) have opposite sign:

>> c = a – (fa*(b – a))/(fb – fa) % update c using old a and b

>> fc = (c^2) – 2 % determine value of f(c)

If f(c) = 0 stop. If f(c) and f(a) have same sign:

>> a = c; % update a

else:

>> b = c; % update b

22 xxfRegula Falsi

Style for command

window MATLAB code

Page 28: Modelling and Simulation with MATLAB: a case study in … · Modelling and Simulation with MATLAB: Layout of presentation ... Modelling MATLAB Virtual Conference, ... Using both the

Lecture notes will adopt a large

number of standardised styles for

the presentation of different types

of material.

Lectures:

MATLAB Virtual Conference, March 26, 2014 28

>> a = 1; % initialise a

>> b = 2; % initialise b

>> fa = (a^2) – 2 % determine value of f(a)

>> fb = (b^2) – 2 % determine value of f(b)

If f(a) and f(b) have opposite sign:

>> c = a – (fa*(b – a))/(fb – fa) % update c using old a and b

>> fc = (c^2) – 2 % determine value of f(c)

If f(c) = 0 stop. If f(c) and f(a) have same sign:

>> a = c; % update a

else:

>> b = c; % update b

a0 = 1.0000 , b0 = 2

a1 = 1.3333 , b1 = 2

a2 = 1.4000 , b2 = 2

a3 = 1.4118 , b3 = 2

a4 = 1.4138 , b4 = 2

a5 = 1.4141 , b5 = 2

a6 = 1.4142 , b6 = 2

22 xxfRegula Falsi

Style for command

window MATLAB code

Style for presentation

of numerical results

Page 29: Modelling and Simulation with MATLAB: a case study in … · Modelling and Simulation with MATLAB: Layout of presentation ... Modelling MATLAB Virtual Conference, ... Using both the

Introductory Laboratories: basics

MATLAB Virtual Conference, March 26, 2014 29

Test Problem:

Using both the matrix inverse command, inv, and the

left matrix divide command, \ , solve this system of

equations.

3423

02

12

zyx

zyx

yx

Page 30: Modelling and Simulation with MATLAB: a case study in … · Modelling and Simulation with MATLAB: Layout of presentation ... Modelling MATLAB Virtual Conference, ... Using both the

Introductory Laboratories: basics

MATLAB Virtual Conference, March 26, 2014 30

Test Problem:

“Wow! That was

easy”.

Using both the matrix inverse command, inv, and the

left matrix divide command, \ , solve this system of

equations.

3423

02

12

zyx

zyx

yx

Page 31: Modelling and Simulation with MATLAB: a case study in … · Modelling and Simulation with MATLAB: Layout of presentation ... Modelling MATLAB Virtual Conference, ... Using both the

Introductory Laboratories:

MATLAB files

MATLAB Virtual Conference, March 26, 2014 31

Test Problem: Write a MATLAB file to

calculate and output N+1 successive states of the

logistic map having parameter μ and initial condition

x0 . ...

nnn xxx 11

Page 32: Modelling and Simulation with MATLAB: a case study in … · Modelling and Simulation with MATLAB: Layout of presentation ... Modelling MATLAB Virtual Conference, ... Using both the

Introductory Laboratories:

MATLAB files

MATLAB Virtual Conference, March 26, 2014 32

A typical output

might be as shown.

0 20 40 60 80 100 1200.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

n

x

Logistic map for = 3.5 , x0 = 0.1

Page 33: Modelling and Simulation with MATLAB: a case study in … · Modelling and Simulation with MATLAB: Layout of presentation ... Modelling MATLAB Virtual Conference, ... Using both the

Introductory Laboratories:

MATLAB files

MATLAB Virtual Conference, March 26, 2014 33

A typical output

might be as shown.

0 20 40 60 80 100 1200.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

n

x

Logistic map for = 3.5 , x0 = 0.1

Page 34: Modelling and Simulation with MATLAB: a case study in … · Modelling and Simulation with MATLAB: Layout of presentation ... Modelling MATLAB Virtual Conference, ... Using both the

Introductory Laboratories:

MATLAB files

MATLAB Virtual Conference, March 26, 2014 34

A typical output

might be as shown.

Explore!

0 20 40 60 80 100 1200.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

n

x

Logistic map for = 3.5 , x0 = 0.1

Page 35: Modelling and Simulation with MATLAB: a case study in … · Modelling and Simulation with MATLAB: Layout of presentation ... Modelling MATLAB Virtual Conference, ... Using both the

Introductory Laboratories: MATLAB files

MATLAB Virtual Conference, March 26, 2014 35

function y = my_logistic_map(mu,x0,N)

% y = my_logistic_map(mu,x0,N): iterate map x(n+1) = mu x(n)(1-x(n)) for parameter mu lying between 0

% and 4 and for initial condition x(0) = x0 lying between 0 and 1. Under these conditions the logistic

% map maps the interval [0,1] into itself. Iterate N times and produce output as vector y of N+1

% elements being the initial value x0 and N subsequent iterations in order of iteration.

% Version 1: 2014 Paul Curran

% Revision: not applicable

if nargin ~= 3 error('Not enough input arguments: my_logistic_map requires 3 inut arguments mu, x0 and

N.'); end

if nargout ~= 1 error('Not enough output arguments: my_logistic_map requires 1 output argument y being

a vector of N+1 element'); end

if mu < 0 || mu > 4 error('Invalid range: input argument mu must lie between 0 and 4'); end

if x0 < 0 || x0 > 1 error('Invalid range: input argument x0 must lie between 0 and 1'); end

if N ~= fix(N) || N <= 0 error('Invalid range or type: input argument N must be a positive integer');

end

y = zeros(N+1,1); % Set aside memory to store required N+1 values of the first N+1 successive states

y(1) = x0; % Store initial state as first element of y

x = x0; % initialise state variable x

for count = 1:N

x = mu*x*(1-x); % employ logistic map to determine next state, i.e. iterate

y(count+1) = x; % Store current state in appropriate location in vector y

end

end

Page 36: Modelling and Simulation with MATLAB: a case study in … · Modelling and Simulation with MATLAB: Layout of presentation ... Modelling MATLAB Virtual Conference, ... Using both the

Introductory Laboratories: MATLAB files

MATLAB Virtual Conference, March 26, 2014 36

function y = my_logistic_map(mu,x0,N)

% y = my_logistic_map(mu,x0,N): iterate map x(n+1) = mu x(n)(1-x(n)) for parameter mu lying between 0

% and 4 and for initial condition x(0) = x0 lying between 0 and 1. Under these conditions the logistic

% map maps the interval [0,1] into itself. Iterate N times and produce output as vector y of N+1

% elements being the initial value x0 and N subsequent iterations in order of iteration.

% Version 1: 2014 Paul Curran

% Revision: not applicable

if nargin ~= 3 error('Not enough input arguments: my_logistic_map requires 3 inut arguments mu, x0 and

N.'); end

if nargout ~= 1 error('Not enough output arguments: my_logistic_map requires 1 output argument y being

a vector of N+1 element'); end

if mu < 0 || mu > 4 error('Invalid range: input argument mu must lie between 0 and 4'); end

if x0 < 0 || x0 > 1 error('Invalid range: input argument x0 must lie between 0 and 1'); end

if N ~= fix(N) || N <= 0 error('Invalid range or type: input argument N must be a positive integer');

end

y = zeros(N+1,1); % Set aside memory to store required N+1 values of the first N+1 successive states

y(1) = x0; % Store initial state as first element of y

x = x0; % initialise state variable x

for count = 1:N

x = mu*x*(1-x); % employ logistic map to determine next state, i.e. iterate

y(count+1) = x; % Store current state in appropriate location in vector y

end

end

Descriptive function name

Page 37: Modelling and Simulation with MATLAB: a case study in … · Modelling and Simulation with MATLAB: Layout of presentation ... Modelling MATLAB Virtual Conference, ... Using both the

Introductory Laboratories: MATLAB files

MATLAB Virtual Conference, March 26, 2014 37

function y = my_logistic_map(mu,x0,N)

% y = my_logistic_map(mu,x0,N): iterate map x(n+1) = mu x(n)(1-x(n)) for parameter mu lying between 0

% and 4 and for initial condition x(0) = x0 lying between 0 and 1. Under these conditions the logistic

% map maps the interval [0,1] into itself. Iterate N times and produce output as vector y of N+1

% elements being the initial value x0 and N subsequent iterations in order of iteration.

% Version 1: 2014 Paul Curran

% Revision: not applicable

if nargin ~= 3 error('Not enough input arguments: my_logistic_map requires 3 inut arguments mu, x0 and

N.'); end

if nargout ~= 1 error('Not enough output arguments: my_logistic_map requires 1 output argument y being

a vector of N+1 element'); end

if mu < 0 || mu > 4 error('Invalid range: input argument mu must lie between 0 and 4'); end

if x0 < 0 || x0 > 1 error('Invalid range: input argument x0 must lie between 0 and 1'); end

if N ~= fix(N) || N <= 0 error('Invalid range or type: input argument N must be a positive integer');

end

y = zeros(N+1,1); % Set aside memory to store required N+1 values of the first N+1 successive states

y(1) = x0; % Store initial state as first element of y

x = x0; % initialise state variable x

for count = 1:N

x = mu*x*(1-x); % employ logistic map to determine next state, i.e. iterate

y(count+1) = x; % Store current state in appropriate location in vector y

end

end

Extensive comments

Version information

Help file

Descriptive function name

Page 38: Modelling and Simulation with MATLAB: a case study in … · Modelling and Simulation with MATLAB: Layout of presentation ... Modelling MATLAB Virtual Conference, ... Using both the

Introductory Laboratories: MATLAB files

MATLAB Virtual Conference, March 26, 2014 38

function y = my_logistic_map(mu,x0,N)

% y = my_logistic_map(mu,x0,N): iterate map x(n+1) = mu x(n)(1-x(n)) for parameter mu lying between 0

% and 4 and for initial condition x(0) = x0 lying between 0 and 1. Under these conditions the logistic

% map maps the interval [0,1] into itself. Iterate N times and produce output as vector y of N+1

% elements being the initial value x0 and N subsequent iterations in order of iteration.

% Version 1: 2014 Paul Curran

% Revision: not applicable

if nargin ~= 3 error('Not enough input arguments: my_logistic_map requires 3 inut arguments mu, x0 and

N.'); end

if nargout ~= 1 error('Not enough output arguments: my_logistic_map requires 1 output argument y being

a vector of N+1 element'); end

if mu < 0 || mu > 4 error('Invalid range: input argument mu must lie between 0 and 4'); end

if x0 < 0 || x0 > 1 error('Invalid range: input argument x0 must lie between 0 and 1'); end

if N ~= fix(N) || N <= 0 error('Invalid range or type: input argument N must be a positive integer');

end

y = zeros(N+1,1); % Set aside memory to store required N+1 values of the first N+1 successive states

y(1) = x0; % Store initial state as first element of y

x = x0; % initialise state variable x

for count = 1:N

x = mu*x*(1-x); % employ logistic map to determine next state, i.e. iterate

y(count+1) = x; % Store current state in appropriate location in vector y

end

end

Extensive comments

No bad code, such as assignment

of memory inside loop

Error checking with fully

descriptive error messages

Version information

Help file

Descriptive function name

Page 39: Modelling and Simulation with MATLAB: a case study in … · Modelling and Simulation with MATLAB: Layout of presentation ... Modelling MATLAB Virtual Conference, ... Using both the

Test Problem: Using ode45 determine an

approximate solution to the ordinary differential

equation ...

Introductory Laboratories: ode45

MATLAB Virtual Conference, March 26, 2014 39

012

2

2

ytd

ydy

td

yd

Page 40: Modelling and Simulation with MATLAB: a case study in … · Modelling and Simulation with MATLAB: Layout of presentation ... Modelling MATLAB Virtual Conference, ... Using both the

Introductory Laboratories: ode45

MATLAB Virtual Conference, March 26, 2014 40

ode45 will permit the students to test the

performance of their own first principles

ordinary differential equation solvers. Indeed

numerous MATLAB commands will permit

testing in general and this is another reason

for adopting the package.

Page 41: Modelling and Simulation with MATLAB: a case study in … · Modelling and Simulation with MATLAB: Layout of presentation ... Modelling MATLAB Virtual Conference, ... Using both the

Introductory Laboratories: ode45

MATLAB Virtual Conference, March 26, 2014 41

A typical output

might be as shown.

Students can

investigate dynamic

plots.

-2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 2.5-2.5

-2

-1.5

-1

-0.5

0

0.5

1

1.5

2

2.5

y

dy/d

t

Van der Pol equation for = 0.1

Explore!

Page 42: Modelling and Simulation with MATLAB: a case study in … · Modelling and Simulation with MATLAB: Layout of presentation ... Modelling MATLAB Virtual Conference, ... Using both the

Introductory Laboratories: ode45

MATLAB Virtual Conference, March 26, 2014 42

For example in

exploring the

Lorenz equation

and sensitive

dependence on

initial conditions

one student

received bonus

grades for this:

Page 43: Modelling and Simulation with MATLAB: a case study in … · Modelling and Simulation with MATLAB: Layout of presentation ... Modelling MATLAB Virtual Conference, ... Using both the

Introductory Laboratories:

MATLAB Virtual Conference, March 26, 2014 43

1

11

6

8 910

121314

15

16

7

1718 19

20

-5

0

5

10

15

20

-15

-10

-5

0

5

10

-5

0

5

10

15

20

Code given to draw

shaft. Problem is to

draw crossbar.

patch

Page 44: Modelling and Simulation with MATLAB: a case study in … · Modelling and Simulation with MATLAB: Layout of presentation ... Modelling MATLAB Virtual Conference, ... Using both the

Introductory Laboratories:

MATLAB Virtual Conference, March 26, 2014 44

1

11

6

8 910

121314

15

16

7

1718 19

20

-5

0

5

10

15

20

-15

-10

-5

0

5

10

-5

0

5

10

15

20

Code given to draw

shaft. Problem is to

draw crossbar.

Reuse, don’t

rewrite!

patch

Page 45: Modelling and Simulation with MATLAB: a case study in … · Modelling and Simulation with MATLAB: Layout of presentation ... Modelling MATLAB Virtual Conference, ... Using both the

One minor project was concerned with a

10 bar linkage from 1991 Ford Mustang

convertible roof mechanism. The

mechanism was animated on the website

of J. Michael McCarthy (University of

California at Irvine) although the link

has since ceased to work.

Minor Project: Static Equations

MATLAB Virtual Conference, March 26, 2014 45

gggggggggggggggggggg

0

1

2

3

4

5

6

7

8

9 1011

40o

20o

20o

40o

12

20o

45o

Page 46: Modelling and Simulation with MATLAB: a case study in … · Modelling and Simulation with MATLAB: Layout of presentation ... Modelling MATLAB Virtual Conference, ... Using both the

Minor Project: Static Equations

MATLAB Virtual Conference, March 26, 2014 46

The crank drives the mechanism.

The problem is treated as pseudo

static, with all angles determined

for a given crank angle.

gggggggggggggggggggg

0

1

2

3

4

5

6

7

8

9 1011

40o

20o

20o

40o

12

20o

45o

Page 47: Modelling and Simulation with MATLAB: a case study in … · Modelling and Simulation with MATLAB: Layout of presentation ... Modelling MATLAB Virtual Conference, ... Using both the

Minor Project: Static Equations

MATLAB Virtual Conference, March 26, 2014 47

The first rule of perseverance:

ignore what you cannot do and find

something that you can do. There

are no big problems, only large

collections of small problems.

0

1

2

3

4

5

6

7

8

9 1011

40o

20o

20o

40o

12

20o

45o

Page 48: Modelling and Simulation with MATLAB: a case study in … · Modelling and Simulation with MATLAB: Layout of presentation ... Modelling MATLAB Virtual Conference, ... Using both the

The student must derive a number

of closure equations.

Minor Project: Static Equations

MATLAB Virtual Conference, March 26, 2014 48

0

1

2

3

4

5

6

7

8

9 1011

40o

20o

20o

40o

12

20o

45o

For example we may obtain two

expressions for the vector from

node 1 to node 4.

Page 49: Modelling and Simulation with MATLAB: a case study in … · Modelling and Simulation with MATLAB: Layout of presentation ... Modelling MATLAB Virtual Conference, ... Using both the

Employing Cartesian coordinates we

obtain the closure equation:

Minor Project: Static Equations

MATLAB Virtual Conference, March 26, 2014 49

0

1

2

3

4

5

6

7

8

9 1011

40o

20o

20o

40o

12

20o

45o

sin5.21

cos5.2

sin2sin2

cos2cos2

4,33,1

4,33,1

This equation can be solved by

employing the Newton-Raphson

algorithm.

Reuse, don’t rewrite!

Page 50: Modelling and Simulation with MATLAB: a case study in … · Modelling and Simulation with MATLAB: Layout of presentation ... Modelling MATLAB Virtual Conference, ... Using both the

As a solution I had in mind something like this:

Minor Project: Static Equations

MATLAB Virtual Conference, March 26, 2014 50

Page 51: Modelling and Simulation with MATLAB: a case study in … · Modelling and Simulation with MATLAB: Layout of presentation ... Modelling MATLAB Virtual Conference, ... Using both the

Minor Project: Static Equations

MATLAB Virtual Conference, March 26, 2014 51

In general the

solution which the

students actually

obtained looked

more like this,

without the

animation having

been completed.

Page 52: Modelling and Simulation with MATLAB: a case study in … · Modelling and Simulation with MATLAB: Layout of presentation ... Modelling MATLAB Virtual Conference, ... Using both the

Problem 2.5: Space-shuttle

... model mission STS-30, the 29th Space Shuttle

mission, ... produce an animation of the flight of the

vehicle from launch to the point where the external

tank is jettisoned, ...

Team Minor Project:

Dynamic Equations

MATLAB Virtual Conference, March 26, 2014 52

Page 53: Modelling and Simulation with MATLAB: a case study in … · Modelling and Simulation with MATLAB: Layout of presentation ... Modelling MATLAB Virtual Conference, ... Using both the

Team Minor Project:

Dynamic Equations

MATLAB Virtual Conference, March 26, 2014 53

Sensible models for numerous effects

such as reduction with altitude of air

density and force of gravity, changing

drag, decrease in mass, changing throttle

setting, staging etc. had to be chosen.

Page 54: Modelling and Simulation with MATLAB: a case study in … · Modelling and Simulation with MATLAB: Layout of presentation ... Modelling MATLAB Virtual Conference, ... Using both the

Team Minor Project:

Dynamic Equations

54

MATLAB Virtual

Conference, March 26, 2014

Donal Bourke,

Sean Cleary and

Deborah Hayden.

Snapshots from

report of Sean

Cleary.

Page 55: Modelling and Simulation with MATLAB: a case study in … · Modelling and Simulation with MATLAB: Layout of presentation ... Modelling MATLAB Virtual Conference, ... Using both the

Team Minor Project:

Dynamic Equations

55

Nose cones

modelled using

ogives. Indicative

of quality of

reporting required

and received.

MATLAB Virtual

Conference, March 26, 2014

Page 56: Modelling and Simulation with MATLAB: a case study in … · Modelling and Simulation with MATLAB: Layout of presentation ... Modelling MATLAB Virtual Conference, ... Using both the

Team Minor Project: Dynamic

Equations

56

MATLAB Virtual

Conference, March 26, 2014

Page 57: Modelling and Simulation with MATLAB: a case study in … · Modelling and Simulation with MATLAB: Layout of presentation ... Modelling MATLAB Virtual Conference, ... Using both the

Team Minor Project: Dynamic

Equations

57 MATLAB Virtual Conference, March 26, 2014

https://www.dropbox.com/sh/pe8y5axenp2u5he/fvWCFR4jxT

Page 58: Modelling and Simulation with MATLAB: a case study in … · Modelling and Simulation with MATLAB: Layout of presentation ... Modelling MATLAB Virtual Conference, ... Using both the

Problem 2.4: 2-body problem

Set up the equations of motion for the planet earth

taking into account the gravitational effects of the sun

and of the planet Jupiter. ... Visualise by creating an

animation, ...

Team Minor Project:

Dynamic Equations

MATLAB Virtual Conference, March 26, 2014 58

Page 59: Modelling and Simulation with MATLAB: a case study in … · Modelling and Simulation with MATLAB: Layout of presentation ... Modelling MATLAB Virtual Conference, ... Using both the

Anton Katayev, Peadar Keegan and Carl Kelly.

Carl solves a number of similar problems on his website:

Team Minor Project:

Dynamic Equations

MATLAB Virtual Conference, March 26, 2014 59

http://carl-kelly.site44.com/projects/cele/cele.html#top

Page 60: Modelling and Simulation with MATLAB: a case study in … · Modelling and Simulation with MATLAB: Layout of presentation ... Modelling MATLAB Virtual Conference, ... Using both the

Team Minor Project:

Dynamic Equations

MATLAB Virtual Conference, March 26, 2014 60

Page 61: Modelling and Simulation with MATLAB: a case study in … · Modelling and Simulation with MATLAB: Layout of presentation ... Modelling MATLAB Virtual Conference, ... Using both the

Problem 2.2: Vehicle Suspension

... describe the performance of the half vehicle ...

Choose your own model for the road surface but be

sure to include a seam, i.e. a sharp step, some

undulation and a stochastic component.

Team Minor Project:

Dynamic Equations

MATLAB Virtual Conference, March 26, 2014 61

Page 62: Modelling and Simulation with MATLAB: a case study in … · Modelling and Simulation with MATLAB: Layout of presentation ... Modelling MATLAB Virtual Conference, ... Using both the

Team Minor Project:

Dynamic Equations

MATLAB Virtual Conference,

March 26, 2014

Report of Ciaran Devenney:

Start with

mathematical model

of vehicle.

Page 63: Modelling and Simulation with MATLAB: a case study in … · Modelling and Simulation with MATLAB: Layout of presentation ... Modelling MATLAB Virtual Conference, ... Using both the

Team Minor Project:

Dynamic Equations

MATLAB Virtual Conference, March 26, 2014 63

Report of Ciaran Devenney:

Start with

mathematical model

of vehicle.

Page 64: Modelling and Simulation with MATLAB: a case study in … · Modelling and Simulation with MATLAB: Layout of presentation ... Modelling MATLAB Virtual Conference, ... Using both the

Team Minor Project:

Dynamic Equations

MATLAB Virtual Conference, March 26, 2014 64

Next model

road.

Page 65: Modelling and Simulation with MATLAB: a case study in … · Modelling and Simulation with MATLAB: Layout of presentation ... Modelling MATLAB Virtual Conference, ... Using both the

Ciaran Devenney, Dominic Dolan and Ronan Keane.

Team Minor Project:

Dynamic Equations

MATLAB Virtual Conference, March 26, 2014 65

Page 66: Modelling and Simulation with MATLAB: a case study in … · Modelling and Simulation with MATLAB: Layout of presentation ... Modelling MATLAB Virtual Conference, ... Using both the

Team Minor Project:

Dynamic Equations

MATLAB Virtual Conference, March 26, 2014 66

This project shows what the non-expert can

achieve with MATLAB, producing an

animation which is physically meaningful and

totally accessible. On seeing it my two year old

son announced “I love that”.

Page 67: Modelling and Simulation with MATLAB: a case study in … · Modelling and Simulation with MATLAB: Layout of presentation ... Modelling MATLAB Virtual Conference, ... Using both the

Conclusion

MATLAB Virtual Conference, March 26, 2014 67

Thanks to Dr Barry Brophy, UCD

for video production.