Introduction to MatLab. Introduction to MatLab K. Craig 1

Similar documents
Introduction to Engineering gii

Chapter 1 Introduction to MATLAB

2.0 MATLAB Fundamentals

A Guide to Using Some Basic MATLAB Functions

PART 1 PROGRAMMING WITH MATHLAB

Programming in Mathematics. Mili I. Shah

Introduction to MATLAB

Introduction to Matlab. By: Dr. Maher O. EL-Ghossain

Chapter 2. MATLAB Fundamentals

Introduction to Matlab

PowerPoints organized by Dr. Michael R. Gustafson II, Duke University

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

Outline. CSE 1570 Interacting with MATLAB. Starting MATLAB. Outline (Cont d) MATLAB Windows. MATLAB Desktop Window. Instructor: Aijun An

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

Welcome to EGR 106 Foundations of Engineering II

To start using Matlab, you only need be concerned with the command window for now.

Introduction to MATLAB

Introduction to MATLAB

Introduction to MATLAB

MATLAB Fundamentals. Berlin Chen Department of Computer Science & Information Engineering National Taiwan Normal University

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

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

MatLab Just a beginning

MATLAB NOTES. Matlab designed for numerical computing. Strongly oriented towards use of arrays, one and two dimensional.

Some elements for Matlab programming

A very brief Matlab introduction

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

Interactive Computing with Matlab. Gerald W. Recktenwald Department of Mechanical Engineering Portland State University

Lecture 2. Arrays. 1 Introduction

Matlab Programming Introduction 1 2

Introduction to MATLAB for Engineers, Third Edition

MATLAB Basics EE107: COMMUNICATION SYSTEMS HUSSAIN ELKOTBY

One-dimensional Array

A General Introduction to Matlab

Digital Image Analysis and Processing CPE

Introduction to MATLAB 7 for Engineers

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

EGR 111 Introduction to MATLAB

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

AN INTRODUCTION TO MATLAB

Introduction to Octave/Matlab. Deployment of Telecommunication Infrastructures

Introduction to MATLAB. Computational Probability and Statistics CIS 2033 Section 003

1 Introduction to Matlab

ELEN E3084: Signals and Systems Lab Lab II: Introduction to Matlab (Part II) and Elementary Signals

A Quick Tutorial on MATLAB. Zeeshan Ali

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

Chapter 2 (Part 2) MATLAB Basics. dr.dcd.h CS 101 /SJC 5th Edition 1

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

Computer Programming ECIV 2303 Chapter 1 Starting with MATLAB Instructor: Dr. Talal Skaik Islamic University of Gaza Faculty of Engineering

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

Lab 1 - Worksheet Spring 2013

UNIVERSITI TEKNIKAL MALAYSIA MELAKA FAKULTI KEJURUTERAAN ELEKTRONIK DAN KEJURUTERAAN KOMPUTER

Matlab Tutorial 1: Working with variables, arrays, and plotting

Inlichtingenblad, matlab- en simulink handleiding en practicumopgaven IWS

MATLAB Tutorial. 1. The MATLAB Windows. 2. The Command Windows. 3. Simple scalar or number operations

AMATH 352: MATLAB Tutorial written by Peter Blossey Department of Applied Mathematics University of Washington Seattle, WA

MATLAB Tutorial. Mohammad Motamed 1. August 28, generates a 3 3 matrix.

Introduction to MATLAB

Matlab Tutorial: Basics

Introduction to MATLAB

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

Matlab Tutorial, CDS

MAT 275 Laboratory 1 Introduction to MATLAB

MATLAB QUICK START TUTORIAL

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

CITS2401 Computer Analysis & Visualisation

This is a basic tutorial for the MATLAB program which is a high-performance language for technical computing for platforms:

CDA5530: Performance Models of Computers and Networks. Chapter 8: Using Matlab for Performance Analysis and Simulation

CDA6530: Performance Models of Computers and Networks. Chapter 4: Using Matlab for Performance Analysis and Simulation

CDA6530: Performance Models of Computers and Networks. Chapter 4: Using Matlab for Performance Analysis and Simulation

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

Introduction to MATLAB Practical 1

Mathematical Operations with Arrays and Matrices

ENGR 1181 Autumn 2015 Final Exam Study Guide and Practice Problems

Introduction to 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:

Dr Richard Greenaway

MATLAB Project: Getting Started with MATLAB

Learning from Data Introduction to Matlab

Identity Matrix: >> eye(3) ans = Matrix of Ones: >> ones(2,3) ans =

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

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

Laboratory 1 Octave Tutorial

(Creating Arrays & Matrices) Applied Linear Algebra in Geoscience Using MATLAB

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

Introduction to PartSim and 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.

Introductory MATLAB. Appendix A A.1 BACKGROUND A.2 STARTING WITH MATLAB. Core Topics

Introduction to MATLAB. Simon O Keefe Non-Standard Computation Group

MAT 343 Laboratory 1 Matrix and Vector Computations in MATLAB

How to Use MATLAB. What is MATLAB. Getting Started. Online Help. General Purpose Commands

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

Lecture 2: Variables, Vectors and Matrices in MATLAB

1 Overview of the standard Matlab syntax

A Short Introduction to Matlab

Introduction to Matlab

ENGR 1181 MATLAB 02: Array Creation

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

Part #1. A0B17MTB Matlab. Miloslav Čapek Filip Kozák, Viktor Adler, Pavel Valtr

Computational Modelling 102 (Scientific Programming) Tutorials

Transcription:

Introduction to MatLab Introduction to MatLab K. Craig 1

MatLab Introduction MatLab and the MatLab Environment Numerical Calculations Basic Plotting and Graphics Matrix Computations and Solving Equations Introduction to MatLab K. Craig 2

MatLab Environment MatLab Matrix Laboratory MatLab is an interactive system and programming language for general scientific and engineering computation. Its basic element is a matrix (array). It excels at numerical calculations and graphics. MatLab has tools (functions) to solve common problems plus toolboxes (collections of specialized programs) for specific types of problems. No prior experience in computer programming is needed to learn and use MatLab. Introduction to MatLab K. Craig 3

Here we focus on the foundations of MatLab. Once these foundations are well understood, students are able to continue to learn on their own with the many references available. Comment As you become more experienced in your study of engineering, it is most important to understand when to use a computational program, such as MatLab, and when to use a general-purpose, high-level programming language, such as C. In engineering, we write computer programs not only to help solve engineering and scientific problems, but also for real-time applications. Introduction to MatLab K. Craig 4

Real-Time Applications Real-time software differs from conventional software in that its results must not only be numerically and logically correct, they must also be delivered at the correct time. Real-time software must embody the concept of duration, which is not part of conventional software. Real-time software used in most physical system control is also safety-critical. Software malfunction can result in serious injury and/or significant property damage. Asynchronous operations, which while uncommon in conventional software, are the heart and soul of realtime software. Introduction to MatLab K. Craig 5

Current Directory / Workspace Command Window MatLab Desktop Command History Introduction to MatLab K. Craig 6

Command Window Suggestion: Keep this as the only visible window Introduction to MatLab K. Craig 7

MatLab Windows Command Window Like a scratch pad; you can save the values you calculate, but not the commands used to generate those values. M- files (MatLab file that contains programming code) are used to save the command sequence. Several commands can be typed on the same line. Separate commands by a comma. Execution is from L to R. Use up arrow key to move through the list of commands you have executed. Command History Window Records the commands you issued in the command window. You can transfer any command from the command history window to the command window. Introduction to MatLab K. Craig 8

