|
Fizik jarayonlarni kompyuterda modellashtirish
|
bet | 95/135 | Sana | 22.05.2024 | Hajmi | 15,08 Mb. | | #250347 |
Bog'liq Fizik jarayonlarni kompyuterda modellashtirishMisol-1. xdx+ydy=0 Integrallab differensial tenglamaning umumiy yechimini topamiz:
Agar desak, ga ega bulamiz. Bu markazi koordinata boshida yetuvchi, radiusi S1 ga teng bo’lgan konsentrik aylanalar oilasidan iborat. (2) ko’rinishdagi differensial tenglamani noma’lumlari ajraladigan differensial tenglama deyiladi. Bu tenglamani umumiy integralini topish uchun tenglikni ikkala qismini Q1(y)P2(x)0 ga bulib, uni noma‟lumlarini ajratib olamiz:
Buni integrallab umumiy integral topiladi.
Eslatma: y’=f1(x)f2(y) (3) tenglama ham uzgaruvchilari ajraladigan tenglama deyiladi. Buni umumiy integralini topish uchun y’qdy/dx shaklida ifodalab,
kurinishdagi differensial tenglama xosil kilamiz. Tenglikni
ga kupaytrish natijasida uzgaruvchilarni ajratiladi:
Endi xar ikkala tomonini integrallab, umumiy integralini topamiz:
Tenglamani yechimini topuvchi dastur. Dasturni C++da keltiramiz:
1 #include
2 #include
3 #include
4 #include
5 #include
6 float a, b, x, y, x0, y0, z, h, P[100];
7 int n, i;
8 float Eyler()
9 { return x-y;
10 }
11 int main()
12 { clrscr();
13 cout << "Marhamat quyidagi o`zgaruvchilarning qiymatini kiriting: \n";
14 cout << "A = "; cin >> a;
15 cout << "B = "; cin >> b;
16 cout << "N = "; cin >> n;
17 cout << "X0 = "; cin >> x0;
18 cout << "Y0 = "; cin >> y0;
19 hq(b-a)/n; x=x0; y=y0;
20 cout << "h = " << h;
21 for (i=1; i<=n; i++)
22 { z=Eyler();
23 cout << i << " z = " << z;
24 P[i]=y + h*z;
25 cout << "Y [" << i << "] q ="<< P[i] << "\n";
26 y=P[i]; x=x+h;
27 }
28 return 0;
29 }
Natija:
A=0
B=1
N=5
X0=0
Y0=0.8
Y[1] = 1
Y[2] = 2.15
Y[3] = 3.346
Y[4] = 4.5145
|
| |