Introduction to MATLAB Zongqiang Liao Research Computing Group UNC-Chapel Hill.

Slides:



Advertisements
Similar presentations
MATLAB – A Computational Methods By Rohit Khokher Department of Computer Science, Sharda University, Greater Noida, India MATLAB – A Computational Methods.
Advertisements

Introduction to M ATLAB Programming Ian Brooks Institute for Climate & Atmospheric Science School of Earth & Environment
Introduction to Matlab
Introduction to MATLAB
Introduction to Matlab Workshop Matthew Johnson, Economics October 17, /13/20151.
MATLAB ME1107 Y Yan Reference: MATLAB for Engineers by Holly Moore (Pearson Prentice Hall)
Introduction to Matlab By: Dr. Maher O. EL-Ghossain.
EGR 106 – Week 2 – Arrays & Scripts Brief review of last week Arrays: – Concept – Construction – Addressing Scripts and the editor Audio arrays Textbook.
Introduction to MATLAB
Introduction to Array The fundamental unit of data in any MATLAB program is the array. 1. An array is a collection of data values organized into rows and.
Introduction to Matlab Jianguo Wang CSSCR September 2009.
Matlab intro The Environment
Introduction to MATLAB ENGR 1187 MATLAB 1. Programming In The Real World Programming is a powerful tool for solving problems in every day industry settings.
What is MATLAB ? MATrix LABratory –Originally, it was a front-end to FORTRAN matrix routines developed in the U. of New Mexico and Stanford –Today.
1 MATLAB 基礎. 2 MATLAB  Workspace: environment (address space) where all variables reside  After carrying out a calculation, MATLAB assigns the result.
259 Lecture 15 Introduction to MATLAB. 2 What is MATLAB?  MATLAB, which stands for “MATrix LABoratory” is a high- performance language for technical.
MATLAB Basics With a brief review of linear algebra by Lanyi Xu modified by D.G.E. Robertson.
MATLAB INTRO CONTROL LAB1  The Environment  The command prompt Getting Help : e.g help sin, lookfor cos Variables Vectors, Matrices, and Linear Algebra.
1 Statistical Computing in MATLAB AMS 597 Ling Leng.
Martin Ellison University of Warwick and CEPR Bank of England, December 2005 Introduction to MATLAB.
Engineering Analysis ENG 3420 Fall 2009 Dan C. Marinescu Office: HEC 439 B Office hours: Tu-Th 11:00-12:00.
Nonparametric Econometrics1 Intro to Matlab for Data Analysis and Statistical Modeling.
Introduction to MATLAB Session 1 Prepared By: Dina El Kholy Ahmed Dalal Statistics Course – Biomedical Department -year 3.
Introduction to MATLAB January 18, 2008 Steve Gu Reference: Eta Kappa Nu, UCLA Iota Gamma Chapter, Introduction to MATLAB,
Introduction to Matlab 1. Outline: What is Matlab? Matlab Screen Variables, array, matrix, indexing Operators Plotting Flow Control Using of M-File Writing.
Objectives Understand what MATLAB is and why it is widely used in engineering and science Start the MATLAB program and solve simple problems in the command.
ELG 3120 Signal and System Analysis 1 Introduction to MATLAB TAs Wei Zhang Ozgur Ekici (Section A)(Section B) ELG 3120 Lab Tutorial 1.
CSE123 Lecture 5 Arrays and Array Operations. Definitions Scalars: Variables that represent single numbers. Note that complex numbers are also scalars,
1 Lab of COMP 406 Teaching Assistant: Pei-Yuan Zhou Contact: Lab 1: 12 Sep., 2014 Introduction of Matlab (I)
MEGN 536 – Computational Biomechanics MATLAB: Getting Started Prof. Anthony J. Petrella Computational Biomechanics Group.
ECE 1304 Introduction to Electrical and Computer Engineering Section 1.1 Introduction to MATLAB.
A Brief Introduction to Matlab Laila Guessous Dept. of Mechanical Engineering Oakland University.
INTRODUCTION TO MATLAB LAB# 01
Matlab Basics Tutorial. Vectors Let's start off by creating something simple, like a vector. Enter each element of the vector (separated by a space) between.
Matlab Programming for Engineers Dr. Bashir NOURI Introduction to Matlab Matlab Basics Branching Statements Loops User Defined Functions Additional Data.
Introduction to Engineering MATLAB – 2 Introduction to MATLAB - 2 Agenda Defining Variables MATLAB Windows.
10/24/20151 Chapter 2 Review: MATLAB Environment Introduction to MATLAB 7 Engineering 161.
Basics of MATLAB By DR. Wafaa Shabana
Matlab 14.html Cost: $100 Available in labs on Windows and Unix machines.
Introduction to MATLAB ENGR 1181 MATLAB 1. Opening MATLAB  Students, please open MATLAB now.  CLICK on the shortcut icon → Alternatively, select… start/All.
Chapter 1 – Matlab Overview EGR1302. Desktop Command window Current Directory window Command History window Tabs to toggle between Current Directory &
INTRODUCTION TO MATLAB MATLAB is a software package for computation in engineering, science, and applied mathemat-ics. It offers a powerful programming.
Matlab Screen  Command Window  type commands  Current Directory  View folders and m-files  Workspace  View program variables  Double click on a.
Lecture 20: Choosing the Right Tool for the Job. What is MATLAB? MATLAB is one of a number of commercially available, sophisticated mathematical computation.
Introduction to Matlab  Matlab is a software package for technical computation.  Matlab allows you to solve many numerical problems including - arrays.
Introduction to Matlab
Introduction to MATLAB Zongqiang Liao Research Computing Group UNC-Chapel Hill.
Introduction to Matlab Electromagnetic Theory LAB by Engr. Mian Shahzad Iqbal.
INTRODUCTION TO MATLAB DAVID COOPER SUMMER Course Layout SundayMondayTuesdayWednesdayThursdayFridaySaturday 67 Intro 89 Scripts 1011 Work
INTRODUCTION TO MATLAB Dr. Hugh Blanton ENTC 4347.
Introduction to MATLAB 1.Basic functions 2.Vectors, matrices, and arithmetic 3.Flow Constructs (Loops, If, etc) 4.Create M-files 5.Plotting.
Math 252: Math Modeling Eli Goldwyn Introduction to MATLAB.
Introduction to Matlab Engr. Mian Shahzad Iqbal LAB NO.2
CS100A, Fall 1998, Lecture 201 CS100A, Fall 1998 Lecture 20, Tuesday Nov 10 More Matlab Concepts: plotting (cont.) 2-D arrays Control structures: while,
An Introduction to Programming in Matlab Emily Blumenthal
MATLAB (Matrix Algebra laboratory), distributed by The MathWorks, is a technical computing environment for high performance numeric computation and.
Introduction to MATLAB Mark Reed Zongqiang Liao Research Computing Group UNC-Chapel Hill.
Tutorial on Matlab Basics
ECE 1304 Introduction to Electrical and Computer Engineering
Introduction to MATLAB
INTRODUCTION TO BASIC MATLAB
MATLAB DENC 2533 ECADD LAB 9.
Introduction to Matlab
Matlab Workshop 9/22/2018.
StatLab Matlab Workshop
MATH 493 Introduction to MATLAB
StatLab Workshop: Intro to Matlab for Data Analysis and Statistical Modeling 11/29/2018.
Communication and Coding Theory Lab(CS491)
INTRODUCTION TO MATLAB
Announcements P3 due today
Presentation transcript:

