Upload
porter-rossiter
View
223
Download
0
Tags:
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