matlab tutorial l.
Download
Skip this Video
Download Presentation
MATLAB Tutorial

Loading in 2 Seconds...

play fullscreen
1 / 16

MATLAB Tutorial - PowerPoint PPT Presentation


  • 164 Views
  • Uploaded on

MATLAB Tutorial. ECE 002 Professor S. Ahmadi. Tutorial Outline. Functions using M-files. Numerical Integration using the Trapezoidal Rule. Example #1: Numerical Integration using Standard Programming (Slow). Example #2: Numerical Integration using Vectorized MATLAB operations (Fast).

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'MATLAB Tutorial' - eugene


Download Now 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
matlab tutorial

MATLAB Tutorial

ECE 002

Professor S. Ahmadi

tutorial outline
Tutorial Outline
  • Functions using M-files.
  • Numerical Integration using the Trapezoidal Rule.
  • Example #1: Numerical Integration using Standard Programming (Slow).
  • Example #2: Numerical Integration using Vectorized MATLAB operations (Fast).
  • Student Lab Exercises.
what are function m files
What Are Function M-Files
  • Function M-files are user-defined subroutines that can be invoked in order to perform specific functions.
  • Input arguments are used to feed information to the function.
  • Output arguments store the results.
  • EX: a = sin(d).
  • All variables within the function are local, except outputs.NOTE: Local variables are variables that are only used within the function. They are not saved after the M-file executes.
example of a function m file
Example of a Function M-File

function answer = average3(arg1,arg2, arg3)

% A simple example about how MATLAB deals with user

% created functions in M-files.

% average3 is a user-defined function. It could be named anything.

% average3 takes the average of the three input parameters: arg1,

% arg2, arg3

% The output is stored in the variable answer and returned to the

% user.

% This M file must be saved as average3.m

answer = (arg1+arg2+arg3)/3;

how to call a function in matlab
How to call a function in matlab

X = sin(pi);

% call the interior function of Matlab, sin

Y = input(“How are you?”)

% call the interior function of Matlab, input

% input is a function that requests information from

% the user during runtime

Y=average3(1, 2, 3);.

% average3 is a user-defined function.

% The average value of 1,2 and 3 will be stored in Y

example calling a function from within the main program
Example: Calling a Function from within the Main program.

% Example1: This is a main program example to illustrate how functions are called.

% input is a function that requests information from

% the user during runtime.

VarA = input('What is the first number?');

VarB = input('What is the second number?');

VarC = input('What is the third number?');

VarAverage=average3(VarA, VarB, VarC);

% num2str converts a number to a string.

result=[‘The average value was’, num2str(VarAverage)]

numerical integration

y

x

b

a

Numerical Integration
  • General Approximation Made With Num. Integration:

b n

∫ f(x) dx ≈ ∑ cif(xi)

a i=0

  • Trapezoidal rule:
  • Integration finds the “Area” under
  • a curve, between two points (a and b).
  • To approximate the area under a curve,
  • use a familiar shape whose area we
  • already know how to calculate easily.
  • In this case, we’ll use a trapezoid shape.
  • Area of trapezoid = ½ (b1 + b2) h

f(b)

f(a)

base 2 (b1)

h

base 2 (b2)

numerical integration8

y

x

b

a

Numerical Integration
  • Trapezoidal Rule (con’t):
  • Area under curve ≈ Area of trapezoid
  • under the curve
  • Area of trapezoid = ½ h [ b1 + b2 ]
  • Area under curve ≈ ½ (b-a) [ f(a) + f(b) ]
  • Therefore, Trapezoidal Rule:
  • b
  • ∫ f(x) dx ≈ ½ (b-a) [ f(a) + f(b) ]
  • a

f(b)

f(a)

  • How can we get a better approximation of the area under the curve?
  • Answer: Use More Trapezoids
numerical integration9

y

x

b

a

Numerical Integration
  • More trapezoids give a better approximation of the area under curve
  • Add area of both trapezoids together,
  • more precise approx. of area under curve
  • Area of trapezoid = ½ h [ b1 + b2 ]
  • Area under curve ≈
  • ½ (x1-a) [ f(a) + f(x1) ] + ½ (b-x1) [ f(x1) + f(b) ]
  • Simplify:
  • ½ ((b-a)/2) [ f(a) + f(x1) + f(x1) + f(b) ]
  • (b-a)/4* [ f(a) + 2 * f(x1) + f(b) ]

