Berdaq nomidagi qoraqolpoq davlat universiteti fizika-matematika fakulteti


Download 0.73 Mb.
bet1/16
Sana11.05.2020
Hajmi0.73 Mb.
#104902
  1   2   3   4   5   6   7   8   9   ...   16
Bog'liq
Otabek kursishi to'liq --1


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

Mundarija


Kirish 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 34

#include 34

#include 34

#include 34

#include 34

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



for(i=1;i<=n;i++) 35

{ 35


s[i]=0; for(j=1;j<=n;j++) 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


s[i]=0; 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 36

#include 36

#include 36

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

double v=x[k][j]; x[k+1][j]=v+alfa*r[k][j]; y[k+1][j]=x[k+1][j];}} 37

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=0)cout<<" "; cout<e); 38

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







Download 0.73 Mb.

Do'stlaringiz bilan baham:
  1   2   3   4   5   6   7   8   9   ...   16




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling