Solusi numerik persamaan diferensial (1). Penyelesaian numerik persamaan diferensial Menyelesaikan persamaan diferensial biasa dengan menggunakan metode Euler

Definisi persamaan diferensial Euler. Metode untuk menyelesaikannya dipertimbangkan.

Isi

Persamaan diferensial Euler merupakan persamaan bentuk
A 0 x n y (n) + a 1 x n-1 y (n-1) + ...+ dan- 1 xy′ + a n y = f(x).

Dalam bentuk yang lebih umum, persamaan Euler berbentuk:
.
Persamaan ini direduksi dengan substitusi t = ax+b ke bentuk yang lebih sederhana, yang akan kita pertimbangkan.

Mengurangi persamaan diferensial Euler menjadi persamaan dengan koefisien konstan.

Perhatikan persamaan Euler:
(1) .
Ini direduksi menjadi persamaan linier dengan koefisien konstan dengan substitusi:
x = e t .
Memang benar kalau begitu
;
;
;

;
;
..........................

Jadi, faktor-faktor yang mengandung x m saling hapus. Suku-suku sisanya adalah suku-suku yang koefisiennya konstan. Namun dalam prakteknya, untuk menyelesaikan persamaan Euler, dimungkinkan untuk menggunakan metode penyelesaian persamaan diferensial linier dengan koefisien konstan tanpa menggunakan substitusi di atas.

Solusi persamaan Euler homogen

Perhatikan persamaan Euler homogen:
(2) .
Kami mencari solusi persamaan (2) dalam bentuk
.
;
;
........................
.
Kita substitusikan ke (2) dan kurangi sebanyak x k.
.
Kami memperoleh persamaan karakteristik:

Kami menyelesaikannya dan mendapatkan n akar, yang bisa jadi rumit.
.

Mari kita lihat akar aslinya. Misalkan k i adalah akar kelipatan dari multiplisitas m.
.
M akar ini sesuai dengan m solusi bebas linier: Mari kita pertimbangkan akar kompleks. Mereka muncul berpasangan bersama dengan konjugat kompleks. Misalkan k i adalah akar kelipatan dari multiplisitas m. Mari kita nyatakan akar kompleks k i dalam bentuk bagian nyata dan bagian imajiner:
;
;
..............................
.

M akar dan m akar konjugat kompleks ini bersesuaian
(3) .

2 m

solusi bebas linier:


Setelah n solusi bebas linier diperoleh, kita memperoleh solusi umum persamaan (2):

Contoh

Selesaikan persamaan:
.
Solusi contoh >> >

Solusi persamaan Euler tidak homogen 1 Perhatikan persamaan Euler yang tidak homogen: 1 Metode variasi konstanta (metode Lagrange) juga dapat diterapkan pada persamaan Euler. 1 persamaan yang berkaitan dengan turunan.

Selanjutnya kita cari turunan ke-n dari y.

Kami mensubstitusikan turunan yang dihasilkan ke (1) dan memperoleh persamaan ke-n yang menghubungkan turunan tersebut.

Dari persamaan ini kita menentukan.

Kemudian, dengan mengintegrasikan, kita memperoleh solusi umum persamaan (1).

Contoh
(4)
,
Selesaikan persamaan:

Solusi >> >
,
Persamaan Euler tak homogen dengan bagian tak homogen khusus

Jika bagian tak homogen mempunyai bentuk tertentu, maka lebih mudah memperoleh penyelesaian umum dengan mencari penyelesaian khusus persamaan tak homogen tersebut. Kelas ini mencakup persamaan bentuk:

di mana adalah polinomial pangkat dan , masing-masing.

Dalam hal ini lebih mudah untuk melakukan pergantian pemain

dan memutuskan

Solusi numerik persamaan diferensial

Banyak permasalahan dalam sains dan teknologi yang berujung pada penyelesaian persamaan diferensial biasa (ODE). ODE adalah persamaan yang mengandung satu atau lebih turunan dari fungsi yang diinginkan. Secara umum ODE dapat ditulis sebagai berikut::

Dimana x adalah variabel bebas, merupakan turunan ke-i dari fungsi yang diinginkan. n adalah orde persamaan. Solusi umum ODE orde ke-n berisi n konstanta sembarang, yaitu solusi umumnya berbentuk .:

Untuk memilih satu solusi, perlu menetapkan n kondisi tambahan. Tergantung pada metode penentuan kondisi tambahan, terdapat dua jenis permasalahan yang berbeda: permasalahan Cauchy dan permasalahan nilai batas. Jika kondisi tambahan diberikan pada satu titik, maka permasalahan seperti ini disebut permasalahan Cauchy. Kondisi tambahan pada permasalahan Cauchy disebut kondisi awal. Jika kondisi tambahan ditentukan pada lebih dari satu titik, mis. untuk nilai variabel bebas yang berbeda, maka masalah seperti itu disebut masalah nilai batas. Kondisi tambahan itu sendiri disebut kondisi batas atau batasan.

Jelas bahwa ketika n=1 kita hanya dapat membicarakan masalah Cauchy.

Contoh penyelesaian masalah Cauchy Contoh soal nilai batas

Masalah seperti itu dapat diselesaikan secara analitis hanya untuk beberapa jenis persamaan khusus.

Metode numerik untuk menyelesaikan masalah Cauchy untuk ODE orde pertama Pernyataan masalah 0 . Temukan solusi untuk ODE orde pertama Pada segmen yang disediakan ].

