อ.ดร.ชโลธร ธรรมแท้ สาขาวิชาวิศวกรรมเครื่องกล มหาวิทยาลัยเทคโนโลยีสุรนารี
Download
Report
Transcript อ.ดร.ชโลธร ธรรมแท้ สาขาวิชาวิศวกรรมเครื่องกล มหาวิทยาลัยเทคโนโลยีสุรนารี
ปฏิบตั ิการคอมพิวเตอร์เรื่ อง
การแก้สมการเชิงอนุพนั ธ์
อ.ดร.ชโลธร ธรรมแท้
สาขาวิชาวิศวกรรมเครื่ องกล มหาวิทยาลัยเทคโนโลยีสุรนารี
Euler’s Method
สมการเชิงอนุพนั ธ์
dy
f ( x, y )
dx
ปรับอยูใ่ ห้ อยูใ่ นรูปสมการของ ออยเลอร์
yi1 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
yx
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 โปรแกรมนี ้