Introduction to matlab
Download
1 / 45

Introduction to MATLAB - PowerPoint PPT Presentation


  • 84 Views
  • Uploaded on

Introduction to MATLAB. Zongqiang Liao Research Computing Group UNC-Chapel Hill. Purpose. This course is an introductory level course for beginners . The purpose of this course is to introduce you to some of the basic commands and features of MATLAB. Course agenda. Introduction

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Introduction to MATLAB' - chogan


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Introduction to matlab

Introduction to MATLAB

Zongqiang Liao

Research Computing Group

UNC-Chapel Hill


Purpose
Purpose

  • This course is an introductory level course for beginners.

  • The purpose of this course is to introduce you to some of the basiccommands and features of MATLAB.


Course agenda
Course agenda

  • Introduction

  • Getting started

  • Mathematical functions

  • Matrix generation

  • Reading and writing data files

  • Basic plotting

  • Basic programming


Introduction
Introduction

  • The name MATLAB stands for MATrix LABoratory

    • It is good at dealing with matrices

    • Vendor’s website: http//:www.mathworks.com

  • Advantages of MATLAB

    • Easiness of use

    • Powerful build-in routines and toolboxes

    • Good visualization of results

    • Popularity in both academia and industry

  • Disadvantage of MATLAB

    • Can be slow


Getting started
Getting started

  • MATLAB desktop

    • The Command Window

    • The Command History

    • The Workspace

    • The Current Directory

    • The Help Browser

    • The Start Button


Getting started1
Getting started

  • Using MATLAB as a calculator

    >> pi

    ans =

    3.1416

    More examples:

    >> sin(pi/4)

    >> 2^(log(4))

    >> sqrt(9)


Getting started2
Getting started

  • Assign values to output variables

    >> x=5

    x=

    5

    >> y = 'Bob'

    y =

    Bob


Getting started3
Getting started

  • Suppressing output

    • You can suppress the numerical output by putting a semicolon (;) at the end of the line

      >> t=pi/3

      >> u=sin(t)/cos(t);

      >> v= u- tan(t);

  • Case sensitive

    • Example: “time” and “Time” are different variables

      >> time=61;

      >> Time=61;


Getting started4
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 t

      or

      >> clear all


Getting started5
Getting started

  • Miscellaneous commands

    • To clear the Command Window

      >> clc

    • To abort a MATLAB computation

      ctrl-C

    • To continue a line

    • To recall previous commands


Getting started6
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 regression


Mathematical functions
Mathematical functions

  • Lists of build-in mathematical functions

    • Elementary functions

      >> help elfun

    • Special functions

      >> help specfun

    • Such as

      sin(x), cos(x), tan(x), ex, ln(x)


Mathematical functions1
Mathematical functions

  • Example 1

    Calculate z=e-asin(x)+10 for a=5, x=2, y=8

    >> a=5; x=2; y=8;

    >> z=exp(-a)*sin(x)+10*sqrt(y)

    z=

    28.2904

  • Example 2

    log(142), log10(142)


Matrix generation
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)


Matrix generation1
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, ]


Matrix generation2
Matrix generation

  • Entering a matrix: A typical example

    >> A=[1 2 3; 4 5 6; 7 8 9]

    >> A=

    1 2 3

    4 5 6

    7 8 9


Matrix generation3
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


Matrix generation4
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.

    • Examples:

      A(2:3, 2:3)

      A(2, :)

      A(2:end, :)


Matrix generation5
Matrix generation

  • Transposing a matrix

    The transposing operation is a single quote (’)

    >>A’

  • Concatenating matrices

    Matrices can be made up of sub-matrices

    >>B= [A 10*A; -A [1 0 0; 0 1 0; 0 0 1]]


Matrix generation6
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


Matrix generation7
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


Reading and writing data files
Reading and writing data files

  • Save command

    • Example 1, save all variables in the workspace into a binary file:

      >> x = [1 3 -4];

      >> y = [2 -1 7];

      >> z = [3 2 3];

      >> save Filename.mat

    • Save only certain variables by specifying the variable names after the file name

      >> save Filename.mat x y


Save command

Example 2, save variables into ASCII data file

>> save Filename.dat x y –ascii

or

>> save Filename.txt x y –ascii

Reading and writing data files


Reading and writing data files

  • load command

    • 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


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);


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);


The xlsread function

The xlsread function is to get data and text from a spreadsheet in an Excel workbook.

The basic command is:

>> d=xlsread(‘datafile.xls’)

Reading and writing data files


Basic plotting
Basic plotting

  • A simple line plot

    • To plot the function y=sin(x) on the interval

      [0, 2 ]

      >>x=0:pi/100:2*pi;

      >>y=sin(x);

      >>plot(x,y)

      >>xlabel (‘x=0:2\pi’);

      >>ylabel (‘Sine of x’);

      >>title (‘Plot of the Sine function’);


Basic plotting1
Basic plotting

  • Plotting elementary functions


Basic plotting2
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: y1=2cos(x), y2=cos(x), and y3=0.5cos(x), on the interval [0, 2 ]


Basic plotting3
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’)


Basic plotting4
Basic plotting

  • Multiple data sets in one plot


Basic plotting5
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: y1=sin(3 x), y2=cos(3 x), y3=sin(6 x), y4=cos(6 x), on the interval [0, 1]


Basic plotting6
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)’)



Programming in matlab
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 plotting soil temperature into a file called scriptexample.m


Programming in matlab1
Programming in MATLAB

  • M-File scripts

    • Enter the following statements in the file

      load 'soilT.dat';

      time=soilT(:,1);

      soil_temp_mor=soilT(:,2);

      soil_temp_aft=soilT(:,3);

      plot(time,soil_temp_mor,'--',time,soil_temp_aft,'-');

      xlabel('Time');

      ylabel('Soil temperature');

      legend('Morning','Afternoon');

      title('Soil Temperature');

    • Save and name the file, scriptexample.m

      Note: the first character of the filename must be a letter


Programming in matlab2
Programming in MATLAB

  • M-File scripts

    • Run the file


Programming in matlab3
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

      % -------------------------------------------------------

      % scriptexample.m is to display soil temperature in the morning and

      % the afternoon.

      % -------------------------------------------------------


Programming in matlab4
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


Programming in matlab5
Programming in MATLAB

  • M-File functions

    • Consider an example to plot the piecewise defined function:


Programming in matlab6
Programming in MATLAB

  • M-File functions

    • It is convenient to have a separate file which can do a specific calculation.

      function [F]= eff(x)

      % Function to calculate values

      % Input x

      % Output F

      for i=1:length(x)

      if x(i)<0.5

      F(i)=x(i)^2;

      else

      F(i)=0.25;

      end

      end


Programming in matlab7
Programming in MATLAB

  • M-File functions

    • To evaluate this function, a main program is needed. This main program provides input arguments

      % Main program, use function: eff.m

      x=-1:0.01:1;

      plot(x,eff(x));

      grid

      xlabel('x');

      ylabel('F');

      title('The Piecewise Defined Function:');


Programming in matlab8
Programming in MATLAB

M-File functions

Run the main file


Questions and comments
Questions and Comments?

  • For assistance with MATLAB, please contact the Research Computing Group:

    • Email: [email protected]

    • Phone: 919-962-HELP

    • Submit help ticket at http://help.unc.edu


ad