Saat menemukan solusi perkiraan, kita asumsikan bahwa perhitungan dilakukan dengan langkah perhitungan, node perhitungan adalah titik interval [

Pernyataan masalah X

Pernyataan masalah Pada segmen yang disediakan

, X X

, X Pada segmen yang disediakan

N

Tujuannya adalah untuk membangun sebuah tabel

Cara yang benar-benar alami (tetapi bukan satu-satunya) untuk mendapatkan solusi numerik adalah dengan mengganti integral di dalamnya dengan rumus kuadratur integrasi numerik. Jika kita menggunakan rumus paling sederhana untuk persegi panjang kiri orde pertama

,

lalu kita dapatkan rumus Euler eksplisit:

Prosedur pembayaran:

Mengetahui, kita menemukan, lalu seterusnya.

Interpretasi geometris dari metode Euler:

Memanfaatkan apa yang ada pada intinya Pernyataan masalah 0 solusinya diketahui , X(Pernyataan masalah 0)= kamu 0 dan nilai turunannya, kita dapat menuliskan persamaan garis singgung grafik fungsi yang diinginkan di titik :. Dengan langkah yang cukup kecil H ordinat garis singgung ini, yang diperoleh dengan mensubstitusikan ke ruas kanan nilainya, seharusnya sedikit berbeda dari ordinatnya , X(Pernyataan masalah 1) solusi , X(Pernyataan masalah) Masalah Cauchy. Oleh karena itu, titik potong garis singgung dengan garis Pernyataan masalah = Pernyataan masalah 1 kira-kira dapat dianggap sebagai titik awal yang baru. Melalui titik ini kita kembali menggambar garis lurus, yang kira-kira mencerminkan perilaku garis singgung pada titik tersebut. Mengganti di sini (yaitu perpotongan dengan garis Pernyataan masalah = Pernyataan masalah 2), kami memperoleh nilai perkiraan , X(Pernyataan masalah) pada titik Pernyataan masalah 2: dll. Akibatnya untuk X-poin kita memperoleh rumus Euler.

Metode Euler eksplisit memiliki akurasi atau perkiraan orde pertama.

Jika Anda menggunakan rumus persegi panjang yang tepat: , lalu kita sampai pada metodenya

Metode ini disebut metode Euler implisit, karena menghitung nilai yang tidak diketahui dari nilai yang diketahui memerlukan penyelesaian persamaan yang umumnya nonlinier.

Metode Euler implisit memiliki akurasi atau perkiraan orde pertama.

Dalam metode ini perhitungannya terdiri dari dua tahap:

Skema ini disebut juga dengan metode prediktor-korektor (predictive-corrector). Pada tahap pertama, nilai perkiraan diprediksi dengan akurasi rendah (h), dan pada tahap kedua, prediksi tersebut dikoreksi sehingga nilai yang dihasilkan memiliki akurasi orde kedua.

Metode Runge–Kutta: gagasan untuk membangun metode Runge–Kutta yang eksplisit P Urutan ke-adalah untuk mendapatkan perkiraan nilai , X(Pernyataan masalah X+1) menurut rumus formulir

…………………………………………….

Di Sini A Pada segmen yang disediakan , B nj , P Pada segmen yang disediakan, – beberapa angka tetap (parameter).

Saat membuat metode Runge–Kutta, parameter fungsinya ( A Pada segmen yang disediakan , B nj , P Pada segmen yang disediakan) dipilih sedemikian rupa untuk mendapatkan urutan perkiraan yang diinginkan.

Skema Runge – Kutta dengan akurasi tingkat keempat:

Contoh. Selesaikan masalah Cauchy:

Pertimbangkan tiga metode: metode Euler eksplisit, metode Euler yang dimodifikasi, metode Runge–Kutta.

Solusi tepat:

Rumus perhitungan menggunakan metode Euler eksplisit untuk contoh ini:

Rumus perhitungan metode Euler yang dimodifikasi:

Rumus perhitungan metode Runge–Kutta:

y1 – Metode Euler, y2 – metode Euler yang dimodifikasi, y3 – Metode Runge Kutta.

Terlihat bahwa yang paling akurat adalah metode Runge–Kutta.

Metode numerik untuk menyelesaikan sistem ODE orde pertama

Metode yang dipertimbangkan juga dapat digunakan untuk menyelesaikan sistem persamaan diferensial orde pertama.

Mari kita tunjukkan ini untuk kasus sistem dua persamaan orde pertama:

Metode Euler eksplisit:

Metode Euler yang dimodifikasi:

Skema Runge – Kutta dengan akurasi tingkat keempat:

Masalah Cauchy untuk persamaan orde tinggi juga direduksi menjadi penyelesaian sistem persamaan ODE. Misalnya, pertimbangkan Masalah Cauchy untuk persamaan orde kedua

Mari kita perkenalkan fungsi kedua yang tidak diketahui. Kemudian masalah Cauchy digantikan dengan masalah berikut:

Itu. dari segi permasalahan sebelumnya : .

Contoh. Temukan solusi untuk masalah Cauchy:

Di segmen tersebut.

Solusi tepat:

Benar-benar:

Mari kita selesaikan masalah tersebut menggunakan metode Euler eksplisit, dimodifikasi dengan metode Euler dan Runge-Kutta dengan langkah h=0,2.

Mari kita perkenalkan fungsinya.

Kemudian kita memperoleh masalah Cauchy berikut untuk sistem dua ODE orde pertama:

Metode Euler eksplisit:

Metode Euler yang dimodifikasi:

Metode Runge–Kutta:

Sirkuit Euler:

Metode Euler yang dimodifikasi:

Skema Runge - Kutta:

Maks(teori yy)=4*10 -5

Metode beda hingga untuk menyelesaikan masalah nilai batas untuk ODE

Contoh penyelesaian masalah Cauchy: mencari solusi persamaan diferensial linier

memenuhi syarat batas :. (2)

Dalil. Membiarkan . Lalu ada solusi unik untuk masalah tersebut.

Masalah ini, misalnya, berkurang menjadi masalah menentukan defleksi balok yang berengsel pada ujung-ujungnya.

Tahapan utama metode beda hingga:

1) area perubahan argumen yang terus-menerus () digantikan oleh himpunan titik-titik diskrit yang disebut node: .

2) Fungsi yang diinginkan dari argumen kontinu x kira-kira digantikan oleh fungsi argumen diskrit pada grid tertentu, yaitu. . Fungsi tersebut disebut fungsi grid.

3) Persamaan diferensial asli diganti dengan persamaan selisih terhadap fungsi grid. Penggantian ini disebut pendekatan perbedaan.

Jadi, penyelesaian persamaan diferensial dilakukan dengan mencari nilai fungsi grid pada node grid, yang diperoleh dari penyelesaian persamaan aljabar.

