- Details
- Parent Category: Engineering Assignments' Solutions

# We Helped With This Mechanical Engineering Assignment: Have A Similar One?

Category | Engineering |
---|---|

Subject | Mechanical Engineering |

Difficulty | Undergraduate |

Status | Solved |

More Info | Mechanical Engineering Assignment Help |

## Assignment Description

ENG2005

### Advanced Engineering Mathematics

Computational Module 1 - Matlab Primer

Assessed Problems

Clayton Campus

Malaysia Campus

Semester 1 and 2, 2017

Australia Malaysia South Africa Italy India **monash.edu/science ** SCHOOL OF MATHEMATICAL
SCIENCES

ENG2005

Advanced Engineering Mathematics

Lab 1 - A Brief Matlab Primer

Assessed problems

The following assesed problems are based on the material covered in the notes ‘Lab 1 - A brief Matlab primer’. They are to be attempted after reading through those notes and are to be assessed in person by the demonstrator in your assigned laboratory class. Simply complete the problems (on your own!) and present the scripts to your demonstrator, showing how they work.

If you are having trouble completing any of the exercises or you are unsure of how the assessment for these modules works then feel free to ask the demonstrator for assistance!

Problem 1. In this course it will be sometimes necessary to integrate known functions over a given domain. Such integrals will often have no analytic solutions (or will be extremely difficult to solve analytically). We can numerically approximate such integrals with ease by writing a simple Matlab script.

The number resulting from evaluating the definite integral,

is of course the area between the curve *f*(*t*) and the *t*-axis
between *t *= *a *and *t *= *b*. The trapezoidal rule, for instance, simply breaks the area up
into trapezoids which have simple areas that can be easily summed. In figure 1
for instance we see that the area between *f*(*t*) = sin(2*πt*) and the *t*-axis is approximated
with 7 blocks (of area *A _{i}*)
and 8 points (

*t*). The area of the

_{i}*i*-th block,

*A*is therefore calculated as,

_{i }*.*

If the points *t _{i }*are evenly spaced and there are

*N t*points, then summing up all of the areas generalizes to,

* ,*

where ∆*t *= *t _{i}*

_{+1 }−

*t*. This is pretty simple to code up in a matlab script. Something like the following will get you an accurate result:

_{i}t = linspace(0,1,8); y = sin(2 ∗ pi ∗ t); School of Mathematical Sciences Monash University

I = 0;

for i = 2 : length(t)

I = I +
0*.*5 ∗ (y(i) + y(i − 1)) ∗ (t(i)
− t(i − 1)); end

Of course you know what the final integral should equal (given the function and the bounds over which it is being integrated) don’t you?

Figure 1: The area under the curve sin(2*πt*) in the domain 0 ≤ *t *≤ 1 is approximated by
trapezoids of area *A _{i}*.

Create a script that uses the trapezoidal rule to
integrate the following functions (separately) over 0 ≤ *t *≤ 1: cos(*t*)*e*^{−t }and |cos(2*πt*)| (you will have to use the ‘abs’ command for the second function). Try
integrating with 2, 10 and 100 trapezoids. Of the two functions that you are
integrating, which function is more sensitive to a wide (inaccurate) trapezoid
size? Why is this?

Problem 2. Create a script which plots two functions on the same plot. The first function is,

*.*

Tuesday 14^{th }February, 2017 3
School of Mathematical Sciences Monash University

The second function is a parametric curve,

*x*(*t*)
= 2*t*cos(*πt*)*, y*(*t*) = 4sin(*πt*)*, *0
≤ *t *≤ 2*.*

You will have to create the *t *array and then determine the *x *and *y *arrays from that. Add labels, a legend and
whatever fancy colours and line styles you wish.

Extend the above script to also plot (in a separate
figure) the following multivariable function, *g*(*x,y*) = 7sin(*πx*)cos(3*πy*)*, *−1 ≤ *x,y *≤ 1*,*

whichever way you feel is best. Add labels and a
title. Use the ‘subplot’ option to put another plot beside this one showing
some contours of *g*. You
may perhaps need to use some combination of the ‘meshgrid’, ’contour’ and
‘surf’ (or ‘surfc’) functions.

Problem 3. Create a Matlab function that takes an integer N as input and calculates and then returns the fibonacci sequence up to the N-th term. You should be able to call this new function from the terminal, so make sure that it is saved in your current working directory and ensure that it’s name doesnt conflict with any pre-existing Matlab functions.

Tuesday 14^{th }February, 2017 4