Activitatea de laborator privind soluționarea problemelor de valoare limită în Matlab

Una dintre cele mai comune modalități de rezolvare a două puncte probleme la limita pe intervalul [a, b] (în cazul în care condițiile suplimentare impuse prin decizia punctelor de la punctele finale), inclusiv non-lineară, o metodă de ardere.

În rezolvarea problemei de tragere problema valorii limită se reduce la soluția problemei Cauchy, valorile inițiale care lipsesc sunt un vector de parametri ale căror valori și sunt „reducerea la zero“.

În MatLab pentru a găsi acest vector are opțiunea bvp4c (odefun, bcfun, solinit). Aici odefun - în funcție de partea dreaptă a sistemului de ecuații diferențiale de ordinul 1; bcfun - funcția calculează diferența dintre valoarea de la un punct de delimitare și valoarea exactă; solinit - structură cu câmpuri și solinit.y solinit.x. Aici x - setați intervalul de partiției nodurilor [a, b], în care a = solinit.x (1) și b = solinit.x (final); y - vector y de valori inițiale la nodurile x. Numele structurii poate fi orice, dar numele câmpurilor trebuie să fie x și y. Pentru a defini structura poate fi utilizată funcția bvpinit (x, v).

Algoritmul pentru rezolvarea problemelor de valoare metoda de fotografiere limita.

Să ne gândim mai detaliat un algoritm pentru rezolvarea problemei limita prin ardere exemplul următoarele sarcini:

Aici este ecuația sistemului la un sistem de ecuații de ordinul 1:

Noi pune această problemă ca problema Cauchy:

unde α - a inclus parametrul de ajustare.

Diferențierea ecuația sistemului și condițiile de limită ale parametrilor a și denote. Ca rezultat, obținem problema Cauchy

După ce a rezolvat această problemă, obținem valori ale lui y (1) și v (1).

Pentru a găsi parametrul a, îndeplinește condițiile limită ale problemei inițiale care trebuie rezolvată ecuația neliniare

Conform metodei lui Newton soluția de ecuații neliniare, valoarea α k + 1 poate fi calculată printr-o formulă iterativă

în care yend = y (1), vend = v (1), iar SuperScript indică numărul de iterații. Iterațiilor sunt terminate atunci când condiția | αk + 1 - αk | ≤ε, unde ε - dat fiind constantă.

Exemplu de rezolvare a problemelor la limita in MatLab.

Luați în considerare soluția problemei de delimitare mai sus formulată în MatLab.

Va crea M - fișiere cu caracteristici ode2 (x, y)

Salvați fișierul.

Spațiul de lucru MatLab a crea structura solinit datele inițiale de 10 puncte distribuite uniform pe [1,2] cu valori constante y (1) = 2 și y (2) = 9:

Noi rezolva problema în MatLab spațiul de lucru:

După ultima comanda o fereastra cu graficul de soluții:

Este de asemenea posibil pentru a rezolva această problemă nu este în fereastra de comandă și sub formă de M - fișier:

După Debuger comanda => Run, sau apăsând o „tastă fierbinte“ F5 apare soluții grafic.

Rezolva problemele de valoare limită. Imprimați programul soluției.

  1. h²y '' + xy „- y = x²; y (1) = 1.333, y „(3) = 3.
  2. y '' + xy „+ y = 2x; y (0) = 1, y (1) = 0.
  3. y '' + ychx = 0; y (0) = 0, y (2.2) = 1.
  4. y '' + (x - 1) y „+ 3.125y = 4x; y (0) = 1, y (1) = 1.368.
  5. h²y '' - 2y = 0; y (1) -2y „(1) = 0, y (2) = 4,5.
  6. y '' + x²y = -2; y (-1) = 0, y (1) = 0.
  7. -y '' + x²y = (π² / 4 + x²) cos (πx / 2); y (0) = 1, y (1) = 0.

articole similare