Perkiraan turunan.

Untuk memperkirakan (mengganti) turunan pertama, Anda dapat menggunakan rumus:

- turunan selisih benar,

- turunan selisih kiri,

Turunan selisih sentral.

artinya, ada banyak kemungkinan cara untuk memperkirakan turunannya.

Semua definisi ini mengikuti konsep turunan sebagai limit: .

Berdasarkan perkiraan selisih turunan pertama, kita dapat membuat perkiraan selisih turunan kedua:

Demikian pula, kita dapat memperoleh perkiraan turunan tingkat tinggi.

Definisi. Kesalahan perkiraan turunan ke-n adalah selisihnya: .

Untuk menentukan orde aproksimasi digunakan ekspansi deret Taylor.

Mari kita perhatikan perkiraan selisih kanan dari turunan pertama:

Itu. turunan selisih tepat yang dimilikinya pertama oleh h urutan perkiraan.

Hal yang sama berlaku untuk turunan selisih kiri.

Turunan perbedaan sentral yang dimilikinya perkiraan orde kedua.

Perkiraan turunan kedua menurut rumus (3) juga mempunyai perkiraan orde kedua.

Untuk memperkirakan suatu persamaan diferensial, semua turunannya harus diganti dengan perkiraannya. Mari kita perhatikan masalah (1), (2) dan gantikan turunannya pada (1):

Hasilnya kita mendapatkan:

(4)

Urutan perkiraan masalah awal adalah 2, karena turunan kedua dan pertama diganti dengan orde 2, dan sisanya - tepatnya.

Jadi, alih-alih persamaan diferensial (1), (2), sistem persamaan linier diperoleh untuk penentuan pada node grid.

Diagram dapat direpresentasikan sebagai:

yaitu, kita mendapatkan sistem persamaan linear dengan matriks:

Matriks ini berbentuk tridiagonal, yaitu semua elemen yang tidak terletak pada diagonal utama dan dua diagonal yang berdekatan sama dengan nol.

Dengan menyelesaikan sistem persamaan yang dihasilkan, kita memperoleh solusi dari masalah awal.

laboratorium 1

Metode solusi numerik

persamaan diferensial biasa (4 jam)

Saat memecahkan banyak masalah fisika dan geometri, seseorang harus mencari fungsi yang tidak diketahui berdasarkan hubungan tertentu antara fungsi yang tidak diketahui tersebut, turunannya, dan variabel bebasnya. Rasio ini disebut persamaan diferensial , dan menemukan fungsi yang memenuhi persamaan diferensial disebut menyelesaikan persamaan diferensial.

Persamaan diferensial biasa disebut kesetaraan

, (1)

di mana

merupakan variabel bebas yang berubah pada suatu segmen tertentu, dan - fungsi tidak diketahui , X ( Pernyataan masalah ) dan dia yang pertama Pada segmen yang disediakan turunan. ditelepon urutan persamaan .

Tugasnya adalah menemukan fungsi y yang memenuhi persamaan (1). Selain itu, tanpa merinci hal ini secara terpisah, kami akan berasumsi bahwa solusi yang diinginkan memiliki tingkat kelancaran tertentu yang diperlukan untuk konstruksi dan penerapan “legal” dari metode tertentu.

Ada dua jenis persamaan diferensial biasa

Persamaan tanpa kondisi awal

Persamaan dengan kondisi awal.

Persamaan tanpa kondisi awal adalah persamaan berbentuk (1).

Persamaan dengan kondisi awal adalah persamaan bentuk (1), yang memerlukan fungsi tersebut untuk dicari

, yang bagi sebagian orang memenuhi ketentuan berikut: ,

itu. pada intinya

fungsi dan turunan pertamanya mengambil nilai yang telah ditentukan.

Masalah Cauchy

Saat mempelajari metode penyelesaian persamaan diferensial dengan menggunakan metode perkiraan tugas utama penting Masalah Cauchy.

Mari kita pertimbangkan metode paling populer untuk memecahkan masalah Cauchy - metode Runge-Kutta. Metode ini memungkinkan Anda membuat rumus untuk menghitung solusi perkiraan dengan hampir semua tingkat akurasi.

Mari kita turunkan rumus metode Runge-Kutta dengan akurasi orde kedua. Untuk melakukan ini, kami merepresentasikan solusi sebagai bagian dari deret Taylor, membuang suku-suku yang ordenya lebih tinggi dari suku kedua. Kemudian perkiraan nilai fungsi yang diinginkan pada titik tersebut Pernyataan masalah 1 dapat ditulis sebagai:

(2)

Turunan kedua , X "( Pernyataan masalah 0 ) dapat dinyatakan melalui turunan fungsinya F ( Pernyataan masalah , , X ) , namun, dalam metode Runge-Kutta, selisihnya digunakan sebagai pengganti turunan

memilih nilai parameter yang sesuai

Maka (2) dapat ditulis ulang menjadi:

, X 1 = , X 0 + H [ β F ( Pernyataan masalah 0 , , X 0 ) + α F ( Pernyataan masalah 0 + γh , , X 0 + δh )], (3)

Di mana α , β , γ Dan δ – beberapa parameter.

Mengingat ruas kanan (3) sebagai fungsi argumen H , mari kita pecahkan menjadi beberapa derajat H :

, X 1 = , X 0 +( α + β ) H F ( Pernyataan masalah 0 , , X 0 ) + ah 2 [ γ fx ( Pernyataan masalah 0 , , X 0 ) + δ f y ( Pernyataan masalah 0 , , X 0 )],

dan pilih parameternya α , β , γ Dan δ sehingga pemuaian ini mendekati (2). Oleh karena itu

α + β =1, αγ =0,5, α δ =0,5 F ( Pernyataan masalah 0 , , X 0 ).

Dengan menggunakan persamaan ini kami menyatakannya β , γ Dan δ melalui parameter α , kita dapatkan

