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

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

• Introduction

• Getting started

• Mathematical functions

• Matrix generation

• Reading and writing data files

• Basic plotting

• Basic programming

• 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

• MATLAB desktop

• The Command Window

• The Command History

• The Workspace

• The Current Directory

• The Help Browser

• The Start Button

• Using MATLAB as a calculator

>> pi

ans =

3.1416

More examples:

>> sin(pi/4)

>> 2^(log(4))

>> sqrt(9)

• Assign values to output variables

>> x=5

x=

5

>> y = 'Bob'

y =

Bob

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

• 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

• Miscellaneous commands

• To clear the Command Window

>> clc

• To abort a MATLAB computation

ctrl-C

• To continue a line

• To recall previous commands

• 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

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

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

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

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

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

• 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, :)

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

• 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

• 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

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:

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

• Plotting elementary functions

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

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

• Multiple data sets in one plot

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

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

• Subplot

• 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

• 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

• M-File scripts

• Run the file

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

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

• 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

• M-File functions

• Consider an example to plot the piecewise defined function:

• 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

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

M-File functions

Run the main file