Anda di halaman 1dari 10

HAL 350

Petunjuk Pemrograman: Perhatikan bagaimana kode ini menyimpan evaluasi fungsi f (tO, y0) secara
berurutan untuk menggunakannya kembali di pernyataan selanjutnya.

HAL 351
Namun, jika persamaan diferensial itu linier, kita bisa menghindari masalah ini sepenuhnya
implikasinya, seperti yang kita gambarkan sekarang. Tulis ODE linier umum
y ' =a ( t ) y+ b ( t ) , y (t ¿¿ 0)= yo , ¿

dimana a dan b hanya diketahui fungsi dari t. Jika kita menerapkan metode trapesium untuk ini
persamaan kami awalnya memiliki rekursi implisit
1
y n+ 1= y n + h[a ( t n ) y n+ b ( t n ) + a ( t n+1 ) y n+1 +b ( t n+1 ) ]
2
Namun, kita bisa membuat ini eksplisit, dengan menggunakan linearitas persamaan untuk
menyelesaikannya y n+ 1 :

( )
1
1+ ha(t n)
2 1
y n+ 1= yn + h ¿
1 2
1− ha (t n +1)
2
Signifikansi hal ini akan terlihat nanti, ketika kita membahas stabilitas dan kekakuan masalah secara
lebih rinci. Untuk saat ini, kami puas dengan contoh.
CONTOH 6.13
Pertimbangkan IVP
y ' = y , y ( 0 )=1 ,
yang kami pertimbangkan sebelumnya, hanya menggunakan metode Euler. Ini adalah persamaan
linier, jadi kita bisa menggunakan gagasan dari (6.34) untuk memperkirakannya menggunakan
aturan trapesium. Itu

rekursi menjadi
1+ h
y (¿ n+1)= y y =1 ¿
1−h n 0

1
demikian, untuk h= kami dengan sangat cepat mendapatkannya
4
5/4 5
y 1= y 0 =1.6667 , y 2 = y 1=2.7778 ,
3 /5 3
5 5
y 3= y 2 =4.630 , y 4= y 4=7.7160 ,
3 3

HAL 352
Jika kita melanjutkan dengan nilai h yang lebih kecil dan lebih kecil, maka kesalahannya
max
t k ≤1 | k
E ( h) = y ( t ) − y k|

seperti yang diberikan pada Tabel 6.3. Perhatikan bahwa kesalahan turun dengan faktor 4, seperti
kita harapkan dari metode orde kedua.
Ide prediktor-korektor juga dapat digunakan untuk membuat (6.27) metode praktis. Jika kita
gunakan metode Euler sebagai prediktor, maka kita punya
1
y= y n+ hf ( t n , y n ) (6.35)
2

( 1
)
y n+ 1= y n +hf t n + h , y (6.36)
2
Perhatikan bahwa kami menggunakan prediktor Euler untuk mengambil "setengah langkah", dan
menggunakan nilai ini di korektor untuk memperkirakan y (t n +h/2)
CONTOH 6.14
Mari kita hitung solusi perkiraan untuk IVP:

' −(t + y)
y =−e , y ( 0 ) =1,
yang memiliki solusi yang tepat y=1 n ( e−1+ e −t
)
1
Menggunakan h= kami menghitung sebagai berikut
4
1 1 −1
y= y 0+ h ( −e ( ) )=1− e =0.9540150699 ,
− t +y 0 0

2 8
jadi begitu
y 1= y 0 + h¿
Nilai kedua dihitung dengan cara yang sama:
1
y= y 1+ h (−e ( ) ) =0.920141092 ,
− t +y 1 1

y 2= y 1 +h (−e )=0.8890439235.
− (t 1 +h /2+ y )

Dapat ditunjukkan (lihat latihan) bahwa ini juga merupakan metode orde kedua.

6.4.3 Nilai Awal dan Metode Multistep


Karena mereka bergantung pada lebih dari satu nilai sebelumnya, metode multistep seperti (6.21),
(6.22), dan (6.23) memerlukan nilai awal. Intinya, kita harus menggunakan beberapa metode lain
untuk menghitung perkiraan y 1 , y 2 , … . y p sebelum kita dapat menggunakan metode multistep.
Untuk metode yang disajikan sejauh ini, kita hanya membutuhkan satu nilai tambahan, y 1Untuk
beberapa metode yang disajikan dalam §6.6, kita akan membutuhkan beberapa nilai awal seperti
itu. Salah satu alasan untuk pengembangan metode prediktor-korektor di §6.4.2 tepatnya untuk
memberi kita metode satu langkah yang dapat kita gunakan untuk menghasilkan nilai awal yang
akurat untuk metode multistep, seperti (6.21), (6.22), dan (6.23).
Mari kita lihat contohnya.

HAL 353
CONTOH 6.15
Kami menganggap masalah nilai awal kami sama dengan yang kami lihat di awal §6.4.2,
1
y ' =− y 1 n y , y ( 0 )= .(6.37)
2

Kami ingin menerapkan, katakanlah, metode titik tengah


y n+ 1= y n−1+ 2hf ¿

1
Dengan h= untuk masalah ini. Kami pertama-tama akan menggunakan metode Euler untuk
4
memberikan perkiraan y (t 1) . yang diperlukan untuk melanjutkan penghitungan. Kita mendapatkan

(1 1 −1
y 1= y 0 + hf ( t 0 , y 0 )= +
2 4 2
1
)
1n =0.5866433976.
2
Sekarang kita dapat menghitung menggunakan metyde titik tengah:
1 1
y 2= y 0 +2 hf ( t 1 , y 1 )= 2 x (−0.5866433976 1 n 0.5866433976 )=0.6564396503
2 4
y 3= y 1 +2 hf ( t 2 , y 2 )=0.7247991686 ,
dan seterusnya.

Misalkan sekarang kita ingin menggunakan metode korektor-prediktor aturan trapesium (6.32) dan
1
(6.33) untuk memberikan estimas y (t 1) .Sekali lagi, menggunakan h= kita menghitung
4
y= y 0+ hf ( t 0 , h0 ) =0.5−0.25 x 0.5 1n 0.5=0.5866433976 ;
1
y 1= y 0 + h|f (t 1 y )|=0.5824316114 .
2
HAL 354
Jadi
1 1
y 2= y 0 +2 hf ( t 1 , y 1 )= + 2 x (−0.5824316114 1n 0.5824316114 )=0.6574148126 ,
2 4
y 3= y 1 +2 hf ( t 2 , y 2 )=0.7203046741 ,

dan seterusnya. Terlepas dari metode mana yang digunakan untuk menghasilkan y 1, sekarang kita
dapat menghitung nilai y k hanya dengan menggunakan metode titik tengah.

Sekarang, dengan mengambil h=1/ 16h, dan menghitung t=1, kita mendapatkan hasil yang
ditunjukkan pada Tabel 6.4. Bandingkan ini dengan Tabel 6.2. Perhatikan bahwa, seperti yang
diharapkan, kami mendapatkan akurasi yang lebih baik saat menggunakan nilai awal yang lebih
akurat, meskipun perlu diperhatikan bahwa perbedaannya tidak besar.

Contoh ini menimbulkan pertanyaan menarik. Perhatikan bahwa kami menggunakan metode Euler,
yang hanya O(h), untuk menghasilkan nilai awal untuk metode titik tengah, yaitu O( H 2 ). Apakah
penggunaan metode orde rendah untuk nilai awal akan mempengaruhi keakuratan komputasi
secara keseluruhan?
Penjelasan lengkap berada di luar cakupan buku ini, tetapi dapat ditunjukkan bahwa metode ( p−l)
-order dapat digunakan untuk menghasilkan nilai awal untuk metode urutan-p, biasanya tanpa
mempengaruhi urutan konvergensi secara keseluruhan. Ini tentu saja akan lebih akurat untuk
menggunakan metode p-order daripada menggunakan metode ( p−1) -order untuk nilai awal,
tetapi urutan bersih keakuratan metode tidak boleh terpengaruh.