, X 1 = , X 0 + H [(1 - α ) F ( Pernyataan masalah 0 , , X 0 ) + α F ( Pernyataan masalah 0 +, , X 0 + F ( Pernyataan masalah 0 , , X 0 )], (4)

0 < α ≤ 1.

Sekarang, jika alih-alih ( Pernyataan masalah 0 , , X 0 ) dalam (4) pengganti ( Pernyataan masalah 1 , , X 1 ), kita mendapatkan rumus untuk menghitung , X 2 perkiraan nilai fungsi yang diinginkan pada titik tersebut Pernyataan masalah 2 .

Secara umum, metode Runge-Kutta diterapkan pada partisi segmen yang berubah-ubah [ Pernyataan masalah 0 , X ] pada Pada segmen yang disediakan bagian, yaitu dengan nada variabel

x 0 , x 1 , …, xn ; h saya = x saya+1 – x saya , x n = X. (5)

Pilihan α dipilih sama dengan 1 atau 0,5. Mari kita tuliskan rumus perhitungan metode Runge-Kutta orde kedua dengan variabel langkahnya α =1:

y i+1 =y i +h i f(x i + , kamu, + f(x saya , kamu saya)), (6.1)

X = 0, 1,…, N -1.

Dan α =0,5:

kamu saya+1 =kamu saya + , (6.2)

X = 0, 1,…, Pada segmen yang disediakan -1.

Rumus metode Runge-Kutta yang paling banyak digunakan adalah rumus akurasi orde keempat:

kamu saya+1 =kamu saya + (k 1 + 2k 2 + 2k 3 + k 4),

k 1 =f(x saya , y saya), k 2 = f(x saya + , kamu, + k 1), (7)

k 3 = f(x saya + , kamu, + k 2), k 4 = f(xi +h, y i +hk 3).

Untuk metode Runge-Kutta, aturan Runge berlaku untuk memperkirakan kesalahan. Membiarkan , X ( Pernyataan masalah ; H ) – perkiraan nilai solusi pada titik tersebut Pernyataan masalah , diperoleh dengan rumus (6.1), (6.2) atau (7) dengan langkah H , A P urutan keakuratan rumus yang sesuai. Lalu kesalahannya R ( H ) nilai-nilai , X ( Pernyataan masalah ; H ) dapat diperkirakan dengan menggunakan nilai perkiraan , X ( Pernyataan masalah ; 2 H ) solusi pada suatu titik Pernyataan masalah , diperoleh secara bertahap 2 H :

(8)

Di mana P =2 untuk rumus (6.1) dan (6.2) dan P =4 untuk (7).

Perkenalan

Saat memecahkan masalah ilmiah dan teknik, sering kali diperlukan deskripsi matematis suatu sistem dinamis. Ini paling baik dilakukan dalam bentuk persamaan diferensial ( DU) atau sistem persamaan diferensial. Paling sering, masalah ini muncul ketika memecahkan masalah yang berkaitan dengan pemodelan kinetika reaksi kimia dan berbagai fenomena perpindahan (panas, massa, momentum) - perpindahan panas, pencampuran, pengeringan, adsorpsi, ketika menggambarkan pergerakan makro dan mikropartikel.

Dalam beberapa kasus, persamaan diferensial dapat diubah menjadi bentuk yang turunan tertingginya dinyatakan secara eksplisit. Bentuk penulisan ini disebut persamaan yang diselesaikan terhadap turunan tertinggi (dalam hal ini, turunan tertinggi tidak ada di ruas kanan persamaan):

Solusi persamaan diferensial biasa adalah fungsi y(x) yang, untuk x apa pun, memenuhi persamaan ini dalam interval berhingga atau tak terhingga tertentu. Proses penyelesaian persamaan diferensial disebut mengintegrasikan persamaan diferensial.

Secara historis, cara pertama dan termudah untuk menyelesaikan masalah Cauchy secara numerik untuk ODE orde pertama adalah metode Euler. Hal ini didasarkan pada perkiraan turunan dengan rasio kenaikan terbatas dari variabel terikat (y) dan bebas (x) antara simpul-simpul jaringan seragam:

di mana y i+1 adalah nilai fungsi yang diinginkan di titik x i+1.

Keakuratan metode Euler dapat ditingkatkan jika rumus integrasi yang lebih akurat digunakan untuk memperkirakan integral - rumus trapesium.

Rumus ini ternyata implisit terhadap y i+1 (nilai ini ada di sisi kiri dan kanan ekspresi), yaitu persamaan terhadap y i+1, yang dapat diselesaikan, misalnya secara numerik, menggunakan beberapa metode iteratif (dalam bentuk seperti itu, dapat dianggap sebagai rumus iteratif dari metode iterasi sederhana).

Komposisi tugas kursus: Tugas kursus terdiri dari tiga bagian. Bagian pertama berisi penjelasan singkat tentang metode. Pada bagian kedua, rumusan dan pemecahan masalah. Bagian ketiga adalah implementasi perangkat lunak dalam bahasa komputer

Tujuan dari kursus ini: untuk mempelajari dua metode untuk menyelesaikan persamaan diferensial - metode Euler-Cauchy dan metode Euler yang ditingkatkan.

1. Bagian teoritis

Diferensiasi numerik

Persamaan diferensial adalah persamaan yang mengandung satu atau lebih turunan. Bergantung pada jumlah variabel independen, persamaan diferensial dibagi menjadi dua kategori.

    Persamaan diferensial biasa (ODE)

    Persamaan diferensial parsial.

Persamaan diferensial biasa adalah persamaan yang mengandung satu atau lebih turunan dari fungsi yang diinginkan. Mereka dapat ditulis sebagai

variabel independen

Orde tertinggi yang termasuk dalam persamaan (1) disebut orde persamaan diferensial.

ODE (linier) yang paling sederhana adalah persamaan (1) urutan yang diselesaikan terhadap turunannya

Penyelesaian persamaan diferensial (1) adalah fungsi apa pun yang, setelah disubstitusikan ke dalam persamaan, mengubahnya menjadi identitas.

Masalah utama yang terkait dengan ODE linier dikenal sebagai masalah Kasha:

Temukan solusi persamaan (2) dalam bentuk fungsi yang memenuhi kondisi awal (3)

Secara geometris, ini berarti perlu dicari kurva integral yang melalui titik ) jika persamaan (2) terpenuhi.

