Mavzu: Oddiy differensial tenglamalar (odt) uchun qo`yilgan chegaraviy masalalarni
Download 77.74 Kb.
|
1 2
Bog'liqlabaratoriya2
- Bu sahifa navigatsiya:
- 4. Topshiriq variantlari
Chekli ayirmalar usuliBu usulning qulayligi shundaki, u diffirensial tenglama uchun chegaraviy masalani yechishni izlanayotgan funksiyaning ma’lum nuqtalardagi qiymatlariga nisbatan algebraik tenglamalar sistemasini yechishga olib keladi. Bunga diffirensial tenglamadagi hosilalarni chekli ayirmali approksimatsiya qilish orqali erishiladi. Quyidagi tenglamaning [a, b] kesmada Lu u pxu qxu f x, (5) l0 y c1 ya c2 ya c, l1 y d1 yb d2 yb d. (6) c1 c2 0, d1 d2 0. shartlarni qanoatlantiruvchi yechimini topish talab etilgan bo`lsin. Masalani sonli yechish izlanayotgan u(x) haqiqiy yechimning x0, x1, x2,..., xn nuqtalardagi y0, y1,...yn taqribiy qiymatlarini topishdan iborat. xi, nuqtalar to`r tugunlari deb ataladi. Bir-biridan bir xil uzoqlikda joylashgan tugunlar sistemasidan hosil bo`lgan quyidagi tekis to`rni qo`llaymiz xi=x0+ih, i=0,1,2,...,n. Bundan h – kattalik to`r qadami. x0=a, xn=b, h=(b-a)/n. Quyidagi belgilashlarni kiritamiz p(xi)=pi, q(xi)=qi, f(xi)=fi, yxi yi , yxi yi, y xi yi. yxi va y xi larni har bir ichki tugunda ayirmali markaziy hosilalar yordamida approksimatsiyalaymiz yxi yi1 yi1 2h Oh2 , y xi yi 1 2 yi yi 1 Oh2 . h2 Kesma oxirilarida bir tomonlama ayirmali іosilalarni qo`llaymiz y0 y1 y0 h Oh, yn yn yn1 Oh. h Bu formulalarni qo`llab (5), (6) berilgan masala ayirmali approksimatsiyasini hosil qilamiz: yi1 2 yi yi1 p yi1 yi1 q y f , i 1, n 1, h 2 i 2h y1 y0 i i i c1 y0 c2 c, h (7) d y 1 n d 2 yn yn1 h d. Izlanayotgan echimning y0, y1,…, yn taqribiy qiymatlarini topish uchun (7) n+1 noma`lumli n+1 ta chiziqli tenglamalar sistemasini echish zarur. Bu sistemani CHATS ni echishning biron bir standart usullari (Gauss usuli, iteratsiya, Zeydel, bosh elementlar, relaksatsiya va h.k.) yordamida echish mumkin. Ammo (7) tenglamalar koeffitsientlaridan tuzilgan matritsa uch dioganallidir, shuning uchun uni echishda progonka usuli deb ataluvchi maxsus usulni qo`llaymiz. sistemani quyidagi tarzda yozamiz 0 y0 0 y1 0 y i i 1 i yi i yi 1 i , i 1, 2,...,n 1, (8) y n n1 n yn n , bunda 0=- c1h+c2 , 0=c2 , 0=hc , I=fih2, 1 1 i 2 pi h , 2 q h2 , i 1 pi h , 2 i 1,2,...,n 1 i i n= –d2 , n=-hd1-d2 , n=hd. sistema echimini quyidagi ko`rinishda izlaymiz yi=ui+viyi+1 , i=0, 1, . . . , n-1, (9) bu erada ui, vi , i=0,1,…,(n-1) lar progonka koeffitsientlari deb ataladi. ni (8) ga qo`yib ui, vi lar uchun quyidagi rekkurent formulani hosil qilamiz: i i v i , u i i ui 1 , i 1, n. (10) i i i vi 1 i vi 1 Hisoblash sxemasini bir jinsli qilish uchun 0=0, n=0, deb olamiz. Progonka usuli ikki bosqichdan iborat. Progonkaning to`g`ri yo`li. (10) bo`yicha i indes o`zgarishining o`sib borish tartibida ketma-ket ui, vi koeffitsientlar 0 v 0 , 0 u 0 , 0 0 (11) qiymatlar yordamida hisoblanadi. Progonkaning teskari yo`li. (9) formula bo`yicha i indeksning kamayish tartibida ketma-ket yn, yn-1,…,y0 kattaliklar aniqlanadi. SHunday qilib n=0, u holda vn=0 va yn=un , (12) ya`ni progonkaning to`g’ri yo`lida vi , ui kattaliklar yordami bilan yn-1, yn-2, yn-3,…,y0 yechimlar hisoblanadi. y9 u9 v9 y10 y8 u8 v8 y9 . . . . . . . . . . . . . . . . . . . 4. Topshiriq variantlariMasala. Ikkinchi tartibli oddiy diffirensial tenglama uchun (5), (6) chegaraviy masalani chekli ayirmalar usuli bilan yeching. Barcha vaiantlar uchun n=10, a=0, b=1, c2=0, d2=0. Qolgan parametrlarning qiymatlari 2-jadvalda berilgan. 2-jadval
JURNALDAGI TARTIB RAQAMIM 19 C++ dagi kodi quyidagidan iborat bo’ladi *******************************************************************************/ #include #include using namespace std; int main() { float x[11],p[11],q[11],u[11],y[11],v[11],f=1.7; u[0]=-2.5; v[0]=0; //cout< { x[i]=i*0.1; //cout< // cout< q[i]=26.5*x[i]+3; // cout<} float alfa[11],betta[11],gamma[11]; for(int i=0;i<=10;i++) { alfa[i]=1-(0.1*p[i])/2; betta[i]=2-q[i]*0.01; gamma[i]=1+p[i]*0.1/2; } for(int i=1;i<=10;i++) { v[i]=gamma[i]/(betta[i]+alfa[i]*v[i-1]); //cout< } y[10]=u[10]; for(int i=9;i>=0;i--) { y[i]=u[i]+v[i]*y[i+1]; cout< return 0; } Download 77.74 Kb. Do'stlaringiz bilan baham: |
1 2
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling