Engineering Computation Using Matlab

(Also MATLAB for Engineers with Applications)

MET 2501 / ME 1311 Course Syllabus:

Prerequisite: Engineering Statics for MET 2501 and  Pre-Calculus for ME 311 

Course introduction:

This course provides an introduction to computation in the context of engineering problem solving. In this course, the fundamental tenets of computer programming will be placed into the context of MATLAB, a user-friendly language for engineers. Engineering Computation with MATLAB employs hands-on exercises, examples from the world of engineering, and a variety core tools to increase general proficiency and capability in computer programming, preparing engineering students to fluidly adapt learned programming concepts to other languages.

 An introduction to computer programming with MATLAB, including flowcharts, loops, condition statements, and functions, is given. Basic numerical methods, including numerical integration, differentiation, and root finding, are also covered. Emphasis is placed on using MATLAB to solve engineering problems, and using user-defined functions and toolboxes within MATLAB to create computer programs. A brief introduction to Graphic User Interface (GUI) is also given.

Course Software/ Text:

Students are required to buy the following textbook for this course. You can order the book online:

Solving Mechanical Engineering Problems with Matlab, By Simin Nasseri, 1st Edition, 2015, Linus Learning Publishing company.
ISBN 10: 1-60797-675-7

ISBN 13: 978-1-60797-675-2

Students should work on practice lab problems at the end of each chapter to get ready for tests and lab assignments. Purchasing the MATLAB software is optional because this software has been installed on all Computer labs’ computers and students may be able to work with the package from home.


Course grade determination:

Your grade in this course will be determined from your performance on lab assignments (in-class assignments), case studies (includes the presentation of your projects), and tests. The main emphasis of the course is on gaining practical skills. For this reason, the lab sessions are essential and should not be missed.

  • Attendance                    5%
  • Lab assignments           30%
  • Case Studies                 25%
  • Tests                              40%

       Total                            100%

[90 - 100% = A,   80 - 89% = B   70 - 79% = C   60 - 69% = D   Below 60% = F]

The tests will be proctored and will be announced well before each test.

Lab assignments are from the previous practice labs and other materials taught in class. You need to prepare the list of commands and use them during the lab assignments. During the allocated time, you answer the questions by typing appropriate commands and then either hand in the assignment sheet or email the file you create to me.

Information about case studies will be given in detail. You will have two projects or case studies. The first one is a Matlab program for solving an engineering problem which is assigned to you. It is 10% of your total grade. The second one is very comprehensive and more difficult in which you work on an engineering project related to your current job or something which is interesting for you. It is 15% of your total grade. You can make a GUI (Graphic User Interface) if you wish. This is actually a self-training step in finishing this Matlab course via which you learn how to create a program which communicates with the user graphically. Also, you can make executable files based on your Matlab program, for which you need to use the Matlab compiler.

Tentative Schedule for lab assignments and tests:

You can use your list of commands for these assessments.

Lab Assignment /TestEach lab weighs 6% and each test about 11% Case study=> 25% Chapters of the book
Quiz 1 Chapters 1 and 2
Lab 1 Chapters 1 and 2
Lab 2 Chapter 4
Test 1 Chapters 2, 3 and 4
Lab 3 Chapter 5 (and previous ones)
Lab 4 (Homework assignment) Chapter 5, and 7 (and previous ones)
Test 2 Chapters 2 to 7 (mainly 5 and 7)
Case study
Test 3 Chapter 9 and 10
Lab 5 List of commands

 Weekly Schedule:

Chapters Quiz/lab Assignment/Test
1 Ch 1-Ch 2  
2 Ch 2 Quiz 1
3 Ch 2- Ch 3 Lab Assignment 1
4 Ch 3- Ch 4 Lab 1 in D2L- Quiz 2
5 Ch 4  
6 Ch 4- Ch 5 Lab Assignment 2
7 Ch 5  
8 Ch 6 Test 1
9 Ch 7 HW Assignment
10 Ch 7- Ch 8  
11 Ch 8 Test 2
12 Engineering Problems (Dynamics)- Ch 8

HW assignment

Selecting the Case Study

13 Ch 9 Break for the Spring Semester
14 Ch 9  
15 Ch 9- Ch 10 Break for the Fall Semester
16 Ch 10 Test 3- Case Study Presentation


Course content- Topic coverage:

Part 1, Working with MATLAB

 Fundamental Engineering Computing:

  • MATLAB Environment and Commands
  • MATLAB Functions
  • Linear Algebra and Matrices
  • Conditional Statements and Loops

Numerical Techniques:

  • Solutions to Systems of Linear Equations
  • Interpolation and Curve Fitting
  • Numerical Integration and Differentiation
  • Ordinary Differential Equations
  • Symbolic Mathematics

  Part 2, Engineering Problem Solving

  • Simple Engineering Problems
  • Statics and Structures Problems
  • Strength of Materials Problems
  • Dynamics Problems
  • Fluid Mechanics Problems
  • Heat Transfer and Thermodynamics Problems
  • Tool Design Problems
  • Vibrations and Advanced Dynamics Problems
  • Other Engineering Problems

