Introduction to MATLAB

Similar documents
MATLAB Tutorial. Digital Signal Processing. Course Details. Topics. MATLAB Environment. Introduction. Digital Signal Processing (DSP)

Lecturer: Keyvan Dehmamy

Introduction to Matlab

Prof. Manoochehr Shirzaei. RaTlab.asu.edu

Chapter 2. MATLAB Fundamentals

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

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

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

Chapter 1 Introduction to MATLAB

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

Introduction to MATLAB LAB 1

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

Introduction to MATLAB for Engineers, Third Edition

Finding, Starting and Using Matlab

QUICK INTRODUCTION TO MATLAB PART I

Laboratory 1 Octave Tutorial

Introduction to MATLAB

What is Matlab? A software environment for interactive numerical computations

EE 301 Signals & Systems I MATLAB Tutorial with Questions

Introduction to MATLAB 7 for Engineers

Inlichtingenblad, matlab- en simulink handleiding en practicumopgaven IWS

Digital Image Analysis and Processing CPE

Programming in Mathematics. Mili I. Shah

PART 1 PROGRAMMING WITH MATHLAB

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

Introduction to MatLab. Introduction to MatLab K. Craig 1

DSP Laboratory (EELE 4110) Lab#1 Introduction to Matlab

LabVIEW MathScript Quick Reference

MATLAB Basics. Mohamed Taha. Communication Engineering Department Princess Sumaya University Page 1 of 32. Full Screen.

Introduction to Engineering gii

Classes 7-8 (4 hours). Graphics in Matlab.

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

12 whereas if I terminate the expression with a semicolon, the printed output is suppressed.

2.0 MATLAB Fundamentals

Basic Graphs. Dmitry Adamskiy 16 November 2011

Introduction To MATLAB Introduction to Programming GENG 200

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:

AN INTRODUCTION TO MATLAB

AMS 27L LAB #2 Winter 2009

MATLAB Vocabulary. Gerald Recktenwald. Version 0.965, 25 February 2017

Getting started with MATLAB

Some elements for Matlab programming

Getting Started with MATLAB

Introduction to. The Help System. Variable and Memory Management. Matrices Generation. Interactive Calculations. Vectors and Matrices

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

Desktop Command window

Additional Plot Types and Plot Formatting

A General Introduction to Matlab

NatSciLab - Numerical Software Introduction to MATLAB

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

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

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

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

Fall 2014 MAT 375 Numerical Methods. Introduction to Programming using MATLAB

What is MATLAB? It is a high-level programming language. for numerical computations for symbolic computations for scientific visualizations

EGR 111 Introduction to MATLAB

Introduction to MATLAB

A Guide to Using Some Basic MATLAB Functions

Introduction to MATLAB for Numerical Analysis and Mathematical Modeling. Selis Önel, PhD

PC-MATLAB PRIMER. This is intended as a guided tour through PCMATLAB. Type as you go and watch what happens.

Table of Contents. Basis CEMTool 7 Tutorial

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

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

A very brief Matlab introduction

Matlab is a tool to make our life easier. Keep that in mind. The best way to learn Matlab is through examples, at the computer.

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

Introduction to MATLAB

Introduction to MATLAB

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

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

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

Grace days can not be used for this assignment

MATLAB Guide to Fibonacci Numbers

MATLAB SUMMARY FOR MATH2070/2970

Logical Subscripting: This kind of subscripting can be done in one step by specifying the logical operation as the subscripting expression.

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

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

Introduction to Matlab. By: Hossein Hamooni Fall 2014

UNIVERSITI TEKNIKAL MALAYSIA MELAKA FAKULTI KEJURUTERAAN ELEKTRONIK DAN KEJURUTERAAN KOMPUTER

Introduction to MATLAB

Introduzione a MatLab. Prof. Sebastiano Battiato

MATLAB QUICK START TUTORIAL

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

Constraint-based Metabolic Reconstructions & Analysis H. Scott Hinton. Matlab Tutorial. Lesson: Matlab Tutorial

Learning from Data Introduction to Matlab

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

MAT 275 Laboratory 2 Matrix Computations and Programming in MATLAB

Computer Programming in MATLAB

Department of Chemical Engineering ChE-101: Approaches to Chemical Engineering Problem Solving MATLAB Tutorial Vb

ECE Lesson Plan - Class 1 Fall, 2001

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

A Quick Tutorial on MATLAB. Zeeshan Ali

MATLAB Introduction to MATLAB Programming

Getting Started with Matlab

INTRODUCTION TO MATLAB PLOTTING WITH MATLAB

Quick MATLAB Syntax Guide

