Least Square Method

Post on 05-Jan-2016

42 views 2 download

description

Least Square Method. Curve Fitting. Linear Least Square Method. ตัว. ในกรณีที่มีค่าพารามิเตอร์. จำนวน. Example 1 on page 362. % Linear1.m k =[141 138 119 115]'; T = [390 500 1000 1500]'; X = [T,[1 1 1 1]']; y = k; p =inv(X'*X)*X'*y. Non Linear System of Equation. = Jacobian Matrix. - PowerPoint PPT Presentation

Transcript of Least Square Method

Least Square Method

Curve Fitting

21 mxmy Linear Least Square Method

nnn Rmxmy 21

22121

221

2 222 nnnnnnn Rxmmymyxmxmy

N

nn

N

nnnnnnn Rxmmymyxmxmy

1

2

12121

221

2 222

02221 1

21

21

1

1

2

N

n

N

nn

N

nnnn

N

nn

xmyxxmm

R

022211

22

1

2

N

nn

N

nn

N

nn

xyNmm

R

2

11

2

1111

N

nn

N

n

N

nn

N

nn

N

nnn

xxN

yxyxNm

n

2

11

2

111 1

2

2

N

nn

N

n

N

nn

N

nnn

N

n

N

nn

xxN

xyxyxm

n

n

M

iiimxy

1

21 mxmy

m M ในกรณี�ที่��มี�ค่�าพารามี�เตอร� จำ�านวน ต�ว

εmXy

mXymXyεε

TTN

nnR

1

2

N

nn

N

nnnnnnn Rxmmymyxmxmy

1

2

12121

221

2 222

02 T1

2

XmXym

N

n

R

0 mXyX T

0 mXXyX TT

yXXXm TT 1

Example 1 on page 362

21 pTpk

T]115 119 138 141[k

T]1500 1000 500 390[T

2

1

21

]1 [ p

pT

pTpk

y'XX'Xp 1

% Linear1.mk =[141 138 119 115]';T = [390 500 1000 1500]';X = [T,[1 1 1 1]'];y = k;p =inv(X'*X)*X'*y

Non Linear System of Equation

0,...,,

0,...,,

0,...,,

21

212

211

nn

n

n

xxxf

xxxf

xxxf

0... ,,1,

2

,,21,2

1

,,11,1,1,

n

ikinin

ikii

ikiiikik

x

fxx

x

fxx

x

fxxff

n

ikin

iki

iki

n

ikin

iki

ikiik

x

fx

x

fx

x

fx

x

fx

x

fx

x

fxf

,

1,2

,1,2

1

,1,1

,,

2

,,2

1

,,1,

...

...

sym

...

...

...

,

2

,

1

,

,2

2

,2

2

,2

,1

2

,1

1

,1

n

ininin

n

iii

n

iii

x

f

x

f

x

f

x

f

x

f

x

fx

f

x

f

x

f

Z

= Jacobian Matrix

inii

Ti

iniiT

i

iniiT

i

fff

xxx

xxx

,,2,1

1,1,21,11

,,2,1

...

...

...

F

x

x

1 iiT

i xZxZF

iT

ii xZFZx

11

Example

03

1

3

112

27

10

9

2

3

52

03

2

3

11

27

8

9

2

3

42

2

212121

2

212121

xxxxxx

xxxxxx

2

,2

1

,2

2

,1

1

,1

x

f

x

f

x

f

x

f

ii

ii

Z

2121212

,2

2121211

,2

2121212

,1

2121211

,1

3

1

3

11

3

22

27

20

27

10

9

2

3

52

3

1

3

11

3

22

9

4

27

10

9

2

3

52

3

2

3

11

3

4

27

16

27

8

9

2

3

42

3

2

3

11

3

2

9

4

27

8

9

2

3

42

xxxxxxx

f

xxxxxxx

f

xxxxxxx

f

xxxxxxx

f

i

i

i

i

clear; c1 = 1; c2 = 1; %First Guess NONLINEAR1.m

for i=1:10

X = [c1;c2];

f1 = 2*(4/3-2/9*c1-8/27*c2)*(c1+c2)+(1-1/3*c1-2/3*c2)^2;

f2 = 2*(5/3-2/9*c1-10/27*c2)*(c1+2*c2)+(1+1/3*c1+1/3*c2)^2;

F = [f1;f2];

df1c1 = 2*(4/3-2/9*c1-8/27*c2)- 4/9*(c1+c2)- 2/3*(1-1/3*c1-2/3*c2);

df1c2 = 2*(4/3-2/9*c1-8/27*c2)- 16/27*(c1+c2)- 4/3*(1-1/3*c1-2/3*c2);

df2c1 = 2*(5/3-2/9*c1-10/27*c2)- 4/9*(c1+2*c2)+ 2/3*(1+1/3*c1+1/3*c2);

df2c2 = 4*(5/3-2/9*c1-10/27*c2)- 20/27*(c1+2*c2)+ 2/3*(1+1/3*c1+1/3*c2);

Z = [df1c1,df1c2;df2c1,df2c2];

W = -F+Z*X;

Xnew = inv(Z)*W;

c1 =Xnew(1);c2= Xnew(2);

fprintf(' %g %g %g\n',i,c1,c2);

end

Non Linear Least Square εmXy

02 T1

2

m

XmXy

m

N

n

R

0

T

mXym

X

Numerically

mXymXyεε

TTN

nnR

1

2

other

*mm

m

*mX*mXy

Expand {y} by Taylor

m

*mXH

*mXyHHH*mm T1T

*mmH*mX y

*mmHH*mXH TT y

Example : Stress Relaxation

54321 expexp at-aat-ay = a

Time Force

.000001, 3.083900

.016670, 1.647600

.033330, 1.176900

.050000, .935450

.066670, .784570

.083330, .681970

.100000, .609550

Example : Stress Relaxation

54321 expexp at-aat-ay = a

2

,2

1

,2

2

,1

1

,1

x

f

x

f

x

f

x

f

ii

ii

Z

54321 a

f

a

f

a

f

a

f

a

f iiiiiH

*mXyHHH*mm T1T

m

*mXH

54321 expexp at-aat-ay = a

54321 a

f

a

f

a

f

a

f

a

f iiiiiH

t-aa

fi2

1

exp

1 5

= a

fi

t-ata= a

fi21

2

exp

t-a=a

fi4

3

exp

t-ata= a

fi43

4

exp

Stess.m

% Parameters Estimation% Using Stress Relaxation Data% Five parametersclear; clc; clf;Data= ...[ 1, .000001, 3.083900 2, .016670, 1.647600 3, .033330, 1.176900 4, .050000, .935450 5, .066670, .784570 6, .083330, .681970 7, .100000, .609550 8, .116670, .555230 9, .133330, .506950 10, .150000, .470740 20, .316670, .289690 30, .483330, .223300 40, .650000, .181050 50, .816670, .156910 60, .983330, .138810 70, 1.150000, .126740 80, 1.316700, .114670 90, 1.483300, .108630 100, 1.650000, .102600 110, 1.816700, .090530 120, 1.983300, .084490 130, 2.150000, .084490 140, 2.316700, .078460 150, 2.483300, .078460 160, 2.650000, .078460 170, 2.816700, .072420 180, 2.983300, .072420 190, 3.150000, .066390 200, 3.316700, .066390 220, 3.650000, .060350 240, 3.983300, .060350 260, 4.316700, .054320 280, 4.650000, .060350 300, 4.983300, .048280 350, 5.816700, .048280 400, 6.650000, .048280 500, 8.316700, .042250 600, 9.983300, .036210];

t = Data(:,2);y = Data(:,3)*1000/224.8089;y = y/y(1);plot(t,y,'ro');legend('Data','Fit');xlabel('Time');ylabel('Force');title ('Non Linear Regression');axis([min(t) round(max(t)) 0 1]);hold on;Plothandle = plot(t,y,'-','EraseMode','xor');

a =[10;10;10;1;1]; % First Guess of three parametersda =1; i=0;while da>1e-20 ym = a(1)*exp(-a(2)*t)+a(3)*exp(-a(4)*t)+a(5); dyda1 = exp(-a(2)*t); dyda2 = -a(1)*t.*exp(-a(2)*t); dyda3 = exp(-a(4)*t); dyda4 = -a(3)*t.*exp(-a(4)*t); dyda5 = 1+zeros(size(t));

Jacob = [dyda1,dyda2,dyda3,dyda4,dyda5]; anew = a +0.1*inv(Jacob'*Jacob)*Jacob'*(y-ym); da = norm(anew-a); a = anew; i=i+1; fprintf( 'Iter = %g Par = %g %g %g %g%g\n',i,a(1),a(2),a(3),a(4),a(5)); set (Plothandle,'ydata',ym); drawnow; hold off;end

ybar = mean(y); SSr = sum((ym-ybar).^2);Syy = sum((y-ybar).^2); R2 = SSr/Syy;fprintf( ' Parameter = %g %g %g %g %g\n',a(1),a(2),a(3),a(4),a(5));fprintf( ' R_square = %g \n',R2);