Numerik dari sudut pandang masalah Kasha berarti: diperlukan untuk membuat tabel nilai fungsi yang memenuhi persamaan (2) dan kondisi awal (3) pada suatu segmen dengan langkah tertentu. Biasanya diasumsikan bahwa kondisi awal ditentukan di ujung kiri segmen.

Metode numerik yang paling sederhana untuk menyelesaikan persamaan diferensial adalah metode Euler. Hal ini didasarkan pada gagasan membangun solusi persamaan diferensial secara grafis, tetapi metode ini juga menyediakan cara untuk menemukan fungsi yang diinginkan dalam bentuk numerik atau dalam tabel.

Misalkan diberikan persamaan (2) dengan kondisi awal, yaitu masalah Kasha yang diajukan. Mari kita selesaikan dulu permasalahan berikut ini. Temukan dengan cara yang paling sederhana perkiraan nilai solusi pada titik tertentu yang merupakan langkah yang cukup kecil. Persamaan (2) beserta kondisi awal (3) menentukan arah garis singgung kurva integral yang diinginkan pada titik dengan koordinat

Persamaan tangen memiliki bentuk

Bergerak sepanjang garis singgung ini, kita memperoleh nilai perkiraan solusi pada titik:

Memiliki solusi perkiraan pada suatu titik, Anda dapat mengulangi prosedur yang dijelaskan sebelumnya: buatlah garis lurus yang melalui titik ini dengan koefisien sudut, dan dari situ temukan nilai perkiraan solusi pada titik tersebut.

. Perhatikan bahwa garis ini tidak bersinggungan dengan kurva integral nyata, karena titik tersebut tidak tersedia bagi kita, tetapi jika cukup kecil, nilai perkiraan yang dihasilkan akan mendekati nilai eksak solusi.

Melanjutkan ide ini, mari kita membangun sistem titik-titik yang berjarak sama

Memperoleh tabel nilai fungsi yang dibutuhkan

Metode Euler terdiri dari penerapan rumus secara siklis

Gambar 1. Interpretasi grafis dari metode Euler

Metode integrasi numerik persamaan diferensial, di mana solusi diperoleh dari satu node ke node lainnya, disebut langkah demi langkah. Metode Euler adalah representasi metode langkah demi langkah yang paling sederhana. Ciri dari setiap metode langkah demi langkah adalah bahwa mulai dari langkah kedua, nilai awal dalam rumus (5) itu sendiri merupakan perkiraan, yaitu kesalahan pada setiap langkah berikutnya meningkat secara sistematis. Metode yang paling banyak digunakan untuk menilai keakuratan metode langkah demi langkah untuk perkiraan solusi numerik ODE adalah metode melewati segmen tertentu dua kali dengan satu langkah dan dengan satu langkah.

1.1 Peningkatan metode Euler

Ide pokok metode ini: nilai selanjutnya yang dihitung dengan rumus (5) akan lebih akurat jika nilai turunannya, yaitu koefisien sudut garis lurus yang menggantikan kurva integral pada ruas tersebut, dihitung tidak di sepanjang tepi kiri (yaitu, pada titik), tetapi di tengah segmen. Tetapi karena nilai turunan antar titik tidak dihitung, kita beralih ke bagian ganda yang pusatnya adalah titik tersebut, dan persamaan garis lurus berbentuk:

Dan rumus (5) berbentuk

Rumus (7) hanya berlaku untuk , oleh karena itu tidak dapat diperoleh nilai darinya, oleh karena itu dicari dengan menggunakan metode Euler, dan untuk memperoleh hasil yang lebih akurat dilakukan sebagai berikut: dari awal menggunakan rumus (5) mereka menemukan nilainya

(8)

Pada titik lalu ditemukan menurut rumus (7) dengan langkah-langkah

(9)

Setelah ditemukan perhitungan selanjutnya pada dihasilkan oleh rumus (7)

Jurusan Kimia Fisika SFU (RSU)
METODE NUMERIK DAN PEMROGRAMAN
Bahan kuliah
Dosen – Seni. Putaran. Shcherbakov I.N.

SOLUSI PERSAMAAN DIFERENSIAL BIASA

Pernyataan masalah

Saat memecahkan masalah ilmiah dan teknik, sering kali diperlukan deskripsi matematis suatu sistem dinamis. Ini paling baik dilakukan dalam bentuk persamaan diferensial ( DU) atau sistem persamaan diferensial. Paling sering, masalah ini muncul ketika memecahkan masalah yang berkaitan dengan pemodelan kinetika reaksi kimia dan berbagai fenomena perpindahan (panas, massa, momentum) - perpindahan panas, pencampuran, pengeringan, adsorpsi, ketika menggambarkan pergerakan makro dan mikropartikel.

Persamaan diferensial biasa(ODE) orde ke-n adalah persamaan berikut, yang berisi satu atau lebih turunan dari fungsi yang diinginkan y(x):

Di Sini kamu(n) menunjukkan turunan orde n dari beberapa fungsi y(x), x adalah variabel bebas.

Dalam beberapa kasus, persamaan diferensial dapat diubah menjadi bentuk yang turunan tertingginya dinyatakan secara eksplisit. Bentuk notasi ini disebut persamaan, diselesaikan sehubungan dengan turunan tertinggi(dalam hal ini, turunan tertinggi tidak ada di ruas kanan persamaan):

Bentuk pencatatan inilah yang diterima sebagai standar ketika mempertimbangkan metode numerik untuk menyelesaikan ODE.

Persamaan diferensial linier adalah persamaan yang linier terhadap fungsi y(x) dan semua turunannya.

Misalnya, di bawah ini adalah ODE linier orde pertama dan kedua

Memecahkan persamaan diferensial biasa adalah fungsi y(x) yang, untuk x apa pun, memenuhi persamaan ini dalam interval tertentu yang berhingga atau tak terhingga. Proses penyelesaian persamaan diferensial disebut dengan mengintegrasikan persamaan diferensial.

Solusi umum ODE Orde ke-n berisi n konstanta sembarang C 1 , C 2 , …, C n