f(b)

f(x1)

f(a)

Area of Trapezoid 1

Area of Trapezoid 2

x1

Area under curve ≈

numerical integration10
Numerical Integration
  • Using more trapezoids to approximate area under the curve is called: Composite Trapezoidal Rule
  • The more trapezoids, the better, so instead of two trapezoids, we’ll use n trapezoids.
  • The greater the value of n, the better our approximation of the area will be.
composite trapezoidal rule
Composite Trapezoidal Rule
  • Divide interval [a,b] into n equally spaced subintervals (Add area of the n trapezoids)

b x1 x2 b

∫ f(x) dx ≈ ∫ f(x) dx + ∫ f(x) dx + … + ∫ f(x) dx

a a x1 xn-1

≈ (b-a)/2n [ f(a) + f(x1) + f(x1) + f(x2) +…+ f(xn-1) + f(b) ]

≈ (b-a)/2n [ f(a) + 2 f(x1) + 2 f(x2) +…+ 2 f(xn-1) + f(b) ]

b

∫ f(x) dx ≈ Δx/2 [ y0 + 2y1 + 2y2 + … + 2yn-1 + yn ]

a

Composite Trapezoidal Rule

example 1 on numerical integration
Example 1 on Numerical Integration
  • Implementing Composite Trapezoidal Rule in Matlab
  • Example Curve: f(x) = 1/x , let’s integrate it from [e,2e] :

2e 2e

∫ 1/xdx = ln (x) | = ln (2e) – ln (e) = ln (2) = 0.6931

e e

  • Matlab Equivalent

function I=Trapez(f, a, b, n) % take f, add n trapezoids,from a to b

% Integration using composite trapezoid rule

h = (b-a)/n ; % increment

s = feval(f,a) ; % starting value

for i=1:n-1

x(i) = a + i*h ;

s = s+2 * feval (f,x(i)) ;

end

s = s + feval(f,b) ;

I = s*h/2 ;

Area under curve: 1/x, from [e,2e]

Inline(‘1/x’)

In our case, input to the function will be:

f = inline (’1/x’)

a = e = 2.7182818

b = 2e

example 2 on numerical integration using matlab vectorized operations
Example 2 on Numerical Integration: Using MATLAB Vectorized Operations
  • This function carries out the same function as the previous example, but by using MATLAB Vectorized operations, it runs much faster.

function I=FastTrap(f, a, b, n)

% Same as the previous Trapezoidal function example, but using more

% efficient MATLAB vectorized operations.

h=(b-a)/n; % Increment value

s=feval(f, a); % Starting value

in=1:n-1;

xpoints=a+in*h; % Defining the x-points

ypoints=feval(vectorize(f),xpoints); % Get corresponding y-points

sig=2*sum(ypoints); % Summing up values in ypoints, and mult. by 2

s=s+sig+feval(f,b); % Evaluating last term

I=s*h/2;

example 3 integrating trapezoidal fasttrap function into main program
Example 3: Integrating Trapezoidal/FastTrap Function into Main Program
  • Main program to test numerical integration function, and to measure difference in speed between the two previous functions.

% Example 3: Main program to run the numerical integration function,

% using the user-created Trapezoidal/FastTrap methods.

fon=inline('log‘); % Defines the function we wish to integrate.

a=exp(1); % Starting point.

b=2*a; % Ending point.

n=1000; % Number of intervals.

tic % Start counter.

OutValue=Trapez (fon, a, b, n) % Calling Trapezoidal function.

toc % Stop counter, and print out counters value.

% Try replacing the Trapez function with the vectorized FastTrap

% function, and notice the difference in speeds between the two.

example 3 continuation
Example 3: Continuation
  • Try two different values of N
    • N=1,000
    • N=100,000.
  • For both N values, test the code using both functions for the Trapezoidal method: The normal Trapez Method, and the FastTrap Method.
  • Compare the difference in execution time between the standard way (Trapez), and the vectorized approach (FastTrap).
additional matlab exercise
Additional MATLAB Exercise
  • Function: y(i) = sin [ x(i) ]
  • Where x(i) is “defined” by 101 uniformly spaced points in [0, 2π].
  • Define the integral:

x(i)

Int (i) = ∫ sin (t) dt

0

  • Calculate Int(i) for all values, i = 1, … , 101
  • Plot y(i) and Int(i) versus x(i), for i =1, …, 101
ad