University of Alberta

Similar documents
Introduction to MATLAB

Getting Started with MATLAB

Creates a 1 X 1 matrix (scalar) with a value of 1 in the column 1, row 1 position and prints the matrix aaa in the command window.

EGR 111 Introduction to MATLAB

OUTLINES. Variable names in MATLAB. Matrices, Vectors and Scalar. Entering a vector Colon operator ( : ) Mathematical operations on vectors.

Colorado State University Department of Mechanical Engineering. MECH Laboratory Exercise #1 Introduction to MATLAB

Matlab Tutorial. The value assigned to a variable can be checked by simply typing in the variable name:

MATLAB COURSE FALL 2004 SESSION 1 GETTING STARTED. Christian Daude 1

Physics 326G Winter Class 2. In this class you will learn how to define and work with arrays or vectors.

1 Introduction to Matlab

Introduction to Octave/Matlab. Deployment of Telecommunication Infrastructures

UNIVERSITI TEKNIKAL MALAYSIA MELAKA FAKULTI KEJURUTERAAN ELEKTRONIK DAN KEJURUTERAAN KOMPUTER

ECON 502 INTRODUCTION TO MATLAB Nov 9, 2007 TA: Murat Koyuncu

Math Scientific Computing - Matlab Intro and Exercises: Spring 2003

2.0 MATLAB Fundamentals

ELEC4042 Signal Processing 2 MATLAB Review (prepared by A/Prof Ambikairajah)

Introduction to MATLAB

Chapter 1 MATLAB Preliminaries

MATLAB Basics. Configure a MATLAB Package 6/7/2017. Stanley Liang, PhD York University. Get a MATLAB Student License on Matworks

Matlab Introduction. Scalar Variables and Arithmetic Operators

FreeMat Tutorial. 3x + 4y 2z = 5 2x 5y + z = 8 x x + 3y = -1 xx

MATLAB QUICK START TUTORIAL

A/D Converter. Sampling. Figure 1.1: Block Diagram of a DSP System

TUTORIAL 1 Introduction to Matrix Calculation using MATLAB TUTORIAL 1 INTRODUCTION TO MATRIX CALCULATION USING MATLAB

Eric W. Hansen. The basic data type is a matrix This is the basic paradigm for computation with MATLAB, and the key to its power. Here s an example:

CITS2401 Computer Analysis & Visualisation

MATLAB Project: Getting Started with MATLAB

Introduction to MATLAB

Introduction to MATLAB for Engineers, Third Edition

Inlichtingenblad, matlab- en simulink handleiding en practicumopgaven IWS

MATLAB TUTORIAL WORKSHEET

EE 301 Signals & Systems I MATLAB Tutorial with Questions

AN INTRODUCTION TO MATLAB

Lab of COMP 406. MATLAB: Quick Start. Lab tutor : Gene Yu Zhao Mailbox: or Lab 1: 11th Sep, 2013

Introduction to MATLAB 7 for Engineers

Introduction to MATLAB

YOGYAKARTA STATE UNIVERSITY MATHEMATICS AND NATURAL SCIENCES FACULTY MATHEMATICS EDUCATION STUDY PROGRAM

MATLAB Project: Getting Started with MATLAB

Matlab and Octave: Quick Introduction and Examples 1 Basics

Lab. Manual. Practical Special Topics (Matlab Programming) (EngE416) Prepared By Dr. Emad Saeid

ECE Lesson Plan - Class 1 Fall, 2001

Starting Matlab. MATLAB Laboratory 09/09/10 Lecture. Command Window. Drives/Directories. Go to.

STAT/MATH 395 A - PROBABILITY II UW Winter Quarter Matlab Tutorial

MATLAB Tutorial EE351M DSP. Created: Thursday Jan 25, 2007 Rayyan Jaber. Modified by: Kitaek Bae. Outline

Variable Definition and Statement Suppression You can create your own variables, and assign them values using = >> a = a = 3.

Introduction to MATLAB Programming

INTRODUCTION TO MATLAB

MATLAB for beginners. KiJung Yoon, 1. 1 Center for Learning and Memory, University of Texas at Austin, Austin, TX 78712, USA

Computer Programming in MATLAB

Laboratory 1 Octave Tutorial

MATLAB Tutorial Matrices & Vectors MATRICES AND VECTORS

A Guide to Using Some Basic MATLAB Functions

A very brief Matlab introduction

Introduction to MATLAB

Introduction to MATLAB

Computational Modelling 102 (Scientific Programming) Tutorials

Dr Richard Greenaway

Dr Richard Greenaway

How to learn MATLAB? Some predefined variables

The value of f(t) at t = 0 is the first element of the vector and is obtained by

Matlab notes Matlab is a matrix-based, high-performance language for technical computing It integrates computation, visualisation and programming usin