INTRODUCTION TO MATLAB

1 Overview of the standard Matlab syntax

Using the fprintf command to save output to a file.

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

Transcription:

58:110 Computer-Aided Engineering Spring 2005 Introduction to MATLAB Department of Mechanical and industrial engineering January 2005

Topics Introduction Running MATLAB and MATLAB Environment Getting help Variables Vectors, Matrices, and linear Algebra Mathematical Functions and Applications Plotting Programming M-files User Defined Functions

Introduction What is MATLAB MATLAB, which stands for MATrix LABoratory, is a powerful program that combines computation and visualization capability for science and engineering simulations. MATLAB provides the user: Manage variables Import and export data Perform calculations Generate Plots..

Running MATLAB To run MATLAB: Login any ICAEN PC with WIN XP Start -> All Programs -> Engineering Software -> MATLAB 7.0

Main Working Windows After the >> symbol, you can type the commands

Display Windows Graphic (Figure) Window Displays plots and graphs Created response to graphics commands M-file editor/debugger window Create and edits scripts of commands called M-files

Getting Help To get help: MATLAB main menu -> Help -> MATLAB Help

Getting Help Type one of the following commands in the command window: help lists all the help topic help topic provides help for the specified topic help command provides help for the specified command helpwin opens a separate help window for navigation Lookfor keyword search all M-files for keyword Online resource

Variables Variable names: Must start with a letter. May contain only letters, digits, and the underscore _. MATLAB is case sensitive, for example one & ONE are different variables. MATLAB only recognizes the first 31 characters in a variable name. Assignment statement: Variable = number; Variable = expression; Example: >> t = 1234; >> t = 1234 t = 1234

Variables Special variables: ans: default variable name for the result. pi: π = 3.1415926 eps: ε= 2.2204e-016, smallest value by which two numbers can differ inf:, infinity NAN or nan: not-a-number Commands involving variables: who: lists the names of the defined variables whos: lists the names and sizes of defined variables clear: clears all variables clear name: clears the variable name clc: clears the command window clf: clears the current figure and the graph window

Vectors A row vector in MATLAB can be created by an explicit list, starting with a left bracket, entering the values separated by spaces (or commas) and closing the vector with a right bracket. A column vector can be created the same way, and the rows are separated by semicolons. Example: >> x = [ 0 0.25*pi 0.5*pi 0.75*pi pi] x = x is a row vector. 0 0.7854 1.5708 2.3562 3.1416 y=[0; 0.25*pi; 0.5*pi; 0.75*pi; pi] y = y is a column vector. 0 0.7854 1.5708 2.3562 3.1416

Vectors Vector Addressing- A vector element is addressed in MATLAB with an integer index enclosed in parentheses. Example: >> x(3) ans = 1.5708 <- 3 rd element of vector X The colon notation may be used to address a block of elements (start:increment:end) Example: >> x(1:2:5) ans = 0 1.5708 3.1416

Vectors Some useful commands: x = start:end x = start:increment:end x = linspace(start,end,number) x = logspace(start,end,number) length(x) y = x dot(x,y),cross(x,y) Create row vector x starting with start, counting by 1, ending at end Create row vector x starting with start, counting by increment, ending at or before end Create linearly spaced row vector x starting with start, ending at end, having number elements Create logarithmically spaced row vector x starting with start, ending with end, having number elements Returns the length of vector x Transpose of vector x Returns the scalar dot and vector cross product of the vector x and y

Array Operations Scalar-Array Mathematics For addition, subtraction, multiplication, and division of an array by a scalar, simply apply the operation to all elements of the array Example: >> f = [1 2; 3 4] f = 1 2 3 4 >> g = pi * f / 3 + 0.8 g = 1.8472 2.8944 3.9416 4.9888

Array Operations Element-by-Element Array-Array Mathematics operation Algebraic Form MATLAB Example: Addition a + b a + b Subtraction a b a b Multiplication a ä b a.*b Division a π b a./ b Exponentiation a b a.^ b >> x = [1 2 3]; >> y = [4 5 6]; >> z = x.* y z = 4 10 18

Matrices A matrix array is two-dimensional, having both mulitple rows and multiple columns. It begins with [, and end with ] Spaces or commas are used to separate elements in a row Semicolon or enter is used to separate rows Example: >> f = [1 2 3; 4 5 6] f = 1 2 3 4 5 6 >> h = [2 4 6 1 3 5] h = 2 4 6 1 3 5

Matrices Matrix Addressing: Matrix name(row,column) Colon maybe used in place of a row or column reference to select the entire row or column. Example: >> f(2,3) ans = 6 >> h(:,1) ans = 2 1