Course Outcomes:

By the end of this course, students will be able to:

  • Introduce vectors and matrices in Matlab,
  • Apply basic concepts of Linear Algebra for vector and matrix operations,
  •  Perform 2D and 3D plotting,
  • Formulate and solve systems of linear equations by Gaussian elimination, and matrix inversion,
  • Write conditional statements and loops,
  • Write m-files and functions in Matlab,
  • Perform the basic operations on polynomials,
  • Conduct data analysis, interpolation, curve fitting, and quantify the degree of fit using definition of error,
  • Perform numerical integration and differentiation,
  • Solve some engineering problems using Matlab,
  • Apply the fundamental knowledge of mathematics, science & engineering, to solve the real mechanical engineering problems (through one or two case studies).

Course materials:

 Part 1:

Learning Matlab:

Brief Introduction

Check this page for special characters

  • Starting Matlab- Basic Commands and Statements
  • Linear Algebra and Matrices
  • fprintf– Save and Load Commands
  • Matrix operations- 2D and 3D plotting
  • Scripts and Functions       
  • Numerical Techniques: System of Linear Equations (Applications, eigenvalues and eigenvectors)
  • Conditional Statements and Logical Expressions (The If statement, solving Dynamics problems)
  • Loops in Matlab (Single and Double Loops)
  • Polynomials (Various operations, curve fitting, derivatives and integrals and Interpolation)

 Part 2:

Engineering Applications:

Students will choose a subject and work on it. They can be related to:

  • Statics and Dynamics
  • Fluid Mechanics and Thermodynamics Problems
  • Numerical Integration
    • Area Moment of Inertia of an elliptic shape
    • An example for undefined limits: Normal distribution (a problem on Probability)
    • Principle of Work and Energy
    • Calculating Complex Integrals
  • Numerical Differentiation
    • Application: Heat Transfer
    • Application: Vibrations and Advanced Dynamics
  •  Creating a Graphical User Interface with MATLAB

 Internet Sources:

  1. Getting started with Matlab
  2. Working with development Environment
  3. Writing a Matlab program
  4.  Learning Matlab


  Practice Labs:

Practice labs will not be placed here on the Internet. You can find them at the end of the chapters. Review them and get ready for your lab assignments or tests.   

Lab Assignments:

 More info is placed on D2L


Case Studies and Tests:

Your case studies weigh 25% of your total grade. Students can choose to have two smaller case studies. Depending on the difficulty of them, one will be considered as 10% and the other one 15%. These can either be related to engineering (eg. Bernoulli's Equation and Pump Performance Charts, etc) or physics problems or anything else related to your jobs. You should get your case studies approved by me. I prefer that you do your case studies individually, unless the projects are difficult. Remember that each case study should be more difficult than the problems I give you in lab or the ones assigned as homework.

Points will be taken off for late/incomplete submission! Don't forget to email your report and input files. Email your function (your report(*), your function and the input files) to THIS EMAIL by the time set in class!

Follow these guidelines for submitting your case studies:

  1. As the first page of your report, choose a suitable title for your case study, write your name, my name, name of the class, date, etc,
  2. Clearly state the problem. Use a couple of figures to clarify the problem chosen (in some case studies- like registration- this is not required and you can use a small flowchart. However in some like the projectile or oblique impact or modal temperature distribution, flow in the pipe, etc, you need to insert the figures),
  3. Write the equations neatly (use the equation editor in MS Word),
  4. Indicate the inputs and outputs and what exactly the function does. Copy your function from Matlab editor and paste it into your report,
  5. Attach all the output results, including the output data and figures that you get after running the function.

Grading policy:

5%             Content (Details of the project and Organization)

20%           Defining the problem (equations, figures, flowcharts, etc)

15%           Explaining how your function works (inputs and outputs and every section of the function)

40%           Function is written professionally(**) (fprintf, clc, clear all at the beginning, logical statements, correct loops, avoiding repetitions, etc)

20%           Results: How you call the function, Output values you get, figures and anything you want your function to do.

100%         Total

(*) Points will be taken off for late submission.

(**) Your program should tell the user what it does. You must use fprintf at the beginning of your code to introduce your program to the user or use the help command.

(***) Your program should be fool-proof.

As discussed in class, Plagiarism cannot be tolerated and the penalty is that the student not only gets zero for the case study, but also he/she will fail the course. You can review this document related to Plagiarism.

Academic Honesty:
KSU has an Honor Code and a procedure for handling cases when academic misconduct is alleged. All students should be aware of them. Information about the Honor Code and the misconduct procedure may be found here.