Introduction to MATLAB Zongqiang Liao Research Computing Group UNC-Chapel Hill

its.unc.edu 2 Course outline  Introduction  Getting started  Mathematical functions  Matrix generation  Matrix and array operations  Reading and writing data files  Basic plotting  Basic programming

its.unc.edu Introduction

its.unc.edu 4 Introduction  The name MATLAB stands for MATrix LABoratory  It is good at dealing with matrices  Vendor’s website: http//:  Advantages of MATLAB  Easiness of use  Powerful build-in routines and toolboxes  Good visualization of results  Disadvantage of MATLAB  Can be slow

its.unc.edu Getting started

its.unc.edu 6 Getting started  MATLAB desktop  The Command Window  The Command History  The Workspace  The Current Directory  The Help Browser  The Start Button

its.unc.edu 7 Getting started  Keeping track of your work session  diary command >> diary or >> diary FileName  Stop the recording >> diary off  Start the recording again >>diary on

its.unc.edu 8 Getting started  Using MATLAB as a calculator >> 1+2*3 ans = 7  You may assign the value to a output variable >> x=1+2*3 x= 7  x can be used in the some calculation later >> 4*x ans = 28

its.unc.edu 9 Getting started  Suppressing output  You can suppress the numerical output by putting a semicolon (;) at the end of the line >> t=-13;  We can place several statements on one line, separated by commas (,) or semicolons(;) >> t=-13; u=5*t, v=t^2+u u= -65 v= 104

