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

Download Report

Transcript อ.ดร.ชโลธร ธรรมแท้ สาขาวิชาวิศวกรรมเครื่องกล มหาวิทยาลัยเทคโนโลยีสุรนารี

ปฏิบตั ิการคอมพิวเตอร์เรื่ อง
การแก้สมการเชิงอนุพนั ธ์
อ.ดร.ชโลธร ธรรมแท้
สาขาวิชาวิศวกรรมเครื่ องกล มหาวิทยาลัยเทคโนโลยีสุรนารี
Euler’s Method
สมการเชิงอนุพนั ธ์
dy
 f ( x, y )
dx
ปรับอยูใ่ ห้ อยูใ่ นรูปสมการของ ออยเลอร์
yi1  yi  f ( xi , yi )h
dy
 y cos x
dx
yi 1  yi  ( yi cos xi )h
xi 1  xi  h
Euler.m
แบบฝี กหัด: ทดลองปรั บค่ า h=1, 0.1 , 0.01 เปรี ยบเทียบผลกับค่ าจริง
Runge-Kutta Method order 4 (RK4)
k1  f ( xi , yi )
1
1
k 2  f ( xi  h, yi  hk1 )
2
2
1
1
k 3  f ( xi  h, yi  hk 2 )
2
2
k4  f ( xi  h, yi  hk3 )
1

yi 1  yi   (k1  2k 2  2k3  k 4 ) h
6

xi 1  xi  h
แบบฝึ กหัด
1. จงหาผลเฉลยของสมการเชิงอนุพนั ธ์ตอ่ ไปนี ้
dy
2
yx
dx
ในช่วง 1<=x<=2 กาหนด h=0.1
• เปรี ยบเทียบกับผลเฉลยแม่นตรงคือ
y( x)  6ex 1  x2  2x  2
2. จงปรับปรุง Euler.m ให้ เป็ นวิธี RK4 แล้ วหาผลเฉลยของข้ อ 1
MATLAB function: ode45()
• RK4 และ RK5
•
•
•
•
Format: ode45(function,span,y0)
function คือ ฟั งก์ ชันที่ต้องการหาค่ า
span คือช่ วงที่ต้องการหาค่ า
y0 คือเงื่อนไขค่ าเริ่มต้ น
ODE อันดับ 2
2
Force vibration:
d y
dy
 2  4 y  10
2
dt
dt
Initial condition:
dy
y (0)  2, (0)  0
dt
เปลี่ยนเป็ น ode อันดับ 1 สองสมการ และเปลี่ยนเงื่อนไขเริ่มต้ น
ให้
ทาให้
dy
z
dt
dz
 10  2 z  4 y
dt
สรุป Initial condition :
และ
z (0)  0
t0  0, y0  2, z0  0
EulerSys.m
แบบฝึ กหัด: ทดลอง run โปรแกรมนี ้