Berdaq nomidagi qoraqolpoq davlat universiteti fizika-matematika fakulteti
Download 0.73 Mb.
|
Otabek kursishi to'liq --1
- Bu sahifa navigatsiya:
- Mundarija
O’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI BERDAQ NOMIDAGI QORAQOLPOQ DAVLAT UNIVERSITETI FIZIKA-MATEMATIKA FAKULTETI Amaliy matematika kafedrasi “Hisoblash usullari” fanidan Kurs ishi Mavzu:CHATSlarni qo’shma gradientlar usuli bilan yechish Bajardi: 3A-kurs talabasi Qabul qildi: Qabul qilingan sana: Yo’ldoshev Otabek prof.Otarov A.O _____________________ Nukus_2018 MundarijaKirish 7 I.Nazariy qismi 9 1-§. Usulning asosiy ma’nosi 9 2-§. Qo’shma gradientlar usulini hisoblash algaritimi 11 3-§. Usulni hisoblash algaritmning cheklanganligi 16 4-§. Qo’shma gradientlar usulining yangi varianti 18 II.Amaliy qismi 23 1.Sonli misol. Masalaning qo’yilishi 23 2. Qo’shma gradientlar usulining va qo’shma gradientlar usulining yangi variantining hisoblash algaritimlari. 23 4. EHM lar uchun tuzilgan dastur. 29 5.EHM lar uchun tuzilgan dasturning natijalr oynasi 30 XULOSA 31 Foydalangan adabiyotlar 32 Qo’shimchalar. 34 Qo’shma gradientlar usuli. 34 #include #include #include #include #include using namespace std; 34 int main() 34 { char dl=187,ss=188; 34 int n=5,i,j,k=0; 34 float a[n][n],b[n],e,s[n],x[1000][n],r[1000][n],ro[1000][n],alfa[1000],beta[1000]; 34 float q,p,d,g,h,normamax; e=0.000001; 34 a[1][1]=5.18; a[1][2]=1.12; a[1][3]=0.95; a[1][4]=1.32; a[1][5]=0.83; 34 a[2][1]=1.12; a[2][2]=4.28; a[2][3]=2.12; a[2][4]=0.57; a[2][5]=0.91; 34 a[3][1]=0.95; a[3][2]=2.12; a[3][3]=6.13; a[3][4]=1.29; a[3][5]=1.57; 34 a[4][1]=1.32; a[4][2]=0.57; a[4][3]=1.29; a[4][4]=4.57; a[4][5]=1.25; 34 a[5][1]=0.83; a[5][2]=0.91; a[5][3]=1.57; a[5][4]=1.25; a[5][5]=5.21; 34 b[1]=6.19; b[2]=3.21; b[3]=4.28; b[4]=6.25; b[5]=4.95; 34 for(i=1;i<=n;i++) x[k][i]=0; 34 cout<<"\n\n *** CH.A.T.S LARNI QO'SHMA GRADIENTLAR'***"< cout<<" *** USULI BILAN HISOBLASH. ***"< cout<<" ЙНННЛНННННННННННННЛНННННННННННННЛНННННННННННННЛНННННННННННННЛННННННННННННН"< cout<<" є k є x1 є x2 є x3 є x4 є x5 є \n"; 34
cout<<" МНННОНННННННННННННОНННННННННННННОНННННННННННННОНННННННННННННОННННННННННННН№\n"; 34 do{ 34
q=0; d=0; p=0; g=0; h=0; 34 { 35
s[i]+=a[i][j]*x[k][j]; 35 r[k][i]=b[i]-s[i]; 35
q+=r[k][i]*r[k][i];} 35 normamax=sqrt(q); if(k==0) 35
{ for(i=1;i<=n;i++) 35 { ro[k][i]=r[k][i]; 35
s[i]=0; 35 for(j=1;j<=n;j++) 35
s[i]+=a[i][j]*r[k][j]; 35 d+=r[k][i]*r[k][i]; 35
p+=s[i]*r[k][i]; } 35 alfa[k]=d/p; 35
for(i=1;i<=n;i++) 35 x[k+1][i]=x[k][i]+alfa[k]*ro[k][i];} 35
else{for(i=1;i<=n;i++) { 35 s[i]=0; 35
for(j=1;j<=n;j++) 35 s[i]+=a[i][j]*ro[k-1][j]; 35
g+=s[i]*r[k][i]; 35 h+=s[i]*ro[k-1][i];} 35
beta[k-1]=-g/h; 35 for(i=1;i<=n;i++) 35
ro[k][i]=r[k][i]+beta[k-1]*ro[k-1][i]; 35 for(i=1;i<=n;i++) 35
{ 35
for(j=1;j<=n;j++) 36 s[i]+=a[i][j]*ro[k][j]; 36
p+=ro[k][i]*s[i]; 36 d+=r[k][i]*ro[k][i];} 36
alfa[k]=d/p; 36 for(i=1;i<=n;i++) 36
x[k+1][i]=x[k][i]+alfa[k]*ro[k][i];} 36 if(k<10) 36
cout<<" є "< else cout<<" є "< for(i=1;i<=n;i++){ 36 if(x[k][i]>=0) cout<<" "; cout< k++; cout< }while(normamax>=e); 36
cout<<" ИНННКНННННННННННННКНННННННННННННКНННННННННННННКНННННННННННННКННННННННННННН"< cout<<"Javob: "; 36
for(i=1;i<=n;i++) 36 cout<<"x"<
return 0; 36 } 36
Qo’shma gradientlar usulining yangi variant. 36 #include #include using namespace std; 36 int main() { char dd=187,ss=188; 36
int i,j,k=0,n=5; 36 float x[10000][n],y[10000][n],l=0,t=0,q=0,m=0; 36
float eta[10000][n],r[10000][n],Ay[n],r3[10000],e=0.000001; 37 float alfa=0, Ar[n],d=0, gamma[10000],delta[10000],An[n]; 37
float a[6][6]={ 37 {5.18,1.12,0.95,1.32,0.83}, 37
{1.12,4.28,2.12,0.57,0.91}, 37 {0.95,2.12,6.13,1.29,1.57}, 37
{1.32,0.57,1.29,4.57,1.25}, 37 {0.83,0.91,1.57,1.25,5.21} }; 37
float b[6]={6.19,3.21,4.28,6.25,4.95}; 37 cout< cout<<"\n\n *** CH.A.T.S LARNI QO'SHMA GRADIENTLAR USULINING ***"< cout<<" *** YANGI VARIANTI BILAN HISOBLASH ***"< cout<<" ЙННННЛНННННННННННННЛНННННННННННННЛНННННННННННННЛНННННННННННННЛННННННННННННН"< cout<<" є k є x1 є x2 є x3 є x4 є x5 є\n"; 37
cout<<" МННННОНННННННННННННОНННННННННННННОНННННННННННННОНННННННННННННОННННННННННННН№\n"; 37 for(j=0; j do{ if(k==0){for(i=0; i Ar[i]=0; q+=r[k][i]*r[k][i]; 37
for(j=0; j } 37
alfa=q/d; for(j=0; j if(k>=1) { for(i=0; i for(j=0; j for(i=0; i for(j=0; j l+=r[k][i]*An[i]; q+=r[k][i]*r[k][i]; t+=eta[k][i]*An[i]; m+=r[k][i]*Ar[i];} gamma[k]=-(l*q)/((t*m)-l*l); 38 delta[k]=(t*q)/((t*m)-l*l); 38
float w[n]; for(i=0; i x[k+1][i]=y[k+1][i];}} 38
r3[k]=sqrt(q); if(k<10) cout<<" є "< for(i=0;i cout<<" ИННННКНННННННННННННКНННННННННННННКНННННННННННННКНННННННННННННКННННННННННННН"< cout< {cout<<"x"<
return 0;} 38
С++ tilidagi pragrammaning natijalari: 38 *** CH.A.T.S LARNI QO'SHMA GRADIENTLAR USULINING *** 38
*** YANGI VARIANTI BILAN HISOBLASH *** 38 ╔════╦═════════════╦═════════════╦═════════════╦═════════════╦═════════════╗ 38
║ k ║ x1 ║ x2 ║ x3 ║ x4 ║ x5 ║ 38 ╠════╬═════════════╬═════════════╬═════════════╬═════════════╬═════════════╣ 38
║ 0 ║ 0.0000000000║ 0.0000000000║ 0.0000000000║ 0.0000000000║ 0.0000000000║ 38 ║ 1 ║ 0.6557950377║ 0.3400810957║ 0.4534415007║ 0.6621516943║ 0.5244241357║ 38
║ 2 ║ 0.8291208744║ 0.2033067793║ 0.1800185144║ 0.8857733011║ 0.5218195915║ 38 ║ 3 ║ 0.7975594997║ 0.2176272720║ 0.1760817170║ 0.9215912819║ 0.5118417144║ 38
║ 4 ║ 0.7987072468║ 0.2242968529║ 0.1726970673║ 0.9208015203║ 0.5100453496║ 38 ║ 5 ║ 0.7983789444║ 0.2245308906║ 0.1722318977║ 0.9206448197║ 0.5109041929║ 38
║ 6 ║ 0.7983790040║ 0.2245310098║ 0.1722321212║ 0.9206448793║ 0.5109043121║ 38 ╚════╩═════════════╩═════════════╩═════════════╩═════════════╩═════════════╝ 38
JAVOBI:x1=0.7983790040; 39 x2=0.2245310098; 39
x3=0.1722321212; 39 x4=0.9206448793; 39
x5=0.5109043121; 39 *** CH.A.T.S LARNI QO'SHMA GRADIENTLAR'*** 39
*** USULI BILAN HISOBLASH. *** 39 ╔═══╦═════════════╦═════════════╦═════════════╦═════════════╦═════════════╗ 39
║ k ║ x1 ║ x2 ║ x3 ║ x4 ║ x5 ║ 39 ╠═══╬═════════════╬═════════════╬═════════════╬═════════════╬═════════════╣ 39
║ 0 ║ 0.0000000000║ 0.0000000000║ 0.0000000000║ 0.0000000000║ 0.0000000000║ 39 ║ 1 ║ 0.6557950377║ 0.3400810957║ 0.4534415007║ 0.6621516943║ 0.5244241357║ 39
║ 2 ║ 0.8291208744║ 0.2033067793║ 0.1800185293║ 0.8857733011║ 0.5218195915║ 39 ║ 3 ║ 0.7975594401║ 0.2176272422║ 0.1760816723║ 0.9215911627║ 0.5118417144║ 39
║ 4 ║ 0.7987074852║ 0.2242969573║ 0.1726971716║ 0.9208016992║ 0.5100454688║ 39 ║ 5 ║ 0.7983785272║ 0.2245308310║ 0.1722315699║ 0.9206444621║ 0.5109040141║ 39
║ 6 ║ 0.7983788848║ 0.2245311588║ 0.1722320616║ 0.9206448197║ 0.5109043717║ 39 ╚═══╩═════════════╩═════════════╩═════════════╩═════════════╩═════════════╝ 39
Javob: x1= 0.7983788848 x2= 0.2245311588 x3= 0.1722320616 x4= 0.9206448197 x5= 0.5109043717 39 |
ma'muriyatiga murojaat qiling