0% found this document useful (0 votes)
29 views

Introduction Matlab

This document provides an introduction to MATLAB for engineering students. It covers basic MATLAB functionality like using it as a calculator, plotting graphs, generating and manipulating matrices. It also introduces programming concepts in MATLAB like M-files, functions, control flow and debugging. The document contains tutorial lessons with examples on various MATLAB topics and exercises for students.

Uploaded by

TrustWorthy100
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
29 views

Introduction Matlab

This document provides an introduction to MATLAB for engineering students. It covers basic MATLAB functionality like using it as a calculator, plotting graphs, generating and manipulating matrices. It also introduces programming concepts in MATLAB like M-files, functions, control flow and debugging. The document contains tutorial lessons with examples on various MATLAB topics and exercises for students.

Uploaded by

TrustWorthy100
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

INTRODUCTION TO MATLAB FOR

ENGINEERING STUDENTS

David Houcque
Northwestern University

(version 1.2, August 2005)


Contents

1 Tutorial lessons 1 1
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Basic features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 A minimum MATLAB session . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3.1 Starting MATLAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3.2 Using MATLAB as a calculator . . . . . . . . . . . . . . . . . . . . . 4
1.3.3 Quitting MATLAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.4 Getting started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.4.1 Creating MATLAB variables . . . . . . . . . . . . . . . . . . . . . . . 5
1.4.2 Overwriting variable . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.4.3 Error messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.4.4 Making corrections . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.4.5 Controlling the hierarchy of operations or precedence . . . . . . . . . 6
1.4.6 Controlling the appearance of floating point number . . . . . . . . . . 8
1.4.7 Managing the workspace . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.4.8 Keeping track of your work session . . . . . . . . . . . . . . . . . . . 9
1.4.9 Entering multiple statements per line . . . . . . . . . . . . . . . . . . 9
1.4.10 Miscellaneous commands . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.4.11 Getting help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.5 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2 Tutorial lessons 2 12
2.1 Mathematical functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.1.1 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

i
2.2 Basic plotting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.2.1 overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.2.2 Creating simple plots . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.2.3 Adding titles, axis labels, and annotations . . . . . . . . . . . . . . . 15
2.2.4 Multiple data sets in one plot . . . . . . . . . . . . . . . . . . . . . . 16
2.2.5 Specifying line styles and colors . . . . . . . . . . . . . . . . . . . . . 17
2.3 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.4 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.5 Matrix generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.5.1 Entering a vector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.5.2 Entering a matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.5.3 Matrix indexing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.5.4 Colon operator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.5.5 Linear spacing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.5.6 Colon operator in a matrix . . . . . . . . . . . . . . . . . . . . . . . . 22
2.5.7 Creating a sub-matrix . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.5.8 Deleting row or column . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.5.9 Dimension . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.5.10 Continuation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.5.11 Transposing a matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.5.12 Concatenating matrices . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.5.13 Matrix generators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.5.14 Special matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.6 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

3 Array operations and Linear equations 30


3.1 Array operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.1.1 Matrix arithmetic operations . . . . . . . . . . . . . . . . . . . . . . . 30
3.1.2 Array arithmetic operations . . . . . . . . . . . . . . . . . . . . . . . 30
3.2 Solving linear equations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.2.1 Matrix inverse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

ii
3.2.2 Matrix functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.3 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

4 Introduction to programming in MATLAB 35


4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.2 M-File Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.2.1 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.2.2 Script side-effects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.3 M-File functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.3.1 Anatomy of a M-File function . . . . . . . . . . . . . . . . . . . . . . 38
4.3.2 Input and output arguments . . . . . . . . . . . . . . . . . . . . . . . 40
4.4 Input to a script file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
4.5 Output commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.6 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

5 Control flow and operators 43


5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
5.2 Control flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
5.2.1 The ‘‘if...end’’ structure . . . . . . . . . . . . . . . . . . . . . . . 43
5.2.2 Relational and logical operators . . . . . . . . . . . . . . . . . . . . . 45
5.2.3 The ‘‘for...end’’ loop . . . . . . . . . . . . . . . . . . . . . . . . . 45
5.2.4 The ‘‘while...end’’ loop . . . . . . . . . . . . . . . . . . . . . . . 46
5.2.5 Other flow structures . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
5.2.6 Operator precedence . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
5.3 Saving output to a file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
5.4 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

6 Debugging M-files 49
6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
6.2 Debugging process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
6.2.1 Preparing for debugging . . . . . . . . . . . . . . . . . . . . . . . . . 50
6.2.2 Setting breakpoints . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

iii
6.2.3 Running with breakpoints . . . . . . . . . . . . . . . . . . . . . . . . 50
6.2.4 Examining values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
6.2.5 Correcting and ending debugging . . . . . . . . . . . . . . . . . . . . 51
6.2.6 Ending debugging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
6.2.7 Correcting an M-file . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

A Summary of commands 53

B Release notes for Release 14 with Service Pack 2 58


B.1 Summary of changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
B.2 Other changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
B.3 Further details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

C Main characteristics of MATLAB 62


C.1 History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
C.2 Strengths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
C.3 Weaknesses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
C.4 Competition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

iv
List of Tables

1.1 Basic arithmetic operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5


1.2 Hierarchy of arithmetic operations . . . . . . . . . . . . . . . . . . . . . . . . 7

2.1 Elementary functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12


2.2 Predefined constant values . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.3 Attributes for plot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.4 Elementary matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.5 Special matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

3.1 Array operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31


3.2 Summary of matrix and array operations . . . . . . . . . . . . . . . . . . . . 32
3.3 Matrix functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

4.1 Anatomy of a M-File function . . . . . . . . . . . . . . . . . . . . . . . . . . 38


4.2 Difference between scripts and functions . . . . . . . . . . . . . . . . . . . . 39
4.3 Example of input and output arguments . . . . . . . . . . . . . . . . . . . . 40
4.4 disp and fprintf commands . . . . . . . . . . . . . . . . . . . . . . . . . . 41

5.1 Relational and logical operators . . . . . . . . . . . . . . . . . . . . . . . . . 45


5.2 Operator precedence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

A.1 Arithmetic operators and special characters . . . . . . . . . . . . . . . 53


A.2 Array operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
A.3 Relational and logical operators . . . . . . . . . . . . . . . . . . . . . . 54
A.4 Managing workspace and file commands . . . . . . . . . . . . . . . . . 55
A.5 Predefined variables and math constants . . . . . . . . . . . . . . . . . 55

v
A.6 Elementary matrices and arrays . . . . . . . . . . . . . . . . . . . . . . 56
A.7 Arrays and Matrices: Basic information . . . . . . . . . . . . . . . . . 56
A.8 Arrays and Matrices: operations and manipulation . . . . . . . . . . 56
A.9 Arrays and Matrices: matrix analysis and linear equations . . . . . 57

vi
List of Figures

1.1 The graphical interface to the MATLAB workspace . . . . . . . . . . . . . . 3

2.1 Plot for the vectors x and y . . . . . . . . . . . . . . . . . . . . . . . . . . . 15


2.2 Plot of the Sine function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.3 Typical example of multiple plots . . . . . . . . . . . . . . . . . . . . . . . . 17

vii

You might also like