Lecture 2: Variables, Vectors and Matrices in MATLAB

ARRAY VARIABLES (ROW VECTORS)

Introduction to MATLAB

To see what directory your work is stored in, and the directory in which Matlab will look for files, type

MATLAB Premier. Middle East Technical University Department of Mechanical Engineering ME 304 1/50

MATLAB Introductory Course Computer Exercise Session

INTRODUCTION TO MATLAB, SIMULINK, AND THE COMMUNICATION TOOLBOX

General Information. There are certain MATLAB features you should be aware of before you begin working with MATLAB.

An Introduction to MATLAB II

What is MATLAB? What is MATLAB? Programming Environment MATLAB PROGRAMMING. Stands for MATrix LABoratory. A programming environment

Introduction to MATLAB Practical 1

MATH (CRN 13695) Lab 1: Basics for Linear Algebra and Matlab

Beginner s Mathematica Tutorial

What is MATLAB and howtostart it up?

MATLAB: The Basics. Dmitry Adamskiy 9 November 2011

Objectives. 1 Running, and Interface Layout. 2 Toolboxes, Documentation and Tutorials. 3 Basic Calculations. PS 12a Laboratory 1 Spring 2014

Some elements for Matlab programming

Introduction to Engineering gii

MATH 5520 Basics of MATLAB

MATH 3511 Basics of MATLAB

Due date for the report is 23 May 2007

User Defined Functions

A = [1, 6; 78, 9] Note: everything is case-sensitive, so a and A are different. One enters the above matrix as

Unix Computer To open MATLAB on a Unix computer, click on K-Menu >> Caedm Local Apps >> MATLAB.

Laboratory 1 Introduction to MATLAB for Signals and Systems

Outline. CSE 1570 Interacting with MATLAB. Starting MATLAB. Outline. MATLAB Windows. MATLAB Desktop Window. Instructor: Aijun An.

Variables are used to store data (numbers, letters, etc) in MATLAB. There are a few rules that must be followed when creating variables in MATLAB:

A General Introduction to Matlab

DSP First. Laboratory Exercise #1. Introduction to MATLAB

16.06/16.07 Matlab/Simulink Tutorial

Experiment 1: Introduction to MATLAB I. Introduction. 1.1 Objectives and Expectations: 1.2 What is MATLAB?

Matlab and Vectors. next page. close. exit. Math 45 Linear Algebra. David Arnold.

Lab #1 Revision to MATLAB

McTutorial: A MATLAB Tutorial

MATLAB = MATrix LABoratory. Interactive system. Basic data element is an array that does not require dimensioning.

Desktop Command window

Getting started with MATLAB

Introduction to MatLab. Introduction to MatLab K. Craig 1

MATLAB Lesson I. Chiara Lelli. October 2, Politecnico di Milano

Transcription:

A Brief Introduction to MATLAB University of Alberta M.G. Lipsett 2008 MATLAB is an interactive program for numerical computation and data visualization, used extensively by engineers for analysis of systems. (Matlab stands for Matrix laboratory.) In this course, we will use the base MATLAB application. In the latter part of the course we will also use SIMULINK, which is a separate, graphically based, simulation application that runs within MATLAB. Matlab code can be encapsulated in m-files (like macros) and custom functions. C/C++ Code can also be imported for complex embedded calculations. Developers have also created toolboxes with functions that are specific to an application domain, such as signal processing, control, robotics, etc. MATLAB, has an excellent user environment including help information on functions and other topics. MATLAB and SIMULINK are registered trademarks of The MathWorks Inc (www.mathworks.com). In working through this tutorial, you will learn about MATLAB syntax, how to enter data and manipulate it, and view the results. Appendix 3 in the course text also gives a brief tutorial on MATLAB. There are other, more extensive tutorials available on the Internet; a particularly good one is found at http://www.mathworks.com/academia/student_center/tutorials/index.html?bb=1 You are encouraged to see how MATLAB works by cutting and pasting text from the tutorials into MATLAB or an m-file. The MATLAB Desktop Environment There are three windows: a command window for entering commands and data, a command history window, and a window that shows contents of the current directory. If you open help, then a separate window opens. (It s not a bad idea to keep that window open.) When you plot output, a new window opens with the default name Figure 1. Basic commands use very similar syntax to C, with a similar order of precedence for operations. If you type: a = 3 MATLAB will return the following result in the command window: a = 3 If you then type a = 4*3 MATLAB will return: a = 12 If you don't assign a variable to an expression, then MATLAB with store the result in a temporary variable called "ans". If you don t want to see the result after each line of Page 1 of 8

