32
Calculus S. Awad, Ph.D. M. Corless, M.S.E.E. E.C.E. Department University of Michigan- Dearborn Math Review with Matlab: Differentiation

Calculus S. Awad, Ph.D. M. Corless, M.S.E.E. E.C.E. Department University of Michigan-Dearborn Math Review with Matlab: Differentiation

Embed Size (px)

Citation preview

Calculus

S. Awad, Ph.D.

M. Corless, M.S.E.E.

E.C.E. Department

University of Michigan-Dearborn

Math Review with Matlab:

Differentiation

U of M-Dearborn ECE DepartmentMath Review with Matlab

2

Calculus: Differentiation

Differentiation General Derivatives Diff Command Differentiation Example Product Rule Example Chain Rule Example Partial Differentiation Partial Derivative Example Total Difference Approximation Sensitivity Analysis Example

U of M-Dearborn ECE DepartmentMath Review with Matlab

3

Calculus: Differentiation

General Derivatives In general, derivatives are used to determine how

quickly or slowly a function varies with respect to a changing variable

For a two dimensional continuous curve, the derivative can be thought of as representing the instantaneous slope of the curve with respect to the changing variable

The derivative operation is a limiting process defined as:

x

xfxxf

dx

xdfxf

x

)()(lim

)()(

0

U of M-Dearborn ECE DepartmentMath Review with Matlab

4

Calculus: Differentiation

Differential Pairs A few common differential pairs are shown below

Note that a is a constant

1)( aa axxdx

d axax aeedx

d)(

xax

dx

d 1)ln(

)cos()sin( axaaxdx

d )sin()cos( axaax

dx

d

)(sec)tan( 2 axaaxdx

d 22

1tanxa

a

a

x

dx

d

22

1 1sin

xaa

x

dx

d

22

1 1cos

xaa

x

dx

d

U of M-Dearborn ECE DepartmentMath Review with Matlab

5

Calculus: Differentiation

Higher Order Derivatives Higher order derivatives can also be defined

The second derivative of a function f(x) is defined as:

x

xfxxfxf

dx

xfdx

)()(lim)(

)(02

2

The nth derivative of a function f(x) is defined as:

x

xfxxfxf

dx

xfd nn

x

nn

n

)()(lim)(

)( )1()1(

0

)()1(

)1(

U of M-Dearborn ECE DepartmentMath Review with Matlab

6

Calculus: Differentiation

Diff Command The diff command can be used to differentiate

symbolic variables

diff(s) differentiates s with respect to the Matlab default free variable

diff(s,v) differentiates s with respect to the free variable v

diff(s,v,n) differentiates s n times with respect to the free variable v (n must be positive)

U of M-Dearborn ECE DepartmentMath Review with Matlab

7

Calculus: Differentiation

Differentiation Example Given the sinusoidal

function f(x): )2sin()( xxf

1) Use Matlab to determine the first derivative of f(x)

3) Use Matlab to determine the second, third, and fourth derivatives of f(x)

2) Plot f(x) and its first derivative to verify that the first derivative of f(x) corresponds to the scaled instantaneous slope of f(x)

U of M-Dearborn ECE DepartmentMath Review with Matlab

8

Calculus: Differentiation

First Derivative Use the diff command to

determine the first derivative thus verifying the differential pair:

» syms x» f=sin(2*x); )2sin()( xxf

)cos()sin( axaaxdx

d

)2cos(2)(

xdx

xdf

» dfdx=diff(f) dfdx = 2*cos(2*x)

U of M-Dearborn ECE DepartmentMath Review with Matlab

9

Calculus: Differentiation

Slope Analogy Plot f(x)=sin(2x) and

its df/dx=2cos(2x)

» subplot(2,1,1)» ezplot(f)» subplot(2,1,1)» ezplot(f,0,pi)» grid on» subplot(2,1,2)» ezplot(dfdx,0,pi)» grid on

Show relationship between slope of f(x) and the derivative

0)(

0f(x) slope

fx

xdf

max)(

maxf(x) slope

fx

xdf

min)(

minf(x) slope

fx

xdf

0)(

0f(x) slope

fx

xdf

U of M-Dearborn ECE DepartmentMath Review with Matlab

10

Calculus: Differentiation

Second Derivative

Calculate second derivative from the first derivative

» d2fdx2=diff(dfdx)d2fdx2 =-4*sin(2*x)

Calculate second derivative f(x) by passing 2 as the number of times to differentiate

Both methods give the same result!

)2sin()( xxf )2cos(2)(

xdx

xdf

» d2fdx2=diff(f,2)d2fdx2 =-4*sin(2*x)

)2sin(4)(

2

2

xdx

xfd

U of M-Dearborn ECE DepartmentMath Review with Matlab

11

Calculus: Differentiation

Higher Order Differentiation Calculate the third and fourth derivatives

» d3fdx3=diff(f,3)d3fdx3 =-8*cos(2*x)

» d4fdx4=diff(f,4)d4fdx4 =16*sin(2*x)

)2sin(4)(

2

2

xdx

xfd

)2cos(8)(

3

3

xdx

xfd

)2sin(16)(

4

4

xdx

xfd

U of M-Dearborn ECE DepartmentMath Review with Matlab

12

Calculus: Differentiation

Product Rule The Product Rule is used to differentiate products of

functions of the same variable and is defined as:

dx

xduxv

dx

xdvxuxvxu

dx

d )()(

)()()()(

uvvuuv )(

The Product Rule can be expressed in shorthand notation as:

U of M-Dearborn ECE DepartmentMath Review with Matlab

13

Calculus: Differentiation

Product Rule Example Use Matlab to verify the Product Rule

dx

xduxv

dx

xdvxuxvxu

dx

d

dx

xdf )()(

)()()()(

)(

1) Create two arbitrary functions u(x) and v(x) both dependent on x

2) Let f(x)=u(x)v(x)

3) Use Matlab to differentiate f(x) and verify that:

U of M-Dearborn ECE DepartmentMath Review with Matlab

14

Calculus: Differentiation

Product Rule Verification Define u and v as

functions of x » syms x» u=sym('u(x)');» v=sym('v(x)');

Create f as the product of u and v

Differentiate f and verify the Product Rule

uvvuuv )(

» f=u*vf =u(x)*v(x)

» dfdx=diff(f,x);» pretty(dfdx) /d \ /d \ |-- u(x)| v(x) + u(x) |-- v(x)| \dx / \dx /

U of M-Dearborn ECE DepartmentMath Review with Matlab

15

Calculus: Differentiation

Chain Rule Example

dx

xdu

du

udf

dx

xdf )()()(

The Chain Rule is used to differentiate a function of a function and is defined as:

2) Differentiate f(x) with respect to x

23)()( bxaxf

3) Use Matlab to verify the result

1) Given f(x) where a and b are constants:

U of M-Dearborn ECE DepartmentMath Review with Matlab

16

Calculus: Differentiation

Perform Chain Rule

23)()( bxaxf

2

3

)()(

)(

xuxf

bxaxu

Break into sections and differentiate

23)(

)(2)(

bxdx

xdu

xudu

xdf

dx

xdu

du

udf

dx

xdf )()()(

23 32)(

bxbxadx

xdf

236)(

bxbxadx

xdf

Use the chain rule to differentiate f(x)

U of M-Dearborn ECE DepartmentMath Review with Matlab

17

Calculus: Differentiation

Verify Chain Rule Result

The result is easily verified in Matlab

» syms a b x» f=(a+b*x^3)^2;» dfdx=diff(f) dfdx = 6*(a+b*x^3)*b*x^2 236

)(bxbxa

dx

xdf

23)()( bxaxf

U of M-Dearborn ECE DepartmentMath Review with Matlab

18

Calculus: Differentiation

To signify that a derivative is with respect to one variable that another variable exists use the notations:

First Partial Derivative

of f(x,y) with

respect to x:(y held constant)

First Partial Derivative

of f(x,y) with

respect to y:(x held constant)

Partial Differentiation Used to determine the rate of changes for functions of

multiple changing variables

Consider a function f(x,y) which is dependent on two variables x and y

x

f

y

f

U of M-Dearborn ECE DepartmentMath Review with Matlab

19

Calculus: Differentiation

Second Partial Derivatives Second

partial derivatives of f(x,y) can be defined as:

x

f

xx

f2

2

y

f

yy

f2

2

y

f

xyx

f2

x

f

yxy

f2

Provided that the second partial derivatives are continuous at the point of question, the following relationship holds true:

xy

f

yx

f

22

U of M-Dearborn ECE DepartmentMath Review with Matlab

20

Calculus: Differentiation

Partial Derivative Example Given the function:

Use Matlab to determine:

1) The first partial derivatives:

2) The second partial derivatives:

3) Verify the relationship:xy

f

yx

f

22

xy

f

xy

f

y

f

x

f

22

2

2

2

2

,,,

y

f

x

f

,

