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

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
ระบบสมการเชิงเส้น F M B N เสถียร วิเชียรสาร.
Advertisements

การเขียนผังงาน (Flowchart)
เรื่อง การแก้ไขปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศ
บำรุง พ่วงเกิด Office: ME201 Homepage: 12/17/2008
2.5 Field of a sheet of charge
ข้อตกลงในการเรียน พื้นฐานที่จำเป็นสำหรับนำไปใช้ในเรื่อง
Engineering Problem Solving Program by Using Finite Element Method
สาระที่ 4 พีชคณิต.
Chapter 1 โครงสร้างข้อมูลและอัลกอริธึมส์
Ordering and Liveness Analysis ลำดับและการวิเคราะห์บอกความ เป็นอยู่หรือความตาย.
ทฤษฎีจำนวนเบื้องต้น โดย ครูภรเลิศ เนตรสว่าง โรงเรียนเทพศิรินทร์
Review of Ordinary Differential Equations
การแก้ปัญหาด้วยคอมพิวเตอร์
อสมการ.
บทที่ 2 หลักการแก้ปัญหา
การประยุกต์สมการเชิงเส้นตัวแปรเดียว
ผังงานโปรแกรม (Program Flowchart)
Algorithms.
หน่วยที่ 1 ระบบคอมพิวเตอร์
เนื้อหา ประเภทของโปรแกรมภาษา ขั้นตอนการพัฒนาโปรแกรม
ปฏิบัติการคอมพิวเตอร์เรื่อง การหาค่าอินติกรัลเชิงตัวเลข การหาค่าอนุพันธ์เชิงตัวเลข อ.ดร.ชโลธร ธรรมแท้ สาขาวิชาวิศวกรรมเครื่องกล มหาวิทยาลัยเทคโนโลยีสุรนารี
ปฏิบัติการคอมพิวเตอร์เรื่อง การแก้สมการเชิงอนุพันธ์
คณิตศาสตร์และสถิติธุรกิจ
บทที่ 8 เมตริกซ์และตัวกำหนด.
สมการเชิงอนุพันธ์อย่างง่าย
Lab 2: การใช้ MATLAB สำหรับการสร้างแบบจำลองเพื่อวิเคราะห์
Surachai Wachirahatthapong
ขั้นตอนวิธี (Algorithm)
บทที่ 4 การโปรแกรมเชิงเส้น (Linear Programming)
แก้ปัญหาใน AUTO CAD ที่ถูกถามบ่อย
เฉลยแบบฝึกหัด 1.3 # จงหา ก) ข) ค) (ถ้ามี)
Chapter 3 เครื่องหมายและการคำนวณ
บทที่ 4 อัลกอริทึมแบบเรียงลำดับ (Sequential Algorithm)
การแก้สมการพหุนามดีกรีสอง
ความสัมพันธ์เวียนบังเกิด
ฟังก์ชัน ง30212 การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์ ศูนย์คอมพิวเตอร์
สัปดาห์ที่ 7 การแปลงลาปลาซ The Laplace Transform.
ผศ.วิภาวัลย์ นาคทรัพย์ ภาควิชาวิศวกรรมไฟฟ้า มหาวิทยาลัยสยาม
Artificial Intelligence (AI)
บทที่ 2 หลักการแก้ปัญหา
การออกแบบโปรแกรม ขั้นตอนการแก้ปัญหา การนิยามปัญหา (Problem definition)
เสรี ชิโนดม ฟังก์ชัน เสรี ชิโนดม
Computer Programming for Engineers
วิทยา กรระสี (วท.บ. วิทยาการคอมพิวเตอร์)
บทที่ 4 นิพจน์ทางคณิตศาสตร์.
หลักการเขียนโปรแกรม ( )
ความรู้เบื้องต้นเกี่ยวกับการเขียนโปรแกรม PHP
ทรานสโพสเมตริกซ์ (Transpose of Matrix)
การเขียนโปรแกรมแบบวนซ้ำ: คำสั่ง while คำสั่ง do….while
กองซ้อน ยอดกองซ้อน (stack).
คำสั่งรับค่าและฟังก์ชันทางคณิตศาสตร์
ตัวดำเนินการ และนิพจน์คณิตศาสตร์
วงรี ( Ellipse).
คำสั่งทำซ้ำ for คำสั่ง for เป็นคำสั่งทำซ้ำในลักษณะ Definite loop คือทราบจำนวนรอบที่แน่นอนในการทำงาน ซึ่งจะใช้ตัวแปร 1 ตัวในการนับจำนวนรอบว่าครบตามกำหนดหรือไม่
ผังงาน (FLOW CHART) ตัวอย่างผังงาน
งานเทคโนโลยีสารสนเทศ โรงเรียนพนมเบญจา
Chapter 3 - Stack, - Queue,- Infix Prefix Postfix
อ. วชิระ หล่อประดิษฐ์. ตัว ดำเนินกา ร ศัพท์เฉพาะตัวอย่ าง ผลลัพธ์ ให้ a=3; b=2; Greater thana > b;True
แบบฝึกหัด จงหาคำตอบที่ดีที่สุด หรือหาค่ากำไรสูงสุด จาก
stack #2 ผู้สอน อาจารย์ ยืนยง กันทะเนตร
สาขาวิชาเทคโนโลยี สารสนเทศ คณะเทคโนโลยีสารสนเทศ และการสื่อสาร.
เรื่องการประยุกต์ของสมการเชิงเส้นตัวแปรเดียว
หลักการเขียนโปรแกรม ( )
การรับและแสดงผลข้อมูล (Input/Output)
ทบทวนการแก้สมการเชิงเส้นตัวแปรเดียว
Week 5 While and Do-While loop (Control Structure 2)
การแก้ไขปัญหา วิชา เทคโนโลยีและสารสนเทศ
บทที่ 7 การสร้างและการใช้งาน ฟังก์ชัน อาจารย์ชนิดา คำเพ็ง สาขาวิชาเทคโนโลยีสารสนเทศ คณะวิทยาศาสตร์ และเทคโนโลยี
CPE 332 Computer Engineering Mathematics II
ใบสำเนางานนำเสนอ:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Download ได้ จาก http://eng.sut.ac.th/me/subject.html 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; %เก็บค่าเก่า fprintf ('iter=%d X1=%f X2=%f X3=%f \n', i,X1new,X2new,X3new); end Download ได้ จาก http://eng.sut.ac.th/me/subject.html

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

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

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

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