Introduction to MATLAB

1 / 45

# Introduction to MATLAB - PowerPoint PPT Presentation

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

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

## PowerPoint Slideshow about ' Introduction to MATLAB' - chogan

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

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 basiccommands and features of MATLAB.
Course agenda
• Introduction
• Getting started
• Mathematical functions
• Matrix generation
• Reading and writing data files
• Basic plotting
• Basic programming
Introduction
• The name MATLAB stands for MATrix LABoratory
• It is good at dealing with matrices
• Vendor’s website: http//:www.mathworks.com
• Easiness of use
• Powerful build-in routines and toolboxes
• Good visualization of results
• Popularity in both academia and industry
• Can be slow
Getting started
• MATLAB desktop
• The Command Window
• The Command History
• The Workspace
• The Current Directory
• The Help Browser
• The Start Button
Getting started
• Using MATLAB as a calculator

>> pi

ans =

3.1416

More examples:

>> sin(pi/4)

>> 2^(log(4))

>> sqrt(9)

Getting started
• Assign values to output variables

>> x=5

x=

5

>> y = \'Bob\'

y =

Bob

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 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 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 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
• 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 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
• 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 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 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 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 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 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 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 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

• 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

• Load only some of the variables into memory

• Load the ASCII data file back into memory

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

• 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 is to get data and text from a spreadsheet in an Excel workbook.

The basic command is:

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 plotting
• Plotting elementary functions
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 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 plotting
• Multiple data sets in one plot
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 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
• 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 MATLAB
• M-File scripts
• Enter the following statements in the file

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 MATLAB
• M-File scripts
• Run the file
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 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 MATLAB
• M-File functions
• Consider an example to plot the piecewise defined function:
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 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 MATLAB

M-File functions

Run the main file