input, then add a semicolon (;) at the end of the command. You can enter multiple commands together, chained by semicolons. If you need to abort a command, then type the control key and the c key together (control-c). Help Any time that you are unsure of a command, simply type the word help followed by the name of the topic at the command line. MATLAB will return a complete explanation of an exact match, or a list of partial matches with hyperlinks to select. For example, eig returns an explanation of the EIG command. If you type demo MATLAB will launch a demonstration program in which you can explore a number of features. The help window allows you to look for help with a graphical hierarchy (starting with Begin Here - which is excellent if you haven t used MATLAB before - or haven t used it in a long time), or look at contents and search for particular topics. Vectors and Matrices Almost all of the systems that we will consider will be represented by equations of state, which have a vector of state variables. Let's start off by creating something simple, like a vector. Enter each element of the vector (separated by a space) between brackets, and set it equal to a variable. For example, to create the vector a, enter into the MATLAB command window (you can "copy" and "paste" from your browser into MATLAB to make it easy): a = [1 2 3 4 5 6 9 8 7] MATLAB will return: a = 1 2 3 4 5 6 9 8 7 The first element of a is a(1). A colon between two integers generates all of the integers between the two specified integers. If colons are used to separate three integers, then Matlab generates a list of integers with the middle integer used as the increment. For example, to create a vector with elements between 0 and 20 evenly spaced in increments of 2, you can use the colon operator: t = 0:2:20 MATLAB will return: t = 0 2 4 6 8 10 12 14 16 18 20 Note that these are row vectors. To create a column vector, use a semicolon between entries. In essence you get a N x 1 matrix. To create the matrix C: Page 2 of 8

1 0 0 C = 1 1 0 1 1 0 0 0 2 enter the following: C = [-1 0 0; 1 1 0; 1-1 0; 0 0 2] (Alternatively, you can enter each row of elements and press the enter key instead of using the semicolon.) The colon operator can also be used to create vectors from a matrix, such as x = C(:,1); y = C(:,2); z = C(:,3); A good convention to use is lower-case letters for vectors and scalars, and upper-case letters for matrices. In most cases, variables can have more than one character in the name. Manipulating vectors is almost as easy as creating them. First, suppose you would like to add 2 to each of the elements in vector 'a'. The equation for that looks like: b = a + 2 b = 3 4 5 6 7 8 11 10 9 Now suppose, you would like to add two vectors together. If the two vectors are the same length, it is easy. Simply add the two as shown below: c = a + b c = 4 6 8 10 12 14 20 18 16 Subtraction of vectors of the same length works exactly the same way. Multiplying two vectors of the same size (or two matrices) element by element is done using the.* operator. E = [1 2;3 4] F = [2 3;4 5] G = E.* F E = F = G = 1 2 3 4 2 3 4 5 2 6 12 20 If you wanted to cube each element in the matrix, this is done simply by using elementby-element cubing: E.^3 Page 3 of 8

ans = 1 8 27 64 To multiply to matrix C times the column vector x, type r = C*x Remember that order matters in matrix multiplication! Many matrix operations have been incorporated into MATLAB, such as the transpose of A, which is done with the apostrophe: A. The determinant of A is found with the det command. The determinant of D, the submatrix that is the last three rows of C, is: >> D= C(2:4,:) D = 1 1 0 1-1 0 0 0 2 >> det(d) ans = -4 Functions and m-files MATLAB includes many standard functions; each function is a block of code that accomplishes a specific task. MATLAB contains all of the standard functions such as sin, cos, log, exp, sqrt, as well as many others. Commonly used constants, such as π and i or j (which designates the square root of -1), are also incorporated into MATLAB: sin(pi/4) ans = 0.7071 Recall that you can find out the usage of any function by typing help [function name] at the MATLAB command window. MATLAB uses flow of program control that is similar to C. The colon operator is a useful shortcut for For loops: For index = start: increment: finish statements; end MATLAB allows you to write your own functions with the function command. A function is different from an m-file, which is a set of commands that MATLAB executes like a macro. A function has to follow specific syntax for the header information. A MATLAB function is an M-file that starts with the keyword function. A comment line starts with the % character. This is what the function HUMPS looks like (reprinted from MATLAB help): type humps Page 4 of 8