Matrices Some useful commands: zeros(n) zeros(m,n) ones(n) ones(m,n) size(a) length(a) Returns a n X n matrix of zeros Returns a m X n matrix of zeros Returns a n X n matrix of ones Returns a m X n matrix of ones For a m X n matrix A, returns the row vector [m,n] containing the number of rows and columns in matrix Returns the larger of the number of rows or columns in A

Matrices More commands: Transpose Identity Matrix Addition and Subtraction Scalar Multiplication Matrix Multiplication Matrix Inverse Matrix powers Determinant B=A eye(n) -> returns an n X n identity matrix eye(m,n) -> returns an m X n matrix with ones on the main diagonal and zeros elsewhere C =A +B C =A - B B = α A, where α is a scalar C = A * B B = inv(a), A must be a square matrix in this case B = A * A, A must be a square matrix det(a), A must be a square matrix

Linear Equations Example: a system of 3 linear equations with 3 unknowns (x 1, x 2, x 3 ) Let: 3 x 1 + 2x 2 -x 3 = 10 -x 1 + 3x 2 + 2x 3 = 5 x 1-2x 2 -x 3 = -1 3 2 1 x1 10 A= 1 3 2 x= x b= 5 2 1 1 1 x 3 1 Then, the system can be described as: Ax = b

Linear Equations Solution by Matrix Inverse: Ax = b A -1 Ax = A -1 b Ax = b MATLAB: >> A = [3 2-1; -1 3 2; 1-1 -1]; >> b = [10;5;-1]; >> x = inv(a)*b x = -2.0000 5.0000-6.0000 Solution by Matrix Division: Ax = b Can be solved by left division bπa MATLAB: >> A = [3 2-1; -1 3 2; 1-1 -1]; >> b = [10;5;-1]; >> x =A \ b x = -2.0000 5.0000-6.0000

Polynomials The polynomials are represented by their coefficients in MATLAB Consider the following polynomial: 3 2 A() s = s + 3s + 3s+ 1 For s is scalar: use scalar operations A = s ^ 3 + 3 * s ^ 2 + 3 * s + 1; For s is a vector or a matrix: use array or element by element operation A = s.^ 3 + 3 * s.^ 2 + 3.* s + 1; Function polyval(a,s): evaluate a polynomial with coefficients in vector a for the values in s

Polynomials MATLAB: A s s s s 3 2 () = + 3 + 3+ 1 >> s = linspace(-5,5,100); >> coeff = [1 3 3 1]; >> A = polyval(coeff,s); >> plot(s,a) >> xlabel('s') >> ylabel('a(s)')

Polynomials Operation MATLAB Command Description Addition c = a + b Sum of polynomial A and B, the coefficient vectors must have the same length. Scalar Multiple b = 3 * a Multiply the polynomial A by 3. Polynomial Multiplication Polynomial Division Derivatives c = conv(a, b) [q,r] = deconv(a,b) polyder(a) polyder(a,b) [n,d] = polyder(b,a) Returns the coefficient vector for the resulting from the product of polynomial A and B. Returns the long division of A and B. q is the quotient polynomial coefficient, and r is the remainder polynomial coefficient. Returns the coefficients of the derivative of the polynomial A. Returns the coefficients of the derivative of the product of A and B. Returns the derivative of ratio B/A, represented as N/D. Find Roots roots(a) Returns the roots of the polynomial A in column vector form. Find Polynomials Poly(r) Returns the coefficient vector of the polynomial having roots r