its.unc.edu 10 Getting started  Managing the workspace  The results of one problem may have an effect on the next one  Issue a clear command at the start of each new independent calculation >> clear or >> clear all

its.unc.edu 11 Getting started  Miscellaneous commands  To clear the Command Window >> clc  To abort a MATLAB computation ctrl-C  To continue a line …

its.unc.edu 12 Getting started  Getting help  Use help to request info on a specific function >> help sqrt  Use doc function to open the on-line version of the help menu >> doc plot  Use lookfor to find function by keywords >> lookfor functionkeyword

its.unc.edu Mathematical functions

its.unc.edu 14 Mathematical functions  Lists of build-in mathematical functions  Elementary functions >> help elfun  Special functions >> help specfun  Such as sin(x), cos(x), tan(x), e x, ln(x)

its.unc.edu 15 Mathematical functions  Example 1 Calculate z=e -a sin(x)+10 for a=5, x=2, y=8 >> a=5; x=2; y=8; >> z=exp(-a)*sin(x)+10*sqrt(y) z=

its.unc.edu 16 Mathematical functions  Example 2 Calculate the roots of a equation ax 2 +bx+c=0, for a=2, b=1, and c=-4 >> a=2; b=1; c=-4; >> x1=(-b+sqrt(b^2-4*a*c))/(2*a) x1= >> x2=(-b-sqrt(b^2-4*a*c))/(2*a) x2=

its.unc.edu 17 Mathematical functions  Example 3 >> log(142) ans= >> log10(142) ans=

its.unc.edu 18 Mathematical functions  Example 4 Calculate sin( /4) >> sin(pi/4) ans = Calculate e 10 >> exp(10) ans = e+004

its.unc.edu Matrix generation

its.unc.edu 20 Matrix generation  The name MATLAB is taken from ”MATrix LABoratory.” It is good at dealing with matrices.  Actually all variables in MATLAB are matrices.  Scalars are 1-by-1 matrices  vectors are N-by-1 (or 1-by-N) matrices.  You can see this by executing >> size(x)

its.unc.edu 21 Matrix generation  Entering a matrix  Begin with a square bracket, [  Separate elements in a row with spaces or commas (,)  Use a semicolon (;) to separate rows  End the matrix with another square bracket, ]

its.unc.edu 22 Matrix generation Entering a matrix: A typical example >> A=[1 2 3; 4 5 6; 7 8 9] >> A=

its.unc.edu 23 Matrix generation  Matrix indexing  View a particular element in a matrix  For example, A(1,3) is an element of first row and third column >>A(1,3) >>ans = 3

its.unc.edu 24 Matrix generation  Colon operator in a matrix  Colon operator is very useful in the usage of MATLAB  For example, A(m:n,k:l) specifies portions of a matrix A: rows m to n and column k to l.

its.unc.edu 25 Matrix generation  Colon operator in a matrix  Example 1 Rows 2 and 3 and columns 2 and 3 of matrix A >>A(2:3, 2:3) ans =

its.unc.edu 26 Matrix generation  Colon operator in a matrix  Example 2 Second row element of matrix A >>A(2, :) ans = 4 5 6

its.unc.edu 27 Matrix generation  Colon operator in a matrix  Example 3 Last two columns of matrix A >>A(:, 2:3) ans =

