0% found this document useful (0 votes)
48 views39 pages

Chapter 08

Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
48 views39 pages

Chapter 08

Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 39

Chapter 8

Calculus Operations with MATLAB


We are now ready to see how calculus
operations can be performed with MATLAB.
It should be noted that a digital computer
operates on a numerical basis with addition,
subtraction, multiplication, and division,
along with memory storage and logic. True
differentiation and integration can never be
achieved exactly with numerical processes.
However, there are two ways that
differentiation and integration can be
achieved on a practical level with MATLAB.
1
Two Types of Operations

First, MATLAB can be viewed as a very


comprehensive "look-up" table in that
numerous derivatives and integrals as
character strings can be manipulated with
software. The Symbolic Math Toolbox
permits the exact formulas for derivatives
and integrals to be extracted,
manipulated, and plotted.

2
Two Types of Operations
(Continued)

Second, MATLAB can be used for calculus


with numerical approximations to
differentiation and integration. While such
approximations are not exact, they can be
used to provide extremely close
approximations to the derivatives and
integrals of experimental data, even when
closed form solutions are impossible.

3
Symbolic Variables

A symbolic variable is one that can be


manipulated in the same manner as in an
equation, and it may or may not ever
take on any numerical values. To make x
and a symbolic, the command is
>> syms x a
Alternately, the symbolic portion of a
command may be enclosed with
apostrophes ' '.

4
Symbolic Differentiation

The command is diff( ) with the


function to be differentiated in
parentheses. All variables should
have been established as symbolic
variables or the function should be
enclosed by apostrophes.

5
Example 8-1. Use MATLAB to
determine derivative of function below.
y  4x 5

>> syms x
>> y = 4*x^5
y=
4*x^5
>> yprime = diff(y)
yprime =
20*x^4
6
Example 8-1. Continuation.

Second Approach:

>> yprime = diff(4*x^5)


yprime =
20*x^4

7
Example 8-1. Continuation.
Third Approach:
>> y = '4*x^5'
y=
4*x^5
>> yprime = diff(y)
yprime =
20*x^4

8
Example 8-1. Continuation.

The third approach could also be


performed in one step.

>> yprime = diff('4*x^5')


yprime =
20*x^4

9
Example 8-2. Use ezplot to plot y
and yprime of Example 8-1.
The simplest form is ezplot(y), but the
domain will be from -2 to 2. The domain
can be changed by
>> ezplot(y, [x1 x2])
In this example,
ezplot(y, [-1 1])
ezplot(yprime,[-1 1])
The plots after labeling are shown on the
next two slides.
10
11
12
Symbolic Integration

The command is int( ) with the function


to be integrated in parentheses. All
variables should have been established as
symbolic variables or the function should
be enclosed by apostrophes.
Indefinite Integral:
>> yint = int(y)
Definite Integral:
>> yint = int(y, a, b)
13
Example 8-3. Use MATLAB to
determine integral of function below.
z   ydx   x 2e x dx z (0)  0

>> syms x
>> y = x^2*exp(x)
y=
x^2*exp(x)
>> z = int(y)
z=
x^2*exp(x)-2*x*exp(x)+2*exp(x)

14
Example 8-3. Continuation.

We require that z(0) = 0, but the function


obtained has a value of 2 at x = 0. Thus,
>> z = z - 2
z=
x^2*exp(x)-2*x*exp(x)+2*exp(x)-2

Plots of y and z are shown on the next


two slides.

15
16
17
Numerical Differentiation

Generally, numerical differentiation is


more prone to error than numerical
integration due to the nature of “sudden
changes” in differentiation.

dy y

dx x
18
Diff Command for Numerical Data
Assume that x and y have been defined at
N+1 points. A vector u with N points is
defined as
u1  y2  y1
u2  y3  y2
u3  y4  y3
  