Hal ini jelas berasal dari fakta bahwa integral tak tentu sama dengan antiturunan dari integran ditambah konstanta integrasi

Karena n integrasi diperlukan untuk menyelesaikan persamaan diferensial orde ke-n, maka n konstanta integrasi muncul dalam solusi umum.

Solusi pribadi ODE diperoleh dari yang umum jika konstanta integrasi diberi nilai tertentu dengan menentukan beberapa kondisi tambahan, yang jumlahnya memungkinkan kita menghitung semua konstanta integrasi yang tidak pasti.

Solusi yang tepat (analitis). (umum atau khusus) persamaan diferensial berarti memperoleh solusi yang diinginkan (fungsi y(x)) dalam bentuk ekspresi dari fungsi dasar. Hal ini tidak selalu memungkinkan bahkan untuk persamaan orde pertama.

Solusi numerik DE (hasil bagi) terdiri dari penghitungan fungsi y(x) dan turunannya pada beberapa titik tertentu yang terletak pada segmen tertentu. Artinya, penyelesaian persamaan diferensial orde ke-n diperoleh dalam bentuk tabel angka berikut (kolom nilai turunan tertinggi dihitung dengan mensubstitusi nilai-nilai tersebut ke dalam persamaan):

Misalnya, untuk persamaan diferensial orde pertama, tabel solusinya akan memiliki dua kolom - x dan y.

Himpunan nilai absis yang menentukan nilai suatu fungsi disebut jaring, di mana fungsi y(x) didefinisikan. Koordinatnya sendiri disebut node jaringan. Paling sering mereka digunakan untuk kenyamanan grid seragam, yang perbedaan antara node tetangga adalah konstan dan disebut jarak grid atau langkah integrasi persamaan diferensial

Atau , X= 1, …, N

Untuk menentukan solusi pribadi perlu untuk menetapkan kondisi tambahan yang memungkinkan konstanta integrasi dihitung. Selain itu, harus ada n kondisi seperti itu. Untuk persamaan orde pertama - satu, untuk persamaan orde kedua - 2, dst. Bergantung pada cara penyelesaiannya ketika menyelesaikan persamaan diferensial, ada tiga jenis masalah:

· Masalah Cauchy (masalah awal): Perlu menemukan sesuatu seperti ini solusi pribadi persamaan diferensial yang memenuhi tertentu kondisi awal yang ditentukan pada satu titik:

yaitu, nilai tertentu dari variabel bebas (x 0), dan nilai fungsi serta semua turunannya hingga orde (n-1) pada titik ini diberikan. Titik ini (x 0) disebut utama. Misalnya, jika DE orde 1 sedang diselesaikan, maka kondisi awal dinyatakan sebagai pasangan bilangan (x 0 , y 0)

Masalah seperti ini terjadi saat penyelesaian SYAIR PUJIAN, yang menjelaskan, misalnya, kinetika reaksi kimia. Dalam hal ini, konsentrasi zat pada saat awal diketahui ( t = 0), dan konsentrasi zat perlu dicari setelah jangka waktu tertentu ( T) . Sebagai contoh, kita juga dapat mencontohkan masalah perpindahan panas atau perpindahan massa (difusi), persamaan gerak suatu titik material di bawah pengaruh gaya, dan lain-lain.

· Masalah nilai batas . Dalam hal ini, nilai fungsi dan (atau) turunannya diketahui di lebih dari satu titik, misalnya pada waktu awal dan waktu akhir, dan perlu dicari solusi khusus persamaan diferensial antara keduanya. poin. Kondisi tambahan itu sendiri dalam hal ini disebut regional (perbatasan) kondisi. Secara alami, masalah nilai batas dapat diselesaikan untuk ODE minimal orde ke-2. Di bawah ini adalah contoh ODE orde kedua dengan kondisi batas (diberikan nilai fungsi pada dua titik berbeda):

· Masalah Sturm-Liouville (masalah nilai eigen). Permasalahan jenis ini mirip dengan permasalahan nilai batas. Saat menyelesaikannya, perlu untuk menemukan nilai parameter apa pun yang menjadi solusinya DU memenuhi kondisi batas (nilai eigen) dan fungsi yang merupakan solusi DE untuk setiap nilai parameter (fungsi eigen). Misalnya, banyak permasalahan dalam mekanika kuantum merupakan permasalahan nilai eigen.

Metode numerik untuk menyelesaikan masalah Cauchy ODE orde pertama

Mari kita pertimbangkan beberapa metode numerik untuk menyelesaikannya Masalah Cauchy(masalah awal) persamaan diferensial biasa orde pertama.

(6.2)

Mari kita tulis persamaan ini dalam bentuk umum, diselesaikan terhadap turunannya (ruas kanan persamaan tidak bergantung pada turunan pertama):

Nilai fungsi y harus dicari pada titik-titik tertentu pada grid jika nilai awalnya diketahui, dimana terdapat nilai fungsi y(x) pada titik awal x 0.

Mari kita ubah persamaannya dengan mengalikannya dengan d x

(6.3)

Dan kami mengintegrasikan sisi kiri dan kanan antara node grid ke-i dan i+ ke-1.

Kita telah memperoleh ekspresi untuk membangun solusi pada node integrasi i+1 melalui nilai x dan y pada node grid ke-i. Namun kesulitannya terletak pada kenyataan bahwa integral di ruas kanan merupakan integral dari suatu fungsi yang diberikan secara implisit, yang umumnya tidak mungkin ditemukan dalam bentuk analitis. Metode numerik untuk menyelesaikan ODE dengan berbagai cara memperkirakan (memperkirakan) nilai integral ini untuk membuat rumus integrasi numerik ODE.

Dari sekian banyak metode yang dikembangkan untuk menyelesaikan ODE orde pertama, kami mempertimbangkan metode , dan . Mereka cukup sederhana dan memberikan gambaran awal tentang pendekatan untuk memecahkan masalah ini dalam kerangka solusi numerik.