6.4.4 Metode Titik Tengah dan Stabilitas Lemah


Mari kita pertimbangkan metode titik tengah (6.21) yang diterapkan pada persamaan diferensial
yang sangat sederhana

y ' =− y y ( 0 )=1 ,(6.38)


yang memiliki solusi eksak y ( t ) =e−t . Untuk meminimalkan efek kesalahan apa pun di nilai awal,
mari gunakan
y 1= y ( t 1 )=e−h (6.39)

dimana h adalah jarak jala; perhatikan bahwa ini adalah nilai yang tepat dari y (t 1) ; jadi, tidak ada
kesalahan dalam menggunakan nilai awal ini. Gambar 6.4 menunjukkan hasil penerapan (6.21) ke
(6.38), menggunakan (6.39) sebagai nilai awal, untuk urutan nilai mesh h−1=4,8,16 … .. , 128. Kami
telah memplot kurva solusi eksak dan setiap kurva perkiraan, seperti yang dihasilkan oleh metode
numerik.

Kami berharap mendapatkan hasil yang layak, karena metode titik tengah adalah urutan kedua;
sebaliknya, kita mendapatkan hasil yang buruk untuk nilai i yang lebih besar. Mengambil nilai h yang
lebih kecil tampaknya menunda permulaan masalah ini, tetapi tampaknya tidak menghilangkannya.
Seperti yang ditunjukkan Gambar 6.5, bahkan untuk h−1=128 kita akhirnya mendapatkan hasil yang
buruk.
Apa yang terjadi disini?

Sangat menggoda untuk menyalahkan masalah ini — yang dikenal sebagai stabilitas lemah — pada
kesalahan pembulatan, tetapi pada kenyataannya masalah ini melekat pada metode numerik (6.21),
dan akan terjadi dalam aritmatika eksak. Karena pemahaman yang baik tentang stabilitas lemah
diperlukan untuk diskusi lengkap tentang stabilitas untuk metode multistep (lihat §6.7.1), kita akan
membahas beberapa detail di sini.
Pertama kita sedikit menggeneralisasi masalah model kita menjadi
'
y =⋋ y , y ( 0 )=1 ,

HAL 555
HAL 356

yang memiliki solusi yang tepat y=e⋋ t untuk setiap konstanta ⋋. Metode titik tengah diterapkan
h⋋
untuk ini masalah kemudian menjadi y n+ 1= y n +2 h ⋋ y n , y 0 =1, y 1=e .

Perhatikan bahwa jarak mesh h dan parameter ⋋ muncul hanya saat mengalikan satu sama lain; jadi,
untuk menyederhanakan notasi, selanjutnya kita akan menulis h ⋋=ξ . Jadi, kami punya
ξ
y n+ 1= y n−1+ 2ξ y n , y 0 =1, y 1=e (6.40)

Ini adalah contoh dari apa yang disebut hubungan perulangan tiga suku, dan kita sebenarnya dapat
menghasilkan rumus untuk menyelesaikannya, sama seperti kita menyelesaikan persamaan
diferensial koefisien konstan orde dua. Kami pertama-tama mencari solusi dalam bentuk
y n=r n (6.41)

untuk beberapa nilai r . Kami benar-benar menemukan dua nilai seperti itu, r 1 dan r 2, dan linearitas
pengulangan kemudian menyiratkannya
y n=C 1 r n1+ C2 r n2
adalah solusi untuk setiap konstanta C 1dan C 2. Nilai konstanta ditentukan oleh kebutuhan untuk
memenuhi y 0=1 dan y 1=e , dan itu akan menyelesaikan konstruksi solusi. Begitu banyak untuk
ξ

garis besar dan pratinjau. Jika kita mengganti (6.41) menjadi (6.40), kita dapatkan
n +1 n−1 n
r =r +2 ξ r

Jadi, membagi dengan r "_ 1 menghasilkan persamaan kuadrat


2
r −2ξr −1=0
yang mendefinisikan r 1 dan Γ 2, menurut rumus kuadrat:
r 1=( ξ+ √ ξ2 +1 ) −r 2=( ξ−√ ξ 2+1 ) (6.42)

Konstanta C 1 dan C 2kemudian ditemukan dengan menyelesaikan sistem


1=C 1 +C2
ξ
e =C 1 r 1 +C 2 r 2
Mendapatkan
ξ
r 2−e
C 1= =¿ ¿
r 2−r 1
Dan
ξ
r 1−e
C 2= =¿ ¿
r 1−r 2
Karenanya, kami punya solusinya
n n
y n=C 1 r 1+ C2 r 2 (6.43)

yang dapat diverifikasi oleh siswa dengan substitusi langsung (lihat Soal 12) adalah solusi tepat untuk
pengulangan (6.40). Kami harus mengulangi, sebagai penekanan, bahwa rumus solusi ini tepat:
Inilah yang akan dihasilkan oleh komputasi tanpa adanya kesalahan pembulatan.

HAL 357
Beberapa pekerjaan sederhana memungkinkan kita memperkirakan ukuran C 1 dan C 2; jadi (lihat
Masalah 14):
C 1=1+O ( ξ ) , C 2=O ( ξ ) ( 6.44)
3 3

Pertimbangkan, sekarang, perilaku solusi perkiraan saat n tumbuh, dengan asumsi bahwa λ< 0.
Asumsi ini berarti bahwa ξ <0, dan itu juga berarti bahwa solusi eksak akan menjadi eksponensial
yang membusuk. Namun, solusi perkiraan memuaskan
n n
y n=C 1 r 1+ C2 r 2 ,

di mana kami memiliki 0< r 1<1 dan r 2 ←1 (lihat Soal 13). Oleh karena itu, sebagai n → ∞ , r 1 → 0,
n

n
tetapi ¿ r 2∨¿ → ∞ ¿, sehingga merusak keakuratan komputasi. Karena C 2 ≠ 0, suku ini akan hadir
3
dalam perhitungan, meskipun fakta bahwa C 2=O(h ) berarti bahwa akan membutuhkan lebih
banyak langkah agar suku yang tumbuh diperhatikan, untuk nilai yang semakin kecil dari h .
Masalah mendasar di sini adalah bahwa solusi yang tepat untuk rekursi yang mendefinisikan solusi
perkiraan mengandung komponen solusi yang tidak sesuai dengan cara apapun untuk solusi yang
n
tepat dari ODE. Suku C 1 r 1 , dapat diperlihatkan, akan menyatu dengan solusi eksak dan akan
menjadi pendekatan O(h 2) untuk itu. Tetapi istilah lain, biasanya disebut larutan parasit atau
parasit, pada akhirnya akan mendominasi dan merusak aproksimasi tersebut.

Solusi parasit adalah fitur yang melekat pada metode multistcp, dan teori stabilitas untuk metode
multistep dirancang untuk meminimalkan kemampuannya untuk merusak solusi. (Lihat §6.7 untuk
lebih jelasnya.)

Latihan:
1. Menggunakan aproksimasi
'
y ( t n+1 )− y ( t n−1 )
y =(t n )≈
2h
mendapatkan metode numerik (6.21) untuk memecahkan masalah nilai awal. Apa sisa nya? Apa
kesalahan pemotongannya? Apakah ini metode yang konsisten?

2. Menggunakan aproksimasi
'
− y ( t n+1 ) + 4 y ( t n ) −3 y (t n−1 )
y (t n−1)≈
2h
mendapatkan metode numerik (6.22) untuk menyelesaikan masalah nilai awal. Apa sisa nya? Apa
kesalahan pemotongannya? Apakah ini metode yang konsisten?

3. Menggunakan aproksimasi
'
3 y ( t n+1 ) −4 y ( t n ) + y (t n−1)
y (t n+1)≈
2h

