- 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

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

- You can suppress the numerical output by putting a semicolon (;) at the end of the line
- Case sensitive
- Example: “time” and “Time” are different variables
>> time=61;

>> Time=61;

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

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

- To clear the Command Window

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

- Use help to request info on a specific function

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)

- Elementary functions

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

- Suppose we want to enter a vector x consisting of points (0, 0.1, 0.2, 0.3,…,5)

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 1, save all variables in the workspace into a binary file:

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

- The data can be read back with the load command

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

- For example, if a text file “mydata.dat” contains the following lines:

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

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

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

- Enter the following statements in the file

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.

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

- MATLAB treats anything that appears after the % on a line as comments and these line will be ignored when the file runs

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

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

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

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

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