its.unc.edu 28 Matrix generation  Colon operator in a matrix  Example 4 Last rows of matrix A >>A(2:end, :) ans = The end here denotes the last index in the specified dimension

its.unc.edu 29 Matrix generation  Transposing a matrix  The transposing operation is a single quote (’) >>A’ ans =

its.unc.edu 30 Matrix generation  Concatenating matrices  Matrices can be made up of sub-matrices >>B= [A 10*A; -A [1 0 0; 0 1 0; 0 0 1]] B =

its.unc.edu 31 Matrix generation  Generating vectors: colon operator  Suppose we want to enter a vector x consisting of points (0, 0.1, 0.2, 0.3,…,5) >>x=0:0.1:5;  All the elements in between 0 and 5 increase by one- tenth

its.unc.edu 32 Matrix generation  Generating vectors: linear spacing  Suppose we want to have direct control over the number of points. >>y=linspace(a, b, n) For example, >>theta=linspace(0, 2*pi, 101) Creates a vector of 101 elements in the interval

its.unc.edu 33 Matrix generation  Elementary matrix generators  eye(m,n)  eye(n)  zeros(m,n)  ones(m,n)  diag(A)  rand(m,n)  randn(m,n)  logspace(a,b,n)  For a complete list of elementary matrices >>help elmat >>doc elmat

its.unc.edu Matrix arithmetic operation

its.unc.edu 35 Matrix arithmetic operation  Arithmetic operations  A+B or B+A  A*B  A^2 or A*A  a*A or A*a

its.unc.edu 36 Matrix arithmetic operation  Matrix functions  det  diag  eig  inv  norm  rank

its.unc.edu 37 Matrix arithmetic operation  Matrix functions  For example >> A=[1 2 3; 4 5 6; 7 8 0]; >>inv(A) ans = >>det(A) ans = 27

its.unc.edu 38 Matrix arithmetic operation  More matrix operations  Calculate the sum of elements in the second row of matrix A >> sum(A(2,:))  Calculates the sum of the last column of A >>sum(A(:,end))

its.unc.edu Array arithmetic operation

its.unc.edu 40 Array arithmetic operation  Array operations  Array operations are done element-by-element  The period character (.) is used in array operations  The matrix and array operations are the same for addition (+) and subtraction (-)

its.unc.edu 41 Array arithmetic operation  Array operations If A and B are two matrices of the same size with elements A=[ a ij ] and B=[ b ij ]  C=A.*B produces a matrix C of the same size with elements c ij = a ij b ij  C=A./B produces a matrix C of the same size with elements c ij = a ij /b ij  C=A.^2 produces a matrix C of the same size with elements c ij = a ij 2

its.unc.edu 42 Array arithmetic operation  Array operations  Example 1 A= B= >>C=A.*B C=

its.unc.edu 43 Array arithmetic operation  Array operations  Example 2 >>C=A.^2 C=

its.unc.edu Reading and writing data files

its.unc.edu 45 Reading and writing data files  Save and load data file  Use command save to save the variable in the workspace  For example, use command save: >> x = [1 3 -4]; >> y = [2 -1 7]; >> z = [3 2 3]; >> save Filename.mat The command saves all variables in the workspace into a binary file Filename.mat

its.unc.edu 46 Reading and writing data files  Save and load data file  Save only certain variables by specifying the variable names after the file name >> save Filename.mat x y  Save variables into ASCII data file >> save Filename.dat x y –ascii

its.unc.edu 47 Reading and writing data files  Save and load data file  The data can be read back with the load command >> load Filename.mat  Load only some of the variables into memory >> load Filename.mat x  Load the ASCII data file back into memory >> load Filename.dat -ascii

its.unc.edu 48 Reading and writing data files  The textread function  The load command assumes all of data is of a single type  The textread function is more flexible, it is designed to read ASCII files where each column can be of a different type  The command is: >> [A,B,C,...] = textread(filename, format, n);

its.unc.edu 49 Reading and writing data files  The textread function  For example, if a text file “mydata.dat” contains the following lines: tommy 32 male 78.8 sandy 3 female 88.2 alex 27 male 44.4 saul 11 male 99.6  The command is: >> [name,age,gender,score] = textread(‘mydata.dat’, ‘%s %d %s %f’, 4);