mendapatkan metode numerik (6.23) untuk memecahkan masalah nilai awal. Apa sisa nya? Apa
kesalahan pemotongannya? Apakah ini metode yang konsisten?

1
4. Gunakan korektor-prediktor aturan trapesium dengan h= untuk menghitung perkiraan nilai
4
y (1) untuk setiap masalah nilai awal berikut. Jangan menulis program komputer; gunakan
kalkulator tangan untuk menghasilkan tabel teratur pasangan (t k , y k ).

HAL 358
(a) y ' = y ( 1+e 2 t ) , y ( 0 )=1;
(b) y ' +2 y =1 , y ( 0 )=2;
' 1
(c) y = y ( 1− y ) , y ( 0 )= ;
2
(d) t y ' = y ¿
5. Ulangi Soal 4, menggunakan metode (6.23) sebagai prediktor-korektor, dengan metode Euler
sebagai prediktor. Juga gunakan metode Euler untuk menghasilkan nilai awal, y 1

6. Tulis program komputer yang memecahkan setiap masalah nilai awal pada Soal 4, menggunakan
korektor-prediktor aturan trapesium dan h=1/16.

7. Untuk setiap masalah nilai awal di bawah ini, perkirakan solusi menggunakan korektor-prediktor
aturan trapesium dengan urutan kisi-kisi yang menurun h−1=2,4,8,..... Untuk masalah-masalah di
mana solusi eksak diberikan, bandingkan akurasi yang dicapai selama interval [0,1] dengan akurasi
teoritis.

' 1
(a) y + y=sin ❑4 rt , y ( 0 )= ;
2
(b) y ' +sin y=0 , y ( 0 )=1 ;
1
'
(c) y +4 y =1 , y ( 0 ) =3: y ( t )= ( 3 e−4 t +1 ) ;
4
−1
(d) y ' =− y Ιn y , y ( 0 ) =3 ; y ( t )=e (1 n 3)e

Di sini, kami akan mempertimbangkan model pertumbuhan tumor berdasarkan beberapa karya H. P.
Greenspan in./. Teori. Berbagai., Vol. 56, hlm. 229-242,1976. Persamaan diferensial adalah
' −1 2⋋ σ
R ( t )= Si R+ , R ( 0 )=a .
3 μR + √ μ R + 4 σ
2 2

Di sini R (t) adalah jari-jari tumor (diasumsikan sferis); λ dan μ adalah parameter skala, keduanya
O ( 1 ) ; Si mengukur kecepatan kematian sel-sel di inti tumor; dan σ adalah tingkat nutrisi. Ambil
λ=μ=1 , α=0.25 , S i=0.8 , dan σ −0.25. Gunakan korektor-prediktor aturan trapesium untuk
menyelesaikan persamaan diferensial, menggunakan h=1/16, dan tunjukkan bahwa jari-jari tumor
mendekati nilai pembatas sebagai t → ∞ .

9. Ulangi Soal 8, tetapi kali ini dengan Si =0,90 , σ=0,05 , dan a=0,50 . Apa yang terjadi sekarang?

10. Sekarang selesaikan persamaan diferensial menggunakan variasi nilai Si , σ , dan a (pilihan Anda).
Apa yang terjadi?

11. Sekarang mari kita modelkan beberapa pengobatan untuk tumor matematika kita. Dalam Soal 8-
10, kami mengasumsikan bahwa tingkat nutrisi adalah konstan. Misalkan kita mampu menurunkan
tingkat hara sesuai model
−qt
σ ( t )=σ ∞+(σ 0−σ ∞) e

Di sini σ 0 adalah level nutrisi awal, σ ∞ adalah level nutrisi asimtotik, dan q mengukur laju
penurunan level nutrisi. Selidiki pengaruh berbagai pilihan parameter ini terhadap pertumbuhan
tumor, berdasarkan pengamatan Anda dari masalah sebelumnya. Sekali lagi, gunakan korektor-
prediktor aturan trapesium dengan h=1/16 untuk menyelesaikan persamaan diferensial.

Anda mungkin juga menyukai