metode Euler , X Secara historis, cara pertama dan paling sederhana untuk menyelesaikan masalah Cauchy secara numerik untuk ODE orde pertama adalah metode Euler. Hal ini didasarkan pada perkiraan turunan dengan rasio kenaikan terbatas dari dependen ( Pernyataan masalah) dan mandiri (

) variabel antar node pada grid seragam:

di mana y i+1 adalah nilai fungsi yang diinginkan di titik x i+1. Jika sekarang kita mengubah persamaan ini dan memperhitungkan keseragaman kisi integrasi, kita memperoleh rumus berulang yang dapat digunakan untuk menghitung kamu saya+1

, jika y i diketahui di titik x i:

Membandingkan rumus Euler dengan persamaan umum yang diperoleh sebelumnya, jelas bahwa untuk kira-kira menghitung integral dalam, metode Euler menggunakan rumus integrasi paling sederhana - rumus persegi panjang di sepanjang tepi kiri segmen.

Interpretasi grafis dari metode Euler juga mudah (lihat gambar di bawah). Memang benar, berdasarkan bentuk persamaan yang diselesaikan (), maka nilai tersebut adalah nilai turunan dari fungsi y(x) di titik x=xi - , dan dengan demikian sama dengan garis singgung dari sudut singgung yang ditarik ke grafik fungsi y(x) di titik x =xi .

Dari sinilah rumus Euler berasal. Jadi inti dari metode Euler adalah mengganti fungsi y(x) pada ruas integrasi dengan garis lurus yang bersinggungan dengan grafik di titik x=xi. Jika fungsi yang diinginkan sangat berbeda dengan fungsi linier pada segmen integrasi, maka kesalahan perhitungan akan signifikan. Kesalahan metode Euler berbanding lurus dengan langkah integrasi:

Kesalahan~h

Proses perhitungannya disusun sebagai berikut. Untuk kondisi awal tertentu x 0 Dan kamu 0 dapat dihitung

Jadi, tabel nilai fungsi y(x) dibuat dengan langkah tertentu ( H) Oleh Pernyataan masalah pada segmen tersebut. Kesalahan dalam menentukan nilai kamu(x saya) H dalam hal ini, semakin kecil panjang langkah yang dipilih, maka akan semakin kecil

(yang ditentukan oleh keakuratan rumus integrasi).

Untuk h yang besar, metode Euler sangat tidak akurat. Ini memberikan perkiraan yang semakin akurat seiring dengan menurunnya langkah integrasi. Jika segmen terlalu besar, maka setiap bagian dibagi menjadi N segmen integrasi dan rumus Euler diterapkan pada masing-masing segmen dengan satu langkah, yaitu langkah integrasi h diambil lebih kecil dari langkah grid tempat solusinya. ditentukan.

Contoh:

Dengan menggunakan metode Euler, buatlah solusi perkiraan untuk masalah Cauchy berikut:

Pada grid dengan langkah 0,1 pada interval (6,5)

Larutan:

Persamaan ini telah ditulis dalam bentuk standar, diselesaikan terhadap turunan fungsi yang diinginkan.

Oleh karena itu, untuk menyelesaikan persamaan yang kita miliki

Mari kita ambil langkah integrasi yang sama dengan langkah grid h = 0,1. Dalam hal ini, hanya satu nilai yang akan dihitung untuk setiap node grid (N=1). Untuk empat node grid pertama perhitungannya adalah sebagai berikut: .

Hasil lengkap (akurat sampai desimal kelima) diberikan di kolom ketiga - h =0,1 (N =1). Sebagai perbandingan, kolom kedua tabel menunjukkan nilai yang dihitung dari solusi analitik persamaan ini

Bagian kedua dari tabel menunjukkan kesalahan relatif dari solusi yang diperoleh. Terlihat pada h =0.1 errornya sangat besar yaitu mencapai 100% untuk node pertama x =0.1.

Pernyataan masalahTabel 1 Penyelesaian persamaan dengan metode Euler (untuk kolom, langkah integrasi dan jumlah segmen integrasi N antar node grid ditunjukkan)
Tepat
0,1 0,05 0,025 0,00625 0,0015625 0,0007813 0,0001953
1 2 4 16 64 128 512
0 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000
0,1 0,004837 0,000000 0,002500 0,003688 0,004554 0,004767 0,004802 0,004829
0,2 0,018731 0,010000 0,014506 0,016652 0,018217 0,018603 0,018667 0,018715
0,3 0,040818 0,029000 0,035092 0,037998 0,040121 0,040644 0,040731 0,040797
0,4 0,070320 0,056100 0,063420 0,066920 0,069479 0,070110 0,070215 0,070294
0,5 0,106531 0,090490 0,098737 0,102688 0,105580 0,106294 0,106412 0,106501
0,6 0,148812 0,131441 0,140360 0,144642 0,147779 0,148554 0,148683 0,148779
0,7 0,196585 0,178297 0,187675 0,192186 0,195496 0,196314 0,196449 0,196551
0,8 0,249329 0,230467 0,240127 0,244783 0,248202 0,249048 0,249188 0,249294
0,9 0,306570 0,287420 0,297214 0,301945 0,305423 0,306284 0,306427 0,306534
1 0,367879 0,348678 0,358486 0,363232 0,366727 0,367592 0,367736 0,367844

larutan

Pernyataan masalah H 0,1 0,05 0,025 0,00625 0,0015625 0,0007813 0,0001953
Kesalahan relatif dari nilai fungsi yang dihitung untuk h yang berbeda 1 2 4 16 64 128 512
0,1 100,00% 48,32% 23,76% 5,87% 1,46% 0,73% 0,18%
0,2 46,61% 22,55% 11,10% 2,74% 0,68% 0,34% 0,09%
0,3 28,95% 14,03% 6,91% 1,71% 0,43% 0,21% 0,05%
0,4 20,22% 9,81% 4,83% 1,20% 0,30% 0,15% 0,04%
0,5 15,06% 7,32% 3,61% 0,89% 0,22% 0,11% 0,03%
0,6 11,67% 5,68% 2,80% 0,69% 0,17% 0,09% 0,02%
0,7 9,30% 4,53% 2,24% 0,55% 0,14% 0,07% 0,02%
0,8 7,57% 3,69% 1,82% 0,45% 0,11% 0,06% 0,01%
0,9 6,25% 3,05% 1,51% 0,37% 0,09% 0,05% 0,01%
1 5,22% 2,55% 1,26% 0,31% 0,08% 0,04% 0,01%