its.unc.edu 50 Reading and writing data files  C style read/write  MATLAB allows C style file access. It is crucially important that a correct data format is used.  The steps are: Open a file for reading or writing. A unique file identifier is assigned. Read the data to a vector Close the file with file identifier

its.unc.edu 51 Reading and writing data files  C style read/write: formatted files  In order to read results in formatted data files, the data format of the files must be know  For example, the numeric data is store in a file ‘sound.dat’. The commands reading data are: >> fid = fopen(‘sound.dat’,‘r’); >> data = fscanf(fid, ‘%f’); >> fclose(fid);

its.unc.edu 52 Reading and writing data files  C style read/write: unformatted/binary files  In order to read results in unformatted data files, the data precision of the files must be specified  For example, the numeric data is store as floating point numbers using 32 memory bits in a file ‘vib.dat’. The commands reading data are: >> fid1 = fopen(‘vib.dat’,‘rb’); >> data = fread(fid1, ‘float32’); >> fclose(fid);

its.unc.edu Basic plotting

its.unc.edu 54 Basic plotting  Plotting elementary functions  To plot the function y=sin(x) on the interval [0, 2 ] First create a vector of x values ranging from 0 to 2 Compute the sine of these values Plot the result

its.unc.edu 55 Basic plotting  Plotting elementary functions >>x=0:pi/100:2*pi; >>y=sin(x); >>plot(x,y)

its.unc.edu 56 Basic plotting  Plotting elementary functions

its.unc.edu 57 Basic plotting  Adding titles, axis labels >>xlabel (‘x=0:2\pi’); >>ylabel (‘Sine of x’); >>title (‘Plot of the Sine function’); The character \pi creates the symbol

its.unc.edu 58 Basic plotting  Multiple data sets in one plot  Several graphs may be drawn on the same figure  For example, plot three related function of x: y 1 =2cos(x), y 2 =cos(x), and y 3 =0.5cos(x), on the interval [0, 2 ]

its.unc.edu 59 Basic plotting  Multiple data sets in one plot >> x = 0:pi/100:2*pi; >> y1 = 2*cos(x); >> y2 = cos(x); >> y3 = 0.5*cos(x); >> plot(x,y1,‘--’,x,y2,‘-’,x,y3,‘:’) >> xlabel(‘0 \leq x \leq 2\pi’) >> ylabel(‘Cosine functions’) >> legend(‘2*cos(x)’,‘cos(x)’,‘0.5*cos(x)’) >> title(‘Typical example of multiple plots’)

its.unc.edu 60 Basic plotting  Multiple data sets in one plot

its.unc.edu 61 Basic plotting  Subplot  The graphic window can be split into an m*n array of small windows.  The windows are counted 1 to mn row-wise, starting from the top left  For example, plot three related function of x: y 1 =sin(3 x), y 2 =cos(3 x), y 3 =sin(6 x), y 4 =cos(6 x), on the interval [0, 1]

its.unc.edu 62 Basic plotting  Subplot >> x = 0:1/100:1; >> y1 = sin(3*pi*x); >> y2 = cos(3*pi*x); >> y3 = sin(6*pi*x); >> y4 = cos(6*pi*x); >> title(‘Typical example of subplots’) >> subplot(2,2,1), plot(x,y1) >> xlabel(‘0 \leq x \leq 1’), ylabel(‘sin(3 \pi x)’) >> subplot(2,2,2), plot(x,y2) >> xlabel(‘0 \leq x \leq 1’), ylabel(‘cos(3 \pi x)’) >> subplot(2,2,3), plot(x,y3) >> xlabel(‘0 \leq x \leq 1’), ylabel(‘sin(6 \pi x)’) >> subplot(2,2,4), plot(x,y4) >> xlabel(‘0 \leq x \leq 1’), ylabel(‘cos(6 \pi x)’)

its.unc.edu 63 Basic plotting  Subplot

its.unc.edu Programming in MATLAB