u N  y N 1  y N
19
Diff Command for Numerical Data.
Continuation.
The following command forms u:
>> u = diff(y)
To approximate derivative,
>> yprime = diff(y)/delx
Because x and y have one more point
than yprime, they can be adjusted.
>> x = x(1:N)
>> y = y(1:N)
>> plot(x, y, x, yprime)
20
Example 8-5(a) For y = sin x,
determine numerical derivative based
on 11 points in one cycle.
>> x = linspace(0, 2*pi, 11);
>> y = sin(x);
>> delx = 2*pi/10;
>> yprime = diff(y)/delx;
>> x = x(1:10);
>> plot(x, yprime, x, cos(x),’o’)
The plots are shown on the next slide.The
approximation is “crude” as expected.
21
22
Example 8-5(b) For y = sin x, determine
numerical derivative based on 101
points in one cycle.
>> x = linspace(0, 2*pi, 101);
>> y = sin(x);
>> delx = 2*pi/100;
>> yprime = diff(y)/delx;
>> x = x(1:100);
>> plot(x, yprime, x, cos(x),’o’)
The plots are shown on the next slide.The
approximation is much better.
23
24
Numerical Integration

Two types will be studied:


1. Zero-order integration
2. First-order integration, which is also
known as the trapezoidal rule.

Assume vectors x and y that have each


been defined at N points.

25
Zero-Order Integration

z1  y1x
z2  z1  y2 x  ( y1  y2 )x
z3  z2  y3x  ( y1  y2  y3 )x
 k 
zk  zk 1  yk x    yn  x
 n 1 

26
Two Zero-Order MATLAB Commands

The two MATLAB commands for zero-


order integration are sum() and
cumsum().

>> area = delx*sum(y)

>> z = delx*cumsum(y)

27
First-Order Integration
 0  y1 
z1    x
 2 
 y1  y2 
z2  z1    x
 2 
 y2  y3 
z3  z2    x
 2 
 yk 1  yk 
zk  zk 1    x
 2 

28
Two First-Order MATLAB Commands

The two MATLAB commands for first-


order integration are trapz() and
cumtrapz().

>> area = delx*trapz(y)

>> z = delx*cumtrapz(y)

29
Example 8-6(a). Determine exact
area A for following integral:

2
A   4 x dx
3
0

4
4x 4 2
A  x   (2)  (0)  16
4 4

4 0

30
Example 8-6(b). Determine approximate
area A1 with zero-order integration
algorithm and step-size of 0.05.
>> delx = 0.05;
>> x = 0:delx:2;
>> y = 4*x.^3;
>> A1 = delx*sum(y)
A1 =
16.8100

31
Example 8-6(c). Determine approximate
area A2 with first-order integration
algorithm and step-size of 0.05.

>> delx = 0.05;


>> x = 0:delx:2;
>> y = 4*x.^3;
>> A2 = delx*trapz(y)
A2 =
16.0100

32
Example 8-7(a). Determine the exact
running integral for the following
function:
x
z   sin xdx
0

z   cos x  0
x

  cos x  ( cos 0)
 1  cos x
33
Example 8-7(b) and (c). Determine first-
order approximation with 100 points per
cycle and plot the two functions.
>> delx = 2*pi/100;
>> x = 0:delx:2*pi;
>> y = sin(x);
>> z1 = delx*cumtrapz(y);
>> plot(x, z1, x, 1 - cos(x), ‘o’)
The plots are shown on the next slide.

34
35
Example 8-8

A test is performed on a mechanical part


and the acceleration versus time is
measured and shown on the next slide.
Use MATLAB to determine and plot the
velocity and displacement as a function of
time.

36
Acceleration versus Time Data

t, s 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9

a, 0 9.05 16.37 22.22 26.81 30.33 32.93 34.76 35.95 36.59


m/s2

1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.0

36.79 36.62 36.14 35.43 34.52 33.47 32.30 31.06 29.75 28.42 27.07

37
MATLAB Analysis
>> delt = 0.1;
>> t = 0:delt:2;
>> a = [ the 21 values of a];
>> v = delt*cumtrapz(a);
>> y = delt*cumtrapz(v);
>> plot(t,a,t,v,t,y)
Additional labeling was provided and the
curves are shown on the next slide.

38
39

You might also like