Upload
gerald-townsend
View
216
Download
0
Tags:
Embed Size (px)
Citation preview
Korea UniversityComputer Networks Research Lab.
5. Nonlinear Functions of Several Variables
Jieun Yu ([email protected]) Kyungsun Kwon ([email protected])
Kyunghwi Kim ([email protected])Sungjin Kim ([email protected])Computer Networks Research Lab.
Dept. of Computer Science and EngineeringKorea University
2
Contents Introduction Newton’s Method for Nonlinear Systems Fixed-Point Iteration for Nonlinear Systems Minimum of a Nonlinear Function of Several Variables MATLAB’s Methods Case Study
3
Introduction
Chapter 2
Chapter 3,4
Chapter 5
Chapter 1
4
Introduction A zero of a nonlinear function of a single variable Nonlinear functions of several variables The latter problem is much more difficult
Newton’s method is applicable to this problem as well as that of a single variable
Korea UniversityComputer Networks Research Lab.
5.1 Newton’s Method for Nonlinear Systems
6
Newton’s Method Tangent line function
Iteration form
Tangent plane function
Iteration using r, s
)(')()()( 000 xfxxxfxf
)('
)(
0
001 xf
xfxx
),()(
),()(),(),(
),()(
),()(),(),(
000
00000
000
00000
yxgyy
yxgxxyxgyxg
yxfyy
yxfxxyxfyxf
y
x
y
x
syy
rxx
0
0
7
Newton’s Method (cont’) Step1
Step2
),(),(),(
),(),(),(
000000
000000
yxgyxgsyxgr
yxfyxfsyxfr
yx
yx
syy
rxx
01
01
8
5.1.1 Matrix-Vextor Notation Step1
Step2
),(
),(
),(),(
),(),(
00
00
0000
0000
yxg
yxf
s
r
yxgyxg
yxfyxf
yx
yx
)(),()( oldnewoldold xxywherexFyxJ
s
r
y
x
y
x
0
0
1
1
yxx oldnew
9
Ex5.1 Intersection of a Circle and a Parabola
yxyxg
yxyxf
2
22
),(
1),( ( Circle )
( Parabola )
10
Ex5.1 Intersection of a Circle and a Parabola
Step1– Partial derivative
– Initial estimate (x0,y0) = (1/2, 1/2)
),(
),(
12
22
00
00
yxg
yxf
s
r
x
yx
4/1
2/1
11
11
s
r
8/1,8/3 sr
11
Ex5.1 Intersection of a Circle and a Parabola
Step2– The second approximate solution (x1,y1)
8/5
8/7
8/1
8/3
2/1
2/1
0
0
1
1
s
r
y
x
y
x
12
Ex5.1 Intersection of a Circle and a Parabola
iteration
x y | |
0 0.5 0.5
1 0.875 0.625 0.39528
2 0.79067 0.61806
0.084611
The true solution is (x, y) = (0.78615, 0.61803)
• Initial estimate and 2 iterations of Newton’s method
13
5.1.2 MATLAB Function for Newton’s Method for Nonlinear
Systems
'__
)(\)(
)()(
yoldxnewx
xFxJFy
xFyxJF
\ operation -> 100p
14
Example 5.2 a System of Three Equations
04),,(
,04/1),,(
,01),,(
322
213213
23
213212
23
22
213211
xxxxxxf
xxxxxf
xxxxxxf
322
21
23
21
23
22
21
4
4/1
1
)(
xxx
xx
xxx
xF
422
202
222
)(
21
31
321
xx
xx
xxx
xJ
15
Example 5.2 a System of Three Equations
16
Example 5.3Intersection of a Circle and an
Ellipse
02/3
0343
22
22
yx
yx
yx
yxyxJ
22
86),(
x
y
-1 -0.5 0 0.5 1-1
-0.5
0
0.5
1
]5.05.0[0 x
17
Example 5.3Intersection of a Circle and an
Ellipse
18
Example 5.4Positioning a Robot Arm
• the end of the first link(x1,y1)
• the end of the second link(x2,y2)
We need to solve
)sin(
),cos(
112
212
dyy
dxx
0 2 4 6 80
2
4
6
8
10
10
α
β
(x1,y1)
(x2,y2)
(10,4)
)sin()sin(
),cos()cos(
212
211
ddp
ddp
)sin(),cos( 1111 dydx
19
Example 5.4Positioning a Robot Arm
Find the angles so that the arm will move to the point(10,4)
– The length of link (d1,d2) = (5, 6)
– initial angles(α , β) = (0.7,0.7)
– The system of equations
04)sin(6)sin(6
,010)cos(6)cos(5
Korea UniversityComputer Networks Research Lab.
5.2 Fixed-Point Iteration For Nonlinear Systems
21
5.2 Fixed-Point Iteration For Nonlinear Systems
Ex 5.5 Fixed-Point Iteration for a System of two Nonlinear Function– Consider the problem of finding a zero of the system
0110),(
,0510),(
2321212
2131211
xxxxxf
xxxxxf
– Coverting ),,( 2111 xxgx ),( 2122 xxgx form
1.01.01.0
,51.01.03212
2311
xxx
xxx
– The graph of the equations and01 f 02 f
22
5.2 Fixed-Point Iteration For Nonlinear Systems
1x
2x
0.2 0.4 0.6 0.8 100
0.2
0.4
0.6
101 f
02 f
0.8
Iteration0 0.60000 0.60000
1 0.53840 0.18160 0.42291
2 0.50255 0.15444 0.044975
3 0.50275 0.15062 0.0038204
4 0.50235 0.15062 0.00039661
5 0.50238 0.15058 4.9381e-05
1x 2x x
23
5.2 Fixed-Point Iteration For Nonlinear Systems
24
Using MATLAB
5.2 Fixed-Point Iteration For Nonlinear Systems
% Actually using function : Fixed_pt_sys >> x=Fixed_pt_sys(@ex5_5, [0.6 0.6], 0.00001, 5)
function G = ex5_5(x)
G = [ (-0.1*x(1)^3 + 0.1*x(2) + 0.5)
(0.1*x(1) + 0.1*x(2)^3 + 0.1)];
25
Result
5.2 Fixed-Point Iteration For Nonlinear Systems
26
5.2 Fixed-Point Iteration For Nonlinear Systems
Ex 5.5 Fixed-Point Iteration for a System of Three Nonlinear Function
07540),,(
,05020),,(
,020050),,(
322
213213
232
213212
23
221
213211
xxxxxxf
xxxxxxf
xxxxxxxf
– Coverting this system to a fixed point iteration form
7540
,5020
,20050
22
213
23
212
23
22
211
xxx
xxx
xxxx
)(xgx
27
5.2 Fixed-Point Iteration For Nonlinear Systems
875.1025.0025.0),,(
,5.205.005.0),,(
,402.002.002.0),,(
22
2132133
23
2132122
23
22
2132111
xxxxxgx
xxxxxgx
xxxxxxgx
– Using the preceding MATLAB function and a starting estimate of (2, 2, 2)
Iteration0 2.0000 2.0000 2.00001 3.7600 2.1000 -1.6750 4.07592 3.5729 1.6528 -1.4113 0.55183 3.6502 1.7621 -1.4876 0.154034 3.6272 1.7232 -1.4643 0.0509035 3.6346 1.7350 -1.4719 0.01158996 3.6323 1.7312 -1.4695 0.00506967 3.6330 1.7324 -1.4702 0.00160318 3.6328 1.7320 -1.4700 0.000508669 3.6328 1.7321 -1.4701 0.0001611710 3.6328 1.7321 -1.4701 5.1098e-05
1x 2x x3x
28
5.2 Fixed-Point Iteration For Nonlinear Systems Using MATLAB
function G = ex5_6(x)G = [ (-0.02*x(1)^2 - 0.02*x(2)^2 - 0.02*x(3)^2 + 4) (-0.05*x(1)^2 - 0.05*x(3)^2 + 2.5) (0.025*x(1)^2 + 0.025*x(2)^2 - 1.875)];
% Actually using function : Fixed_pt_sys >> x=Fixed_pt_sys(@ex5_6, [2 2 2], 0.00001, 10)
29
5.2 Fixed-Point Iteration For Nonlinear Systems
Result
30
5.2 Fixed-Point Iteration For Nonlinear Systems
If g(x) maps D into D, then g has a fixed point in D. In other words, if g(x) is in D whenever x is in D, then there is some point p in D such that p=g(p)
If sequence of approximations to the fixed point1)(
pG
),( )()1( kk xgx
intial point )0(x is sufficiently close to the fixed point p
If there is a constant K<1 such that for every x in D
n
K
x
xg
i
i
)( For each i= 1,….,n and each j=1,…,n,
)0()1()(
1xx
K
Kpx
mm
A bound on the error at the mth step is given by
31
5.2 Fixed-Point Iteration For Nonlinear Systems
Example 5.5
),(1.01.01.0
),,(51.01.0
2123212
2112311
xxgxxx
xxgxxx
First check to make sure that g(x) maps the retangle 10,10 21 xx
That is, for 1,0 21 xx we have 1,0 21 gg
In fact 6.04.0 1 g and 3.01.0 2 g
22
2
2
1
2
2
121
1
1 3.0)(
,1.0)(
,1.0)(
,3.0)(
xx
xg
x
xg
x
xgx
x
xg
Which are all less than 0.5 (for ), as is required for the corollary1,0 21 xx
Korea UniversityComputer Networks Research Lab.
5.3 Minimum of a Nonlinear Function of Several
Variables
33
Example 5.7 and , we define
The minimum value of h(x,y) is 0, which occurs when f(x,y)=0 and g(x,y)=0.
The derivatives for the gradient are
1),( 22 yxyxf yxyxg 2),(
22222 )()1(),( yxyxyxh
).1)((22)1(2),(
,2)(22)1(2),(222
222
yxyyxyxh
xyxxyxyxh
y
x
34
Table 5.8 Result of ffmin
Table 5.8 Approximate zeros at each step of iteration
Step x y Change
0 0.5 0.5
1 0.875 0.625 -0.26831
2 0.74512 0.61133 -0.035987
3 0.79251 0.61902 -0.0079939
4 0.78446 0.6178 -0.00019414
5 0.78657 0.6181 -1.3631e-05
35
5.3.1 MATLAB Function for Minimization by Gradient
Descent
36
5.3.1 MATLAB Function for Minimization by Gradient
Descent
function dh = ex_min_g(x)dh = [ -(4*(x(1)^2 + x(2)^2 - 1)*x(1) + 4*(x(1)^2 - x(2))*x(1)) -(4*(x(1)^2 + x(2)^2 - 1)*x(2) - 2*(x(1)^2 - x(2)))]';
function h = ex_min(x)h = (x(1)^2 + x(2)^2 - 1)^2 + (x(1)^2 - x(2) )^2;
xmin = ffmin(@ex_min, @ex_min_g, [0.5 0.5], 0, 5) 0 0.5000 0.5000
1.0000 0.8750 0.6250 -0.2683
2.0000 0.7451 0.6113 -0.0360
3.0000 0.7925 0.6190 -0.0080
4.0000 0.7845 0.6178 -0.0002
5.0000 0.7866 0.6181 -0.0000
37
Example 5.8 Given three points in the plane, we wish to find the locati
on of the point P=(x,y) sp that the sum of the squares of the distances from P to the three given points, is as small as possible.
),(),,(),,( 332211 yxandyxyx
.2226)(2)(2)(2),(
,2226)(2)(2)(2),(
.)()()()()()(),(
321321
321321
23
23
22
22
21
21
yyyyyyyyyyyxf
xxxxxxxxxxyxf
yyxxyyxxyyxxyxf
y
x
38
Figure 5.7
Korea UniversityComputer Networks Research Lab.
5.4 MATLAB’s Methods
40
MATLAB’s METHODS FMINS
– finds the minimum of a scalar function of several variables, starting at an initial estimate
– Note• The fmins function was replaced by fminsearch in Release 11 (MAT
LAB 5.3).• In Release 12 (MATLAB 6.0), fmins displays a warning message an
d calls fminsearch – Syntax
• x = fmins('fun',x0) • x = fminsearch(fun,x0)
– starts at the point x0 and finds a local minimum x of the function described in fun.
– x0 can be a scalar, vector, or matrix.
41
MATLAB’s METHODS Examples
– A classic test example for multidimensional minimization is the Rosenbrock banana function
– The traditional starting point is (-1.2,1). The M-file banana.m defines the function.
– The minimum is at (1,1) and has the value 0.
a
Korea UniversityComputer Networks Research Lab.
5.5 Nonlinear system: Case Study
43
Nonlinear system: Case Study
The analytical model to compute the 802.11 DCF throughput
44
Nonlinear system: Case Study
The stationary probability τ – The station transmits a packet in a generic slot time
The conditional collision probability p
aa
45
Nonlinear system: Case Study
Two Equations represent a nonlinear system in the two unknowns τ and p
W = Cwmin
m = Maximum backoff stageN = The number of stations
46
Nonlinear system: Case Study
Solve the nonlinear problem of two variables– Assumptions
• W = 32• m = 3 • N = 3, 10, 50
– Newton’s Method and fminsearch(fun,x0)
Problem1 by Newton’s Method (W=32, m = 3, N =3)
64τ p^4 + 34pτ - 33τ - 4p +2 =0 (1)
p = 1-(1- τ )^2 (2)
*Equations (1) and (2) is nonlinear system
47
Nonlinear system: Case Study
• function f = newton_case1(x)f = [ (64*x(2)*x(1)^4 + 34*x(1)*x(2) -33*x(2) -4*x(1) +2) (x(2)^2 - 2*x(2) + x(1)) ];
• function df = newton_case1_j(x)df = [ (256*x(2)*x(1)^3 + 34*x(2) - 4) (64*x(1)^4 + 34*x(1)-33) 1 ( 2*x(2) -2) ];
τ = 0.4165 p = 0.6595
aa
48
Nonlinear system: Case Study
Problem1 by fminsearch(fun,x0) (W=32, m = 3, N =3)
– function h = fminsearch_case1(x)h = (64*x(2)*x(1)^4 + 34*x(1)*x(2) -33*x(2) -4*x(1) +2)^2 + ((1-x(2))^2 -1 +x(1))^2;
49
Nonlinear system: Case Study
Problem2 by Newton’s Method (W=32, m = 3, N =10)64τ p^4 + 34pτ - 33τ - 4p +2 =0 (1)
p = 1-(1- τ )^9 (2) *Equations (1) and (2) is nonlinear system
– τ = 0.1259– p = 0.7021
– dd
50
Nonlinear system: Case Study
Problem2 by fminsearch(fun,x0) (W=32, m = 3, N =10)
– function h = fminsearch_case1(x)h = (64*x(2)*x(1)^4 + 34*x(1)*x(2) -33*x(2) -4*x(1) +2)^2 + ((1-x(2))^2 -1 +x(1))^9;
51
Nonlinear system: Case Study
Problem3 by Newton’s Method (W=32, m = 3, N =50)64τ p^4 + 34pτ - 33τ - 4p +2 =0 (1)
p = 1-(1- τ )^49 (2) *Equations (1) and (2) is nonlinear system
– τ = 0.0427– p = 0.8823
– dd
52
Nonlinear system: Case Study
Problem2 by fminsearch(fun,x0) (W=32, m = 3, N =50)
– function h = fminsearch_case1(x)h = (64*x(2)*x(1)^4 + 34*x(1)*x(2) -33*x(2) -4*x(1) +2)^2 + ((1-x(2))^2 -1 +x(1))^49;