its.unc.edu 65 Programming in MATLAB  M-File scripts  In order to repeat any calculation and/or make any adjustments, it is create a file with a list of commands.  “File  New  M-file”  For example, put the commands for calculating the roots of a quadratic equation into a file called quat.m

its.unc.edu 66 Programming in MATLAB  M-File scripts  Enter the following statements in the file a = 2; b = 1; c = -4; x1=(-b+sqrt(b^2-4*a*c))/(2*a) x2=(-b-sqrt(b^2-4*a*c))/(2*a)  Save and name the file, quat.m Note: the first character of the filename must be a letter

its.unc.edu 67 Programming in MATLAB  M-File scripts  Run the file >> quat x1= x2=

its.unc.edu 68 Programming in MATLAB  M-File scripts  It is possible to modify the file so that it prompts you for inputting values of a, b, and c each time it runs. a = input(‘Enter a: ’); b = input(‘Enter b: ’); c = input(‘Enter c: ’); x1=(-b+sqrt(b^2-4*a*c))/(2*a) x2=(-b-sqrt(b^2-4*a*c))/(2*a)

its.unc.edu 69 Programming in MATLAB  M-File scripts  Re-run this file, you may type in the values for a, b and c >> quat Enter a: 3 Enter b: 4 Enter c: 5 x1 = i x2 = i

its.unc.edu 70 Programming in MATLAB  M-File scripts  MATLAB treats anything that appears after the % on a line as comments and these line will be ignored when the file runs % % quat.m is to solve quadratic equation ax^2 + bx + c =0 % a = input(‘Enter a: ’); b = input(‘Enter b: ’); c = input(‘Enter c: ’); x1=(-b+sqrt(b^2-4*a*c))/(2*a) x2=(-b-sqrt(b^2-4*a*c))/(2*a)

its.unc.edu 71 Programming in MATLAB  M-File scripts  You can display the first block of comment lines in any.m file by issuing the help command >>help quat % % quat.m is to solve quadratic equation ax^2 + bx + c =0 %

its.unc.edu 72 Programming in MATLAB  M-File functions  Functions are routines that are general and applicable to many problems.  To define a MATLAB function:  Decide a name for the function, making sure that it does not conflict a name that is already used by MATLAB.  Document the function  The first command line of the file must have this format: Function[list of outputs]=functionname(list of inputs) …….  Save the function as a M-file

its.unc.edu 73 Programming in MATLAB  M-File scripts  In the previous example, it is convenient to have a separate file which calculate the roots of a quadratic equation % % quatsolv.m is to compute the roots of quadratic % equation ax^2 + bx + c =0 % function [x1, x2] = quatsolv(a, b, c) x1=(-b+sqrt(b^2-4*a*c))/(2*a) x2=(-b-sqrt(b^2-4*a*c))/(2*a)

its.unc.edu 74 Programming in MATLAB  M-File scripts  To evaluate this function, a main program is needed. This main program provides input argumentss (a, b, and c) % % main.m is to solve quadratic equation ax^2 + bx + c =0 % it calls the external function quatsolv.m % a = input(‘Enter a: ’); b = input(‘Enter b: ’); c = input(‘Enter c: ’); [x1, x2] = quatsolv(a, b, c); x1 x2

its.unc.edu 75 Programming in MATLAB  M-File scripts  Example 2:  A new quatsolv2.m file is defined as the following: % % quatsolv2.m is to compute the values of % quadratic equation ax^2 + bx + c % function y = quatsolv2(x) global a b c y = a*x^2 + b*x + c;

its.unc.edu 76 Programming in MATLAB  M-File scripts  Example 2:  A new main file % % main2.m is to plot quadratic equation ax^2 + bx + c for % some range. % it calls the external function quatsolv2.m % global a b c a = 1; b = 0; c = -2; fplot(‘quatsolv2’,[-4, 4])

its.unc.edu 77 Programming in MATLAB  M-File scripts  If run main2.m

its.unc.edu Questions and comments?

its.unc.edu 79 Questions and comments?  For assistance with MATLAB, please contact the Research Computing Group:   Phone: HELP  Submit help ticket at