al-amer 20061 an introduction to matlab lesson 2: m-files dr. samir al-amer term 061

19
Al-Amer 2006 1 An Introduction to MATLAB Lesson 2: M-files Dr. Samir Al-Amer Term 061

Upload: roxanne-jefferson

Post on 15-Jan-2016

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Al-Amer 20061 An Introduction to MATLAB Lesson 2: M-files Dr. Samir Al-Amer Term 061

Al-Amer 2006 1

An Introduction to MATLABLesson 2: M-files

Dr. Samir Al-Amer

Term 061

Page 2: Al-Amer 20061 An Introduction to MATLAB Lesson 2: M-files Dr. Samir Al-Amer Term 061

Al-Amer 2006 2

Objectives

To be able to create MATLAB m-files To understands the basics of MATLAB files Basic graphics

Page 3: Al-Amer 20061 An Introduction to MATLAB Lesson 2: M-files Dr. Samir Al-Amer Term 061

Al-Amer 2006 3

Creating M-filesSelect FILE OPEN NEW M-files

Page 4: Al-Amer 20061 An Introduction to MATLAB Lesson 2: M-files Dr. Samir Al-Amer Term 061

Al-Amer 2006 4

MATLAB shortcutsOpen an existing filesCreate

a New file

Page 5: Al-Amer 20061 An Introduction to MATLAB Lesson 2: M-files Dr. Samir Al-Amer Term 061

Al-Amer 2006 5

Programming in MATLAB

There are two types of MATLAB programs

% script file P=[1 3 2] roots(P)

function [y]=fun(x) y=x^2+3*x^2+2

script files function files

Page 6: Al-Amer 20061 An Introduction to MATLAB Lesson 2: M-files Dr. Samir Al-Amer Term 061

Al-Amer 2006 6

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

Page 7: Al-Amer 20061 An Introduction to MATLAB Lesson 2: M-files Dr. Samir Al-Amer Term 061

Al-Amer 2006 7

Programming in MATLABScript 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

Page 8: Al-Amer 20061 An Introduction to MATLAB Lesson 2: M-files Dr. Samir Al-Amer Term 061

Al-Amer 2006 8

Example 1

Write a function file to compute the factorial of a number.

Input: N Output :NF Function name: factorial

Page 9: Al-Amer 20061 An Introduction to MATLAB Lesson 2: M-files Dr. Samir Al-Amer Term 061

Al-Amer 2006 9

A solution

function [FC]=factorial(N)FC=1; for i=1:N FC=FC*i; end

output Function name input

Save the program using ‘factorial’ as a name

First statement must start

with‘function’

Page 10: Al-Amer 20061 An Introduction to MATLAB Lesson 2: M-files Dr. Samir Al-Amer Term 061

Al-Amer 2006 10

Creating function 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 MATLAB path

Open an m-file and start typing the file

Page 11: Al-Amer 20061 An Introduction to MATLAB Lesson 2: M-files Dr. Samir Al-Amer Term 061

Al-Amer 2006 11

A Better one

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; % initial value of FC for i=1:N FC=FC*i; % n! =(n-1)!*n end

These comments will be displayed when

‘help factorial’

is typed

Comments are used to explain MATLAB statements

Page 12: Al-Amer 20061 An Introduction to MATLAB Lesson 2: M-files Dr. Samir Al-Amer Term 061

Al-Amer 2006 12

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

Page 13: Al-Amer 20061 An Introduction to MATLAB Lesson 2: M-files Dr. Samir Al-Amer Term 061

Al-Amer 2006 13

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.2Sum=1N=2fact2Sum=Sum-x^2/FCN=4fact2Sum=Sum+x^4/FC

Script fileScript file

Page 14: Al-Amer 20061 An Introduction to MATLAB Lesson 2: M-files Dr. Samir Al-Amer Term 061

Al-Amer 2006 14

Graphics on MATLAB

Simple 1D graphics Linear scales Semilog scale Loglog scale

2D graphics

Page 15: Al-Amer 20061 An Introduction to MATLAB Lesson 2: M-files Dr. Samir Al-Amer Term 061

Al-Amer 2006 15

Example

time=[0:0.01:6]

Y=sin(time)

plot(time,Y)

xlabel('time')

ylabel('sin(time) ')

title(' plot of sin(time) ')

grid

Generating data

Plot Y verses time x- axis is time

y- axis is Y

Add a label to the x- axis

Add a label to the y- axis

Add a title

Add grid lines

Page 16: Al-Amer 20061 An Introduction to MATLAB Lesson 2: M-files Dr. Samir Al-Amer Term 061

Al-Amer 2006 16

Page 17: Al-Amer 20061 An Introduction to MATLAB Lesson 2: M-files Dr. Samir Al-Amer Term 061

Al-Amer 2006 17

Example

time=[0:0.01:6]

Y=sin(time)

plot(time,Y)

Generating data

Plot Y verses time x- axis is time

y- axis is Y

You can add a label to the x- axisa label to the x- axisTitleAnd others on the graph directly

(click insert)

Page 18: Al-Amer 20061 An Introduction to MATLAB Lesson 2: M-files Dr. Samir Al-Amer Term 061

Al-Amer 2006 18

Exampletime=[0:0.01:6]

Y=sin(time)

plot(Y)

Generating data

Plot Y verses index x- axis is column #

y- axis is Y

Page 19: Al-Amer 20061 An Introduction to MATLAB Lesson 2: M-files Dr. Samir Al-Amer Term 061

Al-Amer 2006 19

Exampletime=[0:0.01:6]

Y=sin(time)

semilogx(time,Y)

Generating data

Plot Y verses time x- axis is time (log scale)y- axis is Y (linear scale)

semilogy(t,Y) Plot Y verses v x- axis is v (linear scale)y- axis is Y (log scale)

loglog(t,Y) Plot Y verses v x- axis is v (log scale)y- axis is Y (log scale)

You can modify the scales directly on the figure

Click Edit- axis properties