3232),( yyxyxf

U of M-Dearborn ECE DepartmentMath Review with Matlab

21

Calculus: Differentiation

» syms x y;» f=2*x^3*y^2 + y^3;

3232),( yyxyxf

226 yxx

f

23 34 yyxy

f

First Derivatives The standard diff command is used to determine the

first partial derivatives in Matlab

» dfdy = diff(f,'y') dfdy =4*x^3*y+3*y^2

» dfdx = diff(f) dfdx =6*x^2*y^2

U of M-Dearborn ECE DepartmentMath Review with Matlab

22

Calculus: Differentiation

Second Derivatives The second derivatives with respect to the same variable

can be found by instructing setting the n parameter to 2

3232),( yyxyxf 226 yxx

f

23 34 yyx

y

f

» d2fdx2 = diff(f,2)d2fdx2 =12*x*y^2

22

2

12xyx

f

yxy

f64 3

2

2

» d2fdx2 = diff(f,'y',2)

d2fdx2 =4*x^3+6*y

U of M-Dearborn ECE DepartmentMath Review with Matlab

23

Calculus: Differentiation

Second Derivatives The second derivatives with respect to different variables

must be calculated from the first derivatives

» d2fdxy = diff( dfdy, 'x')

d2fdxy =12*x^2*y » d2fdyx = diff( dfdx, 'y')

d2fdyx =12*x^2*y yx

xy

f

yx

f 222

12

226 yxx

f

23 34 yyxy

f

Verified!

U of M-Dearborn ECE DepartmentMath Review with Matlab

24

Calculus: Differentiation

Total Difference Approximation

Given a function f(x,y) dependent upon the two variables x and y

Suppose that small changes x in x and y in y occur simultaneously

yy

yxfx

x

yxff

),(),(

As a result, f changes to f + f which can be approximated as:

U of M-Dearborn ECE DepartmentMath Review with Matlab

25

Calculus: Differentiation

A common application of sensitivity analysis is to examine the change in a digital filter’s frequency response and stability due to coefficient quantization

Sensitivity Analysis The total difference approximation can be extended to

a function of N variables where:

N

kk

k

xx

ff

1

The total difference approximation can be used to perform sensitivity analysis of analog and digital systems

U of M-Dearborn ECE DepartmentMath Review with Matlab

26

Calculus: Differentiation

Sensitivity Analysis Example Given a circuit with a resistance

R=1k and initial current I=100mA flowing through it:

1) Approximate the total change in power if : Current may increase by 2% Resistance may increase by 5%

2) Calculate the approximate new power and actual new power when both I and R change by the above percents

The power, P, in Watts, absorbed by the resistor can be calculated using the equation: RIP 2

I R

U of M-Dearborn ECE DepartmentMath Review with Matlab

27

Calculus: Differentiation

Sensitivity Equations Create symbolic expressions to determine the approximate

change in power given known changes in resistance, R, and current, I.

» syms I R Idelta Rdelta» P=I^2*R; RIP 2

IRdI

dP2 2I

dR

dP

IRIIRP 22

» dPdI=diff(P,'I')dPdI =2*I*R» dPdR=diff(P,'R')dPdR =I^2

» Pdelta = Rdelta*dPdR + Idelta*dPdIPdelta =Rdelta*I^2+2*Idelta*I*R

U of M-Dearborn ECE DepartmentMath Review with Matlab

28

Calculus: Differentiation

Determine Initial Power Create symbolic variables to represent the desired

conditions to analyze Describe R and I in terms of percent changes

» I1 = sym(0.1); % I=100mA» R1 = sym(1000); % R=1k Ohms» Idelta1 = sym(0.02*I1); % I changes 2%» Rdelta1 = sym(0.05*R1); % R changes 5%

» P1_sym = subs(P,{'R','I'},{'R1','I1'})P1_sym =I1^2*R1

W10INITIALP» P1initial= double(eval(P1_sym))P1initial =10

U of M-Dearborn ECE DepartmentMath Review with Matlab

29

Calculus: Differentiation

Sensitivity Approximation Substitute the desired parameters into the general

symbolic expressions to determine approximate P

» P1delta_sym = subs(Pdelta,... {'R','I','Rdelta','Idelta'},... {'R1','I1','Rdelta1','Idelta1'}) P1delta_sym =Rdelta1*I1^2+2*Idelta1*I1*R1 » P1delta_approx = double(eval(P1delta_sym))P1delta_approx = 0.9 mW 900 APPROXP

U of M-Dearborn ECE DepartmentMath Review with Matlab

30

Calculus: Differentiation

New Power Calculations Evaluate approximated new total power

Calculate the actual new power

» P1final_approx = double(eval(P1_sym+P1delta_sym))P1final_approx = 10.9000

» P1final_sym = subs(P,{'R','I'},...{'(R1+Rdelta1)','(I1+Idelta1)'})

P1final_sym =(I1+Idelta1)^2*(R1+Rdelta1) » P1final_act = double(eval(P1final_sym))P1final_act = 10.9242

W9.10 APPROXNEWP

W9242.10 ACTUALNEWP

U of M-Dearborn ECE DepartmentMath Review with Matlab

31

Calculus: Differentiation

Compare Results Notice that the approximated power and actual new power

are very close

Although this is a simplistic example, it demonstrates how the total difference approximation can be used to predict the response of more complicated systems without performing complex simulations

W9242.10 W9.10 ACTUALNEWAPPROXNEW PP

The smaller the values of R and I are, the more accurate that P will be

U of M-Dearborn ECE DepartmentMath Review with Matlab

32

Calculus: Differentiation

Summary Differentiation is used to determine the rate at which a

function changes with respect to a changing variable

The symbolic diff command can be used to differentiate functions. The user can specify the variable to differentiate with respect to and the number of times to differentiate

Partial differentiation is used to determine the rate of changes for functions of multiple changing variables

Total difference approximation and sensitivity analysis are used to approximate changes in a function based partial derivatives and on fixed changes in variables