Workspace Window Keeps track of the variables you have defined as you execute commands in the command window. The command whos at the command prompt will show what variables have been defined. Current Directory Window MatLab uses the current directory to either access files or save information onto your computer. Document Window (open when needed) Double clicking on any variable listed in the workspace window automatically launches a document window containing the array editor. Graphics Window (open when needed) Automatically launches when you request a graph. Introduction to MatLab K. Craig 9

Edit Window (open when needed) The editing window is opened by choosing: File New m-file from the menu bar. This allows you to type and save a series of commands without executing them. You can also open the edit window by typing edit at the command prompt. Start Button Located in the lower left-hand corner of the MatLab window. Offers alternative access to MatLab toolboxes, various MatLab windows, help function, demos, and Internet products. Introduction to MatLab K. Craig 10

Two Useful Symbols: Semicolon ; If a semicolon is typed at the end of a command, the output of the command is not displayed. Percent Sign % When the % is typed in the beginning of a line, the line is designated as a comment. Comments are frequently used in programs to add explanations or descriptions. Introduction to MatLab K. Craig 11

Numerical Calculations Variables: we assign names to scalars, vectors, and matrices. Variable names start with a letter and are case sensitive. Scalars and Vectors are special cases of a Matrix. Matrix: set of numbers arranged in a rectangular grid of rows and columns. Comas or blanks separate elements; semicolons separate rows. A = [ 1, 2, 3; 4, 5, 6; 7, 8, 9] 1 2 3 Scalar Operations A= 4 5 6 a + b, a b 7 8 9 a * b, a / b, a \ b (Note: a \ b = b / a) a ^ b x = 8 or x = x + 1. The = is the assignment operator. Introduction to MatLab K. Craig 12

Precedence of Arithmetic Operations Parentheses, innermost first Exponentiation, left to right Multiplication and Division, left to right Addition and Subtraction, left to right Array Operations MatLab s real strength is in matrix manipulations. Element-by-element operations: Addition + Subtraction Multiplication.* Division./ Exponentiation.^ Introduction to MatLab K. Craig 13

Transposition: the transpose operator changes rows to columns and vice versa. The operator is the apostrophe. Number Display Scientific Notation: 6.022e23 Display Format (e.g., long, short, scientific) changing the display format does not change the accuracy of your results. Saving Work.MAT files.dat files M-files: MatLab files that contain programming code. There are two types: scripts and functions. Introduction to MatLab K. Craig 14

Predefined MatLab Functions Arithmetic expressions often require computations other than addition, subtraction, multiplication, division, and exponentiation, e.g., many expressions require the use of logarithms, exponentials, and trigonometric functions. MatLab includes a built-in library of useful functions. For example: b = sqrt(x) a = rem(10,3) f = size(d) g = sqrt(sin(x)) Introduction to MatLab K. Craig 15

MatLab includes extensive help tools, which are especially useful for interpreting function syntax. There are 3 ways to get help from within MatLab: Command-line help function help Windowed help screen Help MatLab Help MatLab s Internet help Elementary Math Functions - Examples abs(x) sqrt(x) round(x) sign(x) exp(x) log(x) and log10(x) Important!!! Introduction to MatLab K. Craig 16

Trigonometric Functions Trigonometric functions assume that the angles are represented in radians. Examples: sin(x) cos(x) asin(x) Data Analysis Functions MatLab contains a number of functions that make it easy to evaluate and analyze data. For Example: Maximum and Minimum, Mean and Median Sum and Products, Sorting Values Matrix Size, Variance and Standard Deviation Introduction to MatLab K. Craig 17

Script Files or M-Files Rather than entering commands in the non-interactive command window, where the commands cannot be saved and executed again, it is better to first create a file with a list of commands (a program), save it, and then run (execute) the file. The commands in the file are executed in the order listed. Commands in the file can be corrected or changed and the file can be saved and run again. Files used for this purpose are called script files or m-files (extension.m is used when the file is saved). To create a M-File: File New M-File The file must be saved before it can be executed. To execute it, chose the Run icon, or type the file name in the Command Window and press Enter. Introduction to MatLab K. Craig 18

