งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

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

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "ปฏิบัติการคอมพิวเตอร์ เรื่อง ระบบสมการหลายตัวแปร"— ใบสำเนางานนำเสนอ:

1 ปฏิบัติการคอมพิวเตอร์ เรื่อง ระบบสมการหลายตัวแปร
ปฏิบัติการคอมพิวเตอร์ เรื่อง ระบบสมการหลายตัวแปร อ.ดร.ชโลธร ธรรมแท้ สาขาวิชาวิศวกรรมเครื่องกล มหาวิทยาลัยเทคโนโลยีสุรนารี

2 Linear Systems: GAUSS Elimination
ปัญหา n สมการ - n ตัวแปร หรือเขียนในรูป [A]{x}={b}

3 GAUSS Elimination กำจัดไปข้างหน้า
แปลง Matrix ให้เป็น Matrix สามเหลี่ยมบน จะเหลือสมการสุดท้ายเป็น 1 สมการ ตัวแปร จะได้คำตอบของตัวแปรสุดท้าย จากนั้นแทนค่ากลับขึ้นมาทีละสมการ

4 Forward Elimination แถวล่าง = แถวล่าง - (สปส ล่าง / สปส บน )แถวบน

5 Back Substitution แทนค่า กลับ จาก Forward Elimination
ได้ Matrix สามเหลี่ยมบน แทนค่า กลับ หรือ

6 Download ได้ จาก http://eng.sut.ac.th/me/subject.html
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 ได้ จาก

7 ปัญหาของวิธี GAUSS Elimination
เนื่องจาก a11 เป็น 0 ทำให้ขั้นตอนการกำจัด row2 เกิดการหารด้วย 0 แก้ปัญหาโดยสลับ Row3 กับ Row1 แล้วจึงเริ่มคำนวณ ระหว่างการคำนวณอาจเกิด สปส ของ column ซ้ายเป็นศูนย์ ให้ข้ามการทำงานในแถวนั้นไป ใน MATLAB คือบรรทัด: if A(i,j)~=0 เรียกว่าการทำ Pivoting

8 ปัญหาของวิธี GAUSS Elimination
The exact solution is ทำ Forward Elimination หากปัดเศษ x2 จะได้คำตอบ x1 ต่างกันอย่างมาก ดังนี้

9 สมการชุดเดียวกัน หากสลับแถว
ทำ Forward Elimination หากปัดเศษ x2 จะได้คำตอบ x1 ต่างกันเล็กน้อย : Partial Pivoting

10 แบบฝึกหัด จงหาคำตอบของระบบสมการ 1. 2.

11 Linear Systems: LU factorization
เมื่อ [A] เป็นค่าที่ทราบ แก้สมการทั้ง 9 ทีละสมการ จะได้ [L] และ [U]

12 LU factorization ให้ [U]{x}={y} ทำให้[L]{y}={b}
หาคำตอบของ {y} ได้ง่ายจาก matrix สามเหลี่ยมล่าง แก้ [L]{y}={b} ให้ [U]{x}={y} หาคำตอบของ {x} ได้ง่ายจาก matrix สามเหลี่ยมบน

13 MATLAB function: lu() [L,U]=lu(A) สมการ

14 คำถาม: A\b ไห้ผลลัพธ์เป็น อะไร
MATLAB function: \ คำสั่ง \ ใน MATLAB ใช้ในการหาคำตอบของสมการ [A]{x}={b} ต้องการหาคำตอบ [L]{y}={b} พิมพ์ >> y=L\b ต้องการหาคำตอบ [U]{x}={y} พิมพ์ >> x=U\y คำถาม: A\b ไห้ผลลัพธ์เป็น อะไร

15 MATLAB function: inv()
inv() ใช้ในการหา inverse matrix เช่น inv(A) ดังนั้นหาคำตอบของสมการ [A]{x}={b} ได้จากคำสั่ง >> x=inv(A)*b จากคุณสมบัติ คูณเข้าทางซ้าย ทำให้ได้ {x}

16 Linear Systems: : Jacobi Iteration
จัดรูป สมการ เดาค่าเริ่มต้น x1,x2,x3 เช่น = 0 แล้วแทนค่ากลับลงไปในสมการที่จัดรูปแล้ว Iteration 1:

17 Linear Systems: : Jacobi Iteration
แทนค่า x1,x2,x3 จาก iteration 1 ในสมการที่จัดรูปแล้ว Iteration 2: ทำซ้ำ แทนค่า x1,x2,x3 จาก iteration 2 และทำไปเรื่อยๆ Iteration 3 : X1= , X2= , X3= Iteration 4 : X1= , X2= , X3=

18 Download ได้ จาก http://eng.sut.ac.th/me/subject.html
Jacobi.m X1old=0; X2old=0; X3old=0; % กำหนดค่าเริ่มต้น for i=1:10 X1new = ( *X2old + 0.2*X3old) /3 ; %สมการ 1 X2new = ( *X1old + 0.3*X3old) /7; %สมการ 2 X3new = ( *X1old + 0.2*X2old) /10; %สมการ 3 X1old=X1new; X2old=X1new; X3old=X1new; %เก็บค่าเก่า fprintf ('iter=%d X1=%f X2=%f X3=%f \n', i,X1new,X2new,X3new); end Download ได้ จาก

19 แบบฝึกหัด จงหาผลเฉลยของสมการ โดยใช้วิธี Jacobi Iteration
เปรียบเทียบผลที่ได้กับวิธีอื่นๆ

20 Nonlinear Systems สมการไม่เชิงเส้นดังในบท root of equations สามารถมีหลายสมการ หลายตัวแปร คำตอบของสมการคือจุดตัดกันของเส้นกราฟทั้ง 2

21 Nonlinear Systems: Jacobi Iteration
สามารถประยุกต์ใช้ Jacobi Iteration ในการหาคำตอบของ Nonlinear systems Case1 Case2

22 แบบฝึกหัด จงหาผลเฉลยของสมการ โดยใช้วิธี Jacobi Iteration
เปรียบเทียบระหว่างการจัดรูปสมการ Case1 กับ Case2 ให้ผลลัพธ์ต่างกันอย่างไร กำหนดค่าเริ่มต้น X1=2, X2=3 ทำซ้ำ 5 ครั้ง


ดาวน์โหลด ppt ปฏิบัติการคอมพิวเตอร์ เรื่อง ระบบสมการหลายตัวแปร

งานนำเสนอที่คล้ายกัน


Ads by Google