- 84 Views
- Uploaded on

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

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

- 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

- 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

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

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

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

Basic plotting

- Subplot

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

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

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

Download Presentation

Connecting to Server..