function [out1,out2] = humps(x) %HUMPS A function used by QUADDEMO, ZERODEMO and FPLOTDEMO. % Y = HUMPS(X) is a function with strong maxima near x =.3 % and x =.9. % % [X,Y] = HUMPS(X) also returns X. With no input arguments, % HUMPS uses X = 0:.05:1. % % Example: % plot(humps) % % See QUADDEMO, ZERODEMO and FPLOTDEMO. % Copyright 1984-2002 The MathWorks, Inc. % $Revision: 5.8 $ $Date: 2002/04/15 03:34:07 $ if nargin==0, x = 0:.05:1; end y = 1./ ((x-.3).^2 +.01) + 1./ ((x-.9).^2 +.04) - 6; if nargout==2, out1 = x; out2 = y; else out1 = y; end The function has one argument x, and returns two arguments out1 and out2. A function can call itself. The function filename is the same as that of the function, in this case humps.m. You can create a new m-file (or function, if it has the special format) from the File menu and save it as a text file that Matlab can then call. Try to store your m-files in the directory in which you are running MATLAB so that MATLAB will always find them. (Use the cd command to change directories.) A p-file is an m-file that has been encrypted so that others can t see the source code. Matlab has a specific order in which it will choose to execute a command if the name has more than one function associated with it. Plotting It is easy to create plots in MATLAB. For example, to plot a sine wave as a function of time t, you can create a time vector t, then compute the value of the sine function at each time, and then use the plot function to display a graph of the result in the window Figure 1, with t on the x axis and sin(t) on the y axis: t=0:0.25:7; y = sin(t); plot(t,y) Page 5 of 8

The graph contains approximately one period of a sine wave. The plot command has many features to customize the output, including multiple plots on a single graph, adding a legend, and plotting more than one plot at the same time, and multi-dimensional plots. Type help plot to see a description of how to use these features. For example, to specify the x-axis range (a,b) and y-axis range (c,d), type plot(t,y), axis([a b c d]) Note that the plot command does not have a semicolon after it; otherwise, output is suppressed. Polynomials In MATLAB, a vector is used to represent a polynomial, with each coefficient of the polynomial in descending order. For example, the polynomial expression x 4 3 2 + 3x 15x 2x+ 9 is entered in MATLAB in the following manner: x = [1 3-15 -2 9] x = 1 3-15 -2 9 MATLAB can interpret a vector of length n+1 as an n th order polynomial, but any missing coefficients must be entered as zeros, e.g. y = s 4 + 1 is entered as: y = [1 0 0 0 1] You can find the value of a polynomial using the polyval function at a particular value of the independent variable, e.g. for x = 2, the value of y is evaluated this way: z = polyval([1 0 0 0 1],2) z = 17 Page 6 of 8

You can also extract the roots of a polynomial using the roots command, with the vector as the argument of the function, e.g. roots([1 3-15 -2 9]) ans = -5.5745 2.5836-0.7951 0.7860 The product of two polynomials is found by taking the convolution of their coefficients; and so to multiply two polynomials together, use MATLAB's function conv : x = [1 2]; y = [1 4 8]; z = conv(x,y) z = 1 6 16 16 Dividing two polynomials is just as easy, using the deconv function, which returns the remainder as well as the result. Try dividing z by y to see if we get x: [xx, R] = deconv(z,y) xx = 1 2 R = 0 0 0 0 As you can see, this is just the polynomial (vector) x. If y had not gone into z evenly, the remainder vector would have been something other than zero. You can also find the inverse of a matrix: X = inv(e) X = -2.0000 1.0000 1.5000-0.5000 or its eigenvalues: eig(e) ans = -0.3723 5.3723 There is even a function to find the coefficients of the characteristic polynomial of a matrix. The "poly" function creates a vector that includes the coefficients of the characteristic polynomial. p = poly(e) p = 1.0000-5.0000-2.0000 Data Import and Export Page 7 of 8

Matlab can import external data such as an Excel spreadsheet. For example, xlsread reads the numerical data in the first sheet of a Microsoft Excel spreadsheet file (i.e., with filename extension.xls) and assigns it to a matrix: num = xlsread(filename) The filename argument is a string enclosed in single quotes. A range can be specified in an optional argument. For example, to load data in the range D1:H5 from a file called myexcel.xls, type num = xlsread('myexcel.xls', 'D1:H5') Options allow the import of text data as well. Other types of data can be supported as well, such as JPEG files, etc. Exporting data is done in a similar way. Saving a Session and Loading a Previous Session Use the command save filename to save the session to your current directory with the name filename (or use a path to specify a different location). Use the command load filename to load a previously saved session. Printing To print a plot or a m-file from a computer running MATLAB in Windows, select Print from the File menu, and press the enter key. Exercises 1. Use the magic function to generate a 5x5 magic square. Confirm that the sum of the elements in each column of the magic square is the same number as the sum of each column of the transpose. 2. Plot y = e -3/2x sin(5x+3), for the ranges 0 x 5, -1 y 1. 3. Using only three lines of MATLAB code, plot f = e -t and g = e -2t on the same graph for the set t = 0, 0.01, 0.02,, 5. 4. Find the magnitude of A = (-1 7 3 2). 5. Go through the full MATLAB tutorial on the mathworks website if you have any trouble with this introduction. References: D. McMahon. MATLAB Demystified. McGraw-Hill 2007. http://www.engin.umich.edu/class/ctms/basic/basic.htm Page 8 of 8