Plotting 1.5 For more information on 2-D plotting, type help graph2d Plotting a point: >>plot (variablename, symbol ) Example: Complex variable >>z = 1 + 0.5j; >>plot(z, *') Commands for axes: 1 0.5 0-0.5 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 Command axis([xmin xmax ymin ymax]) axis square axis equal axis normal axis (auto) Description Define minimum and maximum values of the axes Produce a square plot Equal scaling factors for both axes Turn off axis square, equal Return the axis to defaults

Plotting Plotting curves: plot(x,y) generate a linear plot of the values of x (horizontal axis) and y (vertical axis) semilogx(x,y) - generate a plot of the values of x (logarithmic scale) and y (linear scale) semilogy(x,y) - loglog(x,y) - generate a plot of the values of x and y (both logarithmic scale) Multiple curves plot(x,y,w,z) multiple curves can be plotted on the same graph: y vs. x and z vs. w legend( string1, string2, ) used to distinguish between plots on the same graph Multiple figures figure(n) use in creation of multiple plot windows before the command plot() close closes the figure n window close all closes all the plot windows Subplots: subplot(m,n,p) m by n grid of windows, with p specifying the current plot as the pth window

Plotting Example: (polynomial function) Plot the polynomial using linear/linear, log/linear, linear/log, log/log scale y = 2x 2 + 7x + 9 >>% generate te polynomial: >>x=linspace(0,10,100); >>y=2*x.^2+7*x+9; >>% plotting the polynomial: >>figure(1); >>subplot(2,2,1),plot(x,y); >>title('polynomial, linear/linear scale'); >>ylabel('y'),grid; >>subplot(2,2,2),semilogx(x,y); >>title('polynomial, log/linear scale'); >>ylabel('y'),grid; >>subplot(2,2,3),semilogy(x,y); >>title('polynomial, linear/log scale'); >>ylabel('y'),grid; >>subplot(2,2,4),loglog(x,y); >>title('polynomial, log/log scale'); >>ylabel('y'),grid;

Plotting 300 polynomial, linear/linear scale 300 polynomial, log/linear scale 200 200 y y 100 100 0 0 5 10 0 10-1 10 0 10 1 10 3 polynomial, linear/log scale 10 3 polynomial, log/log scale 10 2 10 2 y 10 1 y 10 1 10 0 0 5 10 10 0 10-1 10 0 10 1

Plotting Adding new curves to the exsiting graph Use the hold command to add lines/points to an existing plot hold on retain existing axes, add new curves to current axes. hold off release the current figure windows for new plots Grids and labels: Command grid on grid off Grid title( text ) xlabel( text ) ylabel( text ) text(x,y, text ) Description Add dashed grids lines at the tick marks Removes grid lines (default) Toggles grid status (off to on or on to off) Labels top of plot with text Labels horizontal (x) axis with text Labels vertical (y) axis with text Adds text to location (x,y) on the current axes, where (x,y) is in units from the current plot

Programming Flow control and loops Simple if statement: if logical expression commands end Example: (Nested) if d < 50 count=count +1; disp(d); if b>d b=0; end end Example: (else and elseif clauses) if temperature >100 disp( Too hot equipment malfunctioning. ); elseif temperature >90 disp( Normal operating range. ); elseif temperature > 75 disp( Below desired operating range. ); else disp( Too cold Turn off equipment. ); end

Programming The switch statement: switch expression case test expression 1 commands case test expression 2 commands otherwise commands end Example: switch interval case 1 xinc = interval/10; case 0 xinc = 0.1; otherwise disp( wrong value ); end

Programming Loops for loop for variable = expression commands end while loop while expression commands end Example (for loop): for t = 1: 5000 y(t) = sin (2*pi*t/10); End Example (while loop): while EPS>1 EPS=EPS/2; end The break statement break is used to terminate the execution of the loop.

M-Files Before, we have executed the commands in the command window. The more general way is to create a M-file. The M-file is a text file that consists a group of MATLAB commands. MATLAB can open and execute the commands exactly as if they were entered at the MATLAB command window. To run the M-files, just type the file name in the command window. (make sure the current working directory is set correctly)

User-Defined Function Add the following command in the beginning of your m-file: function [output variables] = function_name (input variables); Note: the function_name should be the same as your file name to avoid confusion. Calling your function: A user-defined function is called by the name of the m-file, not the name given in the function definition. Type in the m-file name like other pre-defined commands. Comments: The first few lines should be comments, as they will be displayed if help is requested for the function name. the first comment line is reference by the lookfor command.

User-Defined Function Example ( circle1.m) function y = circle1(center,radius,nop,style) % circle1 draws a circle with center defined as a vector 'center' % radius as a scalar 'radius'. 'nop' is the number of points on the circle % 'style' is the style of the point. % Example to use: circle1([1 3],4,500, ':'); [m,n] = size(center); if (~((m == 1) (n == 1)) (m == 1 & n == 1)) error('input must be a vector') end close all x0=center(1); y0=center(2); t0=2*pi/nop; axis equal axis([x0-radius-1 x0+radius+1 y0-radius-1 y0+radius+1]) hold on for i=1:nop+1 pos1=radius*cos(t0*(i-1))+x0; pos2=radius*sin(t0*(i-1))+y0; plot(pos1,pos2,style); end

User-Defined Function In command window: >> help circle1 circle1 draws a circle with center defined as a vector 'center' radius as a scalar 'radius'. 'nop' is the number of points on the circle 'style' is the style of the point Example to use: circle1([1 3],4,500,':'); Example: plot a circle with center (3,1), radius 5 using 500 points and style '--': >> circle1([3 1],5,500,'--'); Result in the Figure window