N

(6.6)

Rumus ini ternyata implisit terhadap y i+1 (nilai ini ada di sisi kiri dan kanan ekspresi), yaitu persamaan terhadap y i+1, yang dapat diselesaikan, misalnya secara numerik, menggunakan beberapa metode iterasi (dalam bentuk seperti itu, dapat dianggap sebagai rumus iteratif dari metode iterasi sederhana). Namun, Anda dapat melakukannya secara berbeda dan sekitar menghitung nilai suatu fungsi pada sebuah node saya+1 menggunakan rumus biasa:

,

yang kemudian dapat digunakan dalam perhitungan menurut (6.6).

Ini memberikan metodenya Guna atau metode Euler dengan perhitungan ulang. Untuk setiap node integrasi, rangkaian perhitungan berikut dilakukan

(6.7)

Berkat rumus integrasi yang lebih akurat, kesalahan metode Hün sebanding dengan kuadrat langkah integrasi.

Kesalahan~ jam 2

Pendekatan yang digunakan dalam metode Gün digunakan untuk membangun apa yang disebut metode perkiraan dan koreksi, yang akan dibahas nanti.

Untuk h yang besar, metode Euler sangat tidak akurat. Ini memberikan perkiraan yang semakin akurat seiring dengan menurunnya langkah integrasi. Jika segmen terlalu besar, maka setiap bagian dibagi menjadi N segmen integrasi dan rumus Euler diterapkan pada masing-masing segmen dengan satu langkah, yaitu langkah integrasi h diambil lebih kecil dari langkah grid tempat solusinya. ditentukan.

Mari kita lakukan perhitungan persamaan () menggunakan metode Hün.

Dengan langkah integrasi h =0,1 pada node grid pertama x 1 kita peroleh:

Yang jauh lebih akurat dibandingkan nilai yang diperoleh dengan metode Euler dengan langkah integrasi yang sama. Tabel 2 di bawah ini menunjukkan perbandingan hasil perhitungan h = 0,1 metode Euler dan Gün.

Tabel 2 Penyelesaian persamaan dengan metode Euler dan Gün

Pernyataan masalah Tepat metode Gun metode Euler
, X rel. kesalahan , X rel. kesalahan
0 0,000000 0,00000 0,00000
0,1 0,004837 0,00500 3,36% 0,00000 100,00%
0,2 0,018731 0,01903 1,57% 0,01000 46,61%
0,3 0,040818 0,04122 0,98% 0,02900 28,95%
0,4 0,070320 0,07080 0,69% 0,05610 20,22%
0,5 0,106531 0,10708 0,51% 0,09049 15,06%
0,6 0,148812 0,14940 0,40% 0,13144 11,67%
0,7 0,196585 0,19721 0,32% 0,17830 9,30%
0,8 0,249329 0,24998 0,26% 0,23047 7,57%
0,9 0,306570 0,30723 0,21% 0,28742 6,25%
1 0,367879 0,36854 0,18% 0,34868 5,22%

Mari kita perhatikan peningkatan yang signifikan dalam keakuratan perhitungan metode Hün dibandingkan dengan metode Euler. Jadi, untuk simpul x =0,1, deviasi relatif dari nilai fungsi yang ditentukan dengan metode Huyn ternyata 30 (!) kali lebih kecil. Keakuratan penghitungan yang sama menggunakan rumus Euler dicapai bila jumlah segmen integrasi N kira-kira 30. Oleh karena itu, bila menggunakan metode Hün dengan keakuratan penghitungan yang sama, waktu komputer yang dibutuhkan kira-kira 15 kali lebih sedikit dibandingkan bila menggunakan metode Euler. .

Memeriksa stabilitas solusi

Solusi ODE di suatu titik x i disebut stabil jika nilai fungsinya ditemukan pada titik tersebut kamu aku berubah sedikit seiring menurunnya langkah integrasi. Oleh karena itu, untuk memeriksa stabilitas, perlu dilakukan dua perhitungan nilai ( kamu aku) – dengan langkah integrasi h dan dengan ukuran langkah yang diperkecil (misalnya, dua).

Sebagai kriteria stabilitas, Anda dapat menggunakan kecilnya perubahan relatif dalam solusi yang diperoleh ketika langkah integrasi dikurangi (ε adalah nilai kecil yang telah ditentukan)

Pemeriksaan ini dapat dilakukan untuk semua solusi pada seluruh rentang nilai Pernyataan masalah. Jika kondisi tidak terpenuhi, maka langkah tersebut dibagi lagi menjadi dua dan ditemukan solusi baru, dan seterusnya. sampai diperoleh larutan yang stabil.

Metode Runge-Kutta

Peningkatan lebih lanjut dalam akurasi penyelesaian ODE orde pertama dimungkinkan dengan meningkatkan akurasi perhitungan perkiraan integral dalam ekspresi.

Kita telah melihat keuntungan berpindah dari integrasi menggunakan rumus persegi panjang () ke menggunakan rumus trapesium () ketika memperkirakan integral ini.

Dengan menggunakan rumus Simpson yang telah terbukti, Anda bisa mendapatkan rumus yang lebih akurat untuk menyelesaikan masalah Cauchy untuk ODE orde pertama - metode Runge-Kutta yang banyak digunakan dalam praktik komputasi.

Keuntungan dari metode multi-langkah Adams untuk menyelesaikan ODE adalah bahwa pada setiap node hanya satu nilai sisi kanan ODE yang dihitung - fungsi F(x,y). Kerugiannya termasuk ketidakmungkinan memulai metode multi-langkah dari satu titik awal, karena perhitungan menggunakan rumus k-langkah memerlukan pengetahuan tentang nilai fungsi pada k node. Oleh karena itu, perlu diperoleh solusi (k-1) pada node pertama x 1 , x 2 , …, x k-1 dengan menggunakan beberapa metode satu langkah, misalnya metode