Useful Commands: To create a vector x with first term m, constant spacing q, and last term n, type x = [m:q:n]. If q is omitted, it is assumed to be 1. For example: x = [1:2:13] results in the vector x = [1 3 5 7 9 11 13] x = [-3:2] results in the vector x = [-3-2 -1 0 1 2] To create a vector x with constant spacing by specifying the first term x i and last term x f, and the number of terms n, type x = linspace (x i, x f, n). For example: x = linspace (0, 8, 6) results in the vector x = [0 1.6 3.2 4.8 6.4 8.0] Introduction to MatLab K. Craig 19

1 3 5 7 To generate the matrix A= 3 7 2 0 5 2 7 6 Type A = [1 3 5 7; 3 7-2 0; 5 2-7 6] Note the following three commands: zeros (m, n) zeros (3, 4) ones (m, n) ones (3, 3) eye (n) eye (3) 1 0 0 A= 0 1 0 0 0 1 0 0 0 0 A= 0 0 0 0 0 0 0 0 1 1 1 A= 1 1 1 1 1 1 Introduction to MatLab K. Craig 20

Matrix A is given by: 1 3 5 7 A= 3 7 2 0 5 2 7 6 Its transpose (switches the rows to columns) is given by: 1 3 5 3 7 2 A' = 5 2 7 7 0 6 Consider the vector x = [1 3 5 7 9 11 13] Typing x (4) displays the 4 th element 7 Typing x (4) = 12 redefines the 4 th element in the vector, i.e., x = [1 3 5 12 9 11 13] Introduction to MatLab K. Craig 21

The address of an element in a matrix is its position (row number and column number). 1 3 5 7 A= 3 7 2 0 5 2 7 6 Typing A (2, 3) displays the matrix element -2 Typing A (2, 3) = 12 changes the matrix element at location (2, 3) from -2 to 12. 1 3 5 7 A= 3 7 12 0 5 2 7 6 Introduction to MatLab K. Craig 22

Use of the colon : x (:) refers to all elements of the vector x x (m:n) refers to elements m through n of vector x A (:, n) refers to all the elements in all the rows of column n of matrix A A (n, :) refers to the elements in all the columns of row n of matrix A A (:, m:n) refers to the elements in all the rows between columns m and n of the matrix A. A (m:n, :) refers to the elements in all the columns between rows m and n of the matrix A. The dimension of a vector or matrix can be changed by simply assigning values to the new elements. MatLab will assign zeros to fill out the unspecified new vector or matrix elements. Introduction to MatLab K. Craig 23

An element, or range of elements, in a vector or matrix can be deleted by reassigning nothing to these elements. For the vector x = [1 3 5 7 9 11], the command x(3) = [] results in the vector x = [1 3 7 9 11] For the A matrix shown on the left, the command A (:, 2:3) = [] results in the A matrix on the right. 1 3 5 7 A= 3 7 2 0 5 2 7 6 1 7 A= 3 0 5 6 Introduction to MatLab K. Craig 24

Basic Plotting and Graphics Two-Dimensional Plots Basic Plotting Types of Two-Dimensional Plots Subplots Introduction to MatLab K. Craig 25

Two-Dimensional Plots The most common plot use by engineers is the x-y plot. Generally, the x values represent the independent variable and the y values represent the dependent variable. Both vectors must have the same number of elements. Basic Plotting Create x, y vectors; either y = f(x) or x, y experimental data. Plot (x, y) title ( Sample Plot ) xlabel ( x values ) ylabel ( y values ) grid on Introduction to MatLab K. Craig 26

The figure command opens a new figure window. Creating Multiple Plots Plot (x, y1), hold on, plot (x, y2) Plot (x, y1, x, y2) Y = [y1 y2], plot (x, Y) Line, Color, and Mark Style Options (type help plot) Axes Scaling and Annotating Plots are options The fplot command plots a function of the form f = f(x) between specified limits, e.g., fplot ( x^2 + 4*sin(2*x) 1, [-3 3]) will plot the function between the limits -3 and +3. Introduction to MatLab K. Craig 27

Other Types of Two-Dimensional Plots Polar Plots: polar (x, y) Logarithmic Plots: semilogx (x, y), semilogy (x, y), loglog (x, y) Bar Graphs and Pie Charts Histograms Subplots The subplot command allows you to split the graphing window into subwindows. subplot (m, n, p) window is split into a m-by-n grid of smaller windows, and the digit p specifies the p th window for the current plot. Windows are numbered from left to right, top to bottom. Introduction to MatLab K. Craig 28

Matrix Computations & Solving Equations Many engineering computations use a matrix, set of numbers arranged in a rectangular grid of rows and columns, as a convenient way to represent a set of data. Here we are concerned with matrices that have more than one row and more than one column. Scalar multiplication and matrix addition and subtraction are preformed element by element. Here we will learn about matrix multiplication, as well as other operations and functions. Introduction to MatLab K. Craig 29

Transpose The transpose of a matrix A, designated A T, is a new matrix in which the rows of the original matrix are the columns of the new matrix. Dot Product The dot product is a scalar computed from two vectors of the same size. The scalar is the sum of the products of the values in corresponding positions in the vectors. AB i = (Ai ˆ+ Aˆj + Ak)(Bi ˆ i ˆ+ Bj ˆ+ Bk) ˆ 3 = AB i i= 1 x y z x y z i In MatLab, dot_product = sum(a.*b); or dot(a,b); Introduction to MatLab K. Craig 30

Matrix Multiplication Matrix multiplication is not accomplished by multiplying corresponding elements of the matrices. In matrix multiplication, the value in position c (i, j) of the product C of two matrices A and B is the dot product of the row i of the first matrix and column j of the second matrix. c N = a b ij ik kj k= 1 The first matrix A must have the same number of elements N in each row as there are in each column of the second matrix B. Also, in general, AB BA. In MatLab, the matrix multiplication of A and B is A*B; Introduction to MatLab K. Craig 31

Matrix Powers If A is a matrix, the operation A.^2 squares each element in A. To square the matrix, i.e., compute A*A, A must be a square matrix and we use the operation A^2. Matrix Inverse By definition, the inverse of a square matrix A is the matrix A -1 such that the matrix products AA -1 and A -1 A are both equal to the identity matrix I. In MatLab, we execute inv(a) to find the inverse of A. Determinant A determinant is a scalar computed from the entries in a square matrix. Determinants have various applications in engineering, including solving systems of simultaneous equations. In MatLab, execute det(a) to find the determinant of A. Introduction to MatLab K. Craig 32

Solutions to Systems of Linear Equations Consider the following system of three equations with three unknowns: 3x + 2y 1z = 10 1x + 3y + 2z = 5 1x 1y 1z = 1 We can rewrite the system of equations using the following matrices: 3 2 1 x 10 A= 1 3 2 X= y B= 5 AX= B 1 1 1 z 1 Introduction to MatLab K. Craig 33

To solve this system of equations, we write: AX = B A AX = A B 1 1 1 1 IX A B since A A I = = 1 X A B since IX X = = In MatLab, we write: X = inv(a)*b; A better way to solve a system of linear equations is to use the matrix division operator: X = A\B; this method is more efficient than using the matrix inverse and produces a greater numerical accuracy. Introduction to MatLab K. Craig 34

Special Matrices Matrix of Zeros, e.g., A = zeros (3) Matrix of Ones, e.g., A = ones (3) Identity Matrix, e.g., A = eye (3) Diagonal Matrices, e.g., A = [1 2 3; 4 5 6; 7 8 9]; B = diag (A); Introduction to MatLab K. Craig 35