ปฏิบัติการคอมพิวเตอร์ เรื่อง ...

22
ปปปปปปปปปปปปปปปปปปปปป ปปปปปป ปปปปปปปปปปปปป ปปปปปป อ.ออ.อออออ อออออออ อออออออออออออออออออออออออ อออออออออออออออออออออออออออ

Upload: najila

Post on 06-Jan-2016

40 views

Category:

Documents


0 download

DESCRIPTION

ปฏิบัติการคอมพิวเตอร์ เรื่อง ระบบสมการหลายตัวแปร. อ . ดร . ชโล ธร ธรรมแท้ สาขาวิชาวิศวกรรมเครื่องกล มหาวิทยาลัยเทคโนโลยี สุร นารี. Linear Systems: GAUSS Elimination. ปัญหา n สมการ - n ตัวแปร. หรือเขียนในรูป [A]{x} ={b}. GAUSS Elimination. กำจัดไปข้างหน้า - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: ปฏิบัติการคอมพิวเตอร์  เรื่อง  ระบบสมการหลายตัวแปร

ปฏิ�บั�ติ�การคอมพิ�วเติอร� เร��อง ระบับัสมการหลายติ�วแปร

อ.ดร. ชโลธร ธรรมแท้� สาขาวิ�ชาวิ�ศวิกรรมเคร��องกล มหาวิ�ท้ยาล�ย

เท้คโนโลย�ส�รนาร�

Page 2: ปฏิบัติการคอมพิวเตอร์  เรื่อง  ระบบสมการหลายตัวแปร

Linear Systems: GAUSS Elimination

ปั�ญหา n สมการ - n ตั�วิแปัร

หร�อเขี�ยนในร�ป [A]{x}={b}

Page 3: ปฏิบัติการคอมพิวเตอร์  เรื่อง  ระบบสมการหลายตัวแปร

GAUSS Elimination

• ก�าจั�ดไปขี#างหน#า• แปลง Matrix ให#เป$นMatrix สามเหล��ยมบัน

• จัะเหล�อสมการส%ดท้#ายเป$น1 สมการ 1 ติ�วแปร•จัะได#ค�าติอบัขีองติ�วแปรส%ดท้#าย•จัากน�'นแท้นค(ากล�บัขี)'นมาท้�ละสมการ

Page 4: ปฏิบัติการคอมพิวเตอร์  เรื่อง  ระบบสมการหลายตัวแปร

Forward Eliminationแถวล(าง = แถวล(าง - ( สปส ล(าง / สปส

บัน )แถวบัน 14

222 rowrowrow

14

133 rowrowrow

23

5.133 rowrowrow

Page 5: ปฏิบัติการคอมพิวเตอร์  เรื่อง  ระบบสมการหลายตัวแปร

Back Substitution

หร�อ

จัาก Forward Elimination ได# Matrix สามเหล��ยมบัน

แท้นค(ากล�บั

Page 6: ปฏิบัติการคอมพิวเตอร์  เรื่อง  ระบบสมการหลายตัวแปร

MATLAB: GaussElim.m % ขี�'นติอน Forward Elimination %factor = A(i,j)/A(j,j); % factor = สปส ล(าง / สปส บัน A(i,j:n) = A(i,j:n) - factor*A(j,j:n); %แถวล(าง-factor*แถวบัน b(i)= b(i) - factor*b(j); %แถวล(าง-factor*แถวบัน

% ขี�'นติอน Back Substitution% for k = n-1:-1:1 % loop Back sub x(k) = (b(k) - A(k,k+1:n)*x(k+1:n))/A(k,k) end

Download ได� จากhttp://eng.sut.ac.th/me/subject.html

Page 7: ปฏิบัติการคอมพิวเตอร์  เรื่อง  ระบบสมการหลายตัวแปร

ป+ญหาขีองว�ธี� GAUSS Elimination

สมการในร�ปติ(อไปน�' จัะไม(สามารถท้�า Gauss Elimination ได#

• เน��องจัาก a11 เป$น 0 ท้�าให#ขี� 'นติอนการก�าจั�ด row2 เก�ด การหารด#วย 0

• แก#ป+ญหาโดยสล�บั Row3 ก�บั Row1 แล#วจั)งเร��มค�านวณ• ระหว(างการค�านวณอาจัเก�ด สปส ขีอง column ซ้#าย

เป$นศู�นย� ให#ขี#ามการท้�างานในแถวน�'นไป ใน MATLAB ค�อบัรรท้�ด: if A(i,j)~=0• เร�ยกว(าการท้�า Pivoting

Page 8: ปฏิบัติการคอมพิวเตอร์  เรื่อง  ระบบสมการหลายตัวแปร

ป+ญหาขีองว�ธี� GAUSS Elimination The exact solution is

ท้�า Forward Elimination

66669999

0001.2000.30003.0

2

21

x

xx

หากป+ดเศูษ x2 จัะได#ค�าติอบั x1 ติ(างก�นอย(างมากด�งน�'

Page 9: ปฏิบัติการคอมพิวเตอร์  เรื่อง  ระบบสมการหลายตัวแปร

สมการช�ดเด�ยวิก�น หากสล�บแถวิ

9998.19997.2

0000.10000.10000.1

2

21

x

xx

ท้�า Forward Elimination

หากป+ดเศูษ x2 จัะได#ค�าติอบั x1 ติ(างก�นเล3กน#อย : Partial Pivoting

Page 10: ปฏิบัติการคอมพิวเตอร์  เรื่อง  ระบบสมการหลายตัวแปร

แบับัฝึ5กห�ดจงหาค&าตัอบของระบบสมการ

1.

2.

Page 11: ปฏิบัติการคอมพิวเตอร์  เรื่อง  ระบบสมการหลายตัวแปร

Linear Systems: LU factorization]][[][ ULA

3233233213313222321231311131

231321221221211121

131312121111

auululaululaul

aulaulaul

auauau

เม��อ [A] เป$นค(าท้��ท้ราบั แก#สมการท้�'ง 9 ท้�ละสมการ จัะ ได# [L] และ [U]

Page 12: ปฏิบัติการคอมพิวเตอร์  เรื่อง  ระบบสมการหลายตัวแปร

LU factorization

}{}]{][[

}{}]{[

bxUL

bxA

ให# [U]{x}={y} ท้�าให#[L]{y}={b}

3

2

1

3

2

1

3231

21

1

01

001

b

b

b

y

y

y

ll

l หาค�าติอบัขีอง {y} ได#ง(าย

จัาก matrix สามเหล��ยมล(าง

3

2

1

3

2

1

33

2322

131211

00

0

y

y

y

x

x

x

u

uu

uuu

แก# [L]{y}={b}

ให# [U]{x}={y} หาค�าติอบัขีอง {x} ได#ง(าย จัาก matrix สามเหล��ยม

บัน

Page 13: ปฏิบัติการคอมพิวเตอร์  เรื่อง  ระบบสมการหลายตัวแปร

MATLAB function: lu()[L,U]=lu(A)

สมการ

Page 14: ปฏิบัติการคอมพิวเตอร์  เรื่อง  ระบบสมการหลายตัวแปร

MATLAB function: \

• ค�าส��ง \ ใน MATLAB ใช้#ในการหาค�าติอบัขีอง สมการ [A]{x}={b}

• ติ#องการหาค�าติอบั [L]{y}={b} พิ�มพิ�>> y=L\b

• ติ#องการหาค�าติอบั [U]{x}={y} พิ�มพิ�>> x=U\y

ค&าถาม: A\b ไห�ผลล�พธ*เปั+น อะไร

Page 15: ปฏิบัติการคอมพิวเตอร์  เรื่อง  ระบบสมการหลายตัวแปร

MATLAB function: inv()

• inv() ใช้#ในการหา inverse matrix เช้(น inv(A)

• ด�งน�'นหาค�าติอบัขีองสมการ [A]{x}={b} ได#จัากค�าส��ง>> x=inv(A)*b

][][][ 1 IAA

}{][}]{[

}{][}]{[][1

11

bAxI

bAxAA

จัากค%ณสมบั�ติ�ค�ณเขี#าท้างซ้#าย

ท้�าให#ได# {x}

Page 16: ปฏิบัติการคอมพิวเตอร์  เรื่อง  ระบบสมการหลายตัวแปร

Linear Systems: : Jacobi Iterationสมการ จ�ดร,ปั

เดาค-าเร��มตั�น x1,x2,x3 เช-น = 0 แล�วิแท้นค-ากล�บลงไปัในสมการท้��จ�ดร,ปัแล�วิ

140.710/)]0(2.0)0(3.04.71[

7571.27/)]0(3.0)0(1.03.19[

6167.23/)]0(2.0)0(1.085.7[

3

2

1

x

x

x

Iteration 1:

Page 17: ปฏิบัติการคอมพิวเตอร์  เรื่อง  ระบบสมการหลายตัวแปร

Linear Systems: : Jacobi Iteration

1138.710/)]7571.2(2.0)6717.2(3.04.71[

6824.27/)]14.7(3.0)6167.2(1.03.19[

8783.23/)]14.7(2.0)757.2(1.085.7[

3

2

1

x

x

xIteration 2:

แท้นค-า x1,x2,x3 จาก iteration 1 ในสมการท้��จ�ดร,ปัแล�วิ

Iteration 3 : X1=2.904500, X2=-2.674905, X3=7.111217 Iteration 4 : X1=2.907117, X2=-2.674157, X3=7.110955

ท้&าซ้ำ&0า แท้นค-า x1,x2,x3 จาก iteration 2 และท้&าไปัเร��อยๆ

%1003,2,1

3,2,13,2,1

new

oldnew

x

xxES

Page 18: ปฏิบัติการคอมพิวเตอร์  เรื่อง  ระบบสมการหลายตัวแปร

Jacobi.m

X1old=0; X2old=0; X3old=0; % ก�าหนดค(าเร��มติ#นfor i=1:10 X1new = (7.85 + 0.1*X2old + 0.2*X3old) /3 ; % สมการ 1 X2new = (-19.3 - 0.1*X1old + 0.3*X3old) /7; % สมการ 2 X3new = (71.4 - 0.3*X1old + 0.2*X2old) /10; % สมการ 3 X1old=X1new; X2old=X1new; X3old=X1new; %เก3บัค(าเก(า

fprintf ('iter=%d X1=%f X2=%f X3=%f \n', i,X1new,X2new,X3new);

end Download ได� จากhttp://eng.sut.ac.th/me/subject.html

Page 19: ปฏิบัติการคอมพิวเตอร์  เรื่อง  ระบบสมการหลายตัวแปร

แบับัฝึ5กห�ด• จังหาผลเฉลยขีองสมการ โดยใช้#ว�ธี� Jacobi

Iteration

• เปัร�ยบเท้�ยบผลท้��ได�ก�บวิ�ธ�อ��นๆ

Page 20: ปฏิบัติการคอมพิวเตอร์  เรื่อง  ระบบสมการหลายตัวแปร

Nonlinear Systems สมการไม-เช�งเส�นด�งในบท้ root of equations สามารถม�

หลายสมการ หลายตั�วิแปัร

ค&าตัอบของสมการค�อจ�ดตั�ดก�นของเส�นกราฟท้�0ง 2

Page 21: ปฏิบัติการคอมพิวเตอร์  เรื่อง  ระบบสมการหลายตัวแปร

Nonlinear Systems: Jacobi Iteration สามารถปัระย�กตั*ใช� Jacobi Iteration ในการหาค&าตัอบ

ของ Nonlinear systems

Case1

Case2

Page 22: ปฏิบัติการคอมพิวเตอร์  เรื่อง  ระบบสมการหลายตัวแปร

แบับัฝึ5กห�ด• จังหาผลเฉลยขีองสมการ โดยใช้#ว�ธี� Jacobi

Iteration

• เปัร�ยบเท้�ยบระหวิ-างการจ�ดร,ปัสมการ Case1 ก�บCase2 ให�ผลล�พธ*ตั-างก�นอย-างไร

• ก�าหนดค(าเร��มติ#น X1=2, X2=3 ท้�าซ้�'า 5 คร�'ง