An Introduction to MATLAB Lesson 2: M-files
Dr. Samir Al-Amer Term 061
Al-Amer 2006
Objectives
To be able to create MATLAB m-files To understands the basics of MATLAB files Basic graphics
Al-Amer 2006
Creating M-files
Select FILE OPEN NEW M-files
Al-Amer 2006
MATLAB shortcuts
Create a New file Open an existing files
Al-Amer 2006
Programming in MATLAB
There are two types of MATLAB programs
script files function files
% script file P=[1 3 2] roots(P)
function [y]=fun(x) y=x^2+3*x^2+2
Al-Amer 2006
Script verses functions files
Script files List of MATLAB statements Variables are global Run it by typing the file name Function files Starts with function List of MATLAB statements Variables are local
Al-Amer 2006
Programming in MATLAB
Script files
Use script file when you have a long sequence of statements to solve a problem Run the program by
typing its name in the command window from tools in the editor window
Al-Amer 2006
Example 1
Write a function file to compute the factorial of a number. Input: N Output :NF Function name: factorial
Al-Amer 2006
A solution
output First statement must start with function Function name input
function [FC]=factorial(N) FC=1; for i=1:N FC=FC*i; end
Save the program using factorial as a name
Al-Amer 2006 9
Creating function file
Open an m-file and start typing the file
function [FC]=factorial(N) FC=1; for i=1:N FC=FC*i; end
Save the program using factorial as a name If NOTEPAD is used to create the file use the name factorial.m Save it in directory recognized by MATLAB If the directory is not recognized by MATLAB add it to the Al-Amer 2006 MATLAB path
10
A Better one
These comments will be displayed when
help factorial
function [FC]=factorial(N) % [FC]=factorial(N) % program to calculate the factorial of a number % input N : an integer % if N is not an integer the program obtains the % factorial of the integer part of N % output FC : the factorial of N % FC=1; for i=1:N FC=FC*i; end
% initial value of FC
is typed
% n! =(n-1)!*n
Comments are used to explain MATLAB statements
Al-Amer 2006 11
Script file to compute factorial
% program to calculate the factorial of a number % input N : an integer % if N is not an integer the program obtains the % factorial of the integer part of N % output FC : the factorial of N % FC=1; % initial value of FC for i=1:N FC=FC*i; % n! =(n-1)!*n end
Comments are used to explain MATLAB statements
Al-Amer 2006 12
Script file to compute cos
% program to calculate an estimate of cos(0.2) % cos(x) 1-x^2/2!+x^4/4! x=0.2 Sum=1 N=2 Script file % Script file fact2 fact2 FC=1; Sum=Sum-x^2/FC for i=1:N N=4 FC=FC*i; end fact2 Sum=Sum+x^4/FC
Al-Amer 2006
13
Graphics on MATLAB
Simple 1D graphics
Linear scales Semilog scale Loglog scale
2D graphics
Al-Amer 2006
14
Example
time=[0:0.01:6] Y=sin(time)
Generating data Plot Y verses time xaxis is time y- axis is Y Add a label to the xaxis Add a label to the yaxis Add a title Add grid lines
Al-Amer 2006 15
plot(time,Y) xlabel('time') ylabel('sin(time) ') title(' plot of sin(time) ') grid
Al-Amer 2006
16
Example
time=[0:0.01:6] Y=sin(time)
Generating data
plot(time,Y)
You can add a label to the x- axis a label to the x- axis Title And others on the graph directly
Plot Y verses time xaxis is time y- axis is Y
(click insert)
Al-Amer 2006 17
Example
time=[0:0.01:6] Y=sin(time)
Generating data
plot(Y)
Plot Y verses index x- axis is column # y- axis is Y
Al-Amer 2006
18
Example
time=[0:0.01:6] Y=sin(time)
Generating data
semilogx(time,Y) semilogy(t,Y)
Plot Y verses time x- axis is time (log scale) y- axis is Y (linear scale) Plot Y verses v x- axis is v (linear scale) y- axis is Y (log scale) Plot Y verses v x- axis is v (log scale) y- axis is Y (log scale)
loglog(t,Y)
You can modify the scales directly on the figure Click Edit- axis properties
Al-Amer 2006 19