Berdaq nomidagi qoraqolpoq davlat universiteti fizika-matematika fakulteti


EHM lar uchun tuzilgan dasturning natijalr oynasi


Download 0.73 Mb.
bet16/16
Sana11.05.2020
Hajmi0.73 Mb.
#104902
1   ...   8   9   10   11   12   13   14   15   16
Bog'liq
Otabek kursishi to'liq --1

5.EHM lar uchun tuzilgan dasturning natijalr oynasi



Qo’shma gradientlar usuli:



Qo’shma gradientlar usulining yangi varianti:

XULOSA


CHATS larni yechishning iteratsion usullari, ularni yechishning to’g’ri usullari bilan taqqoslaganda bir qancha qulayliklarga ega. Ularni amalga oshirish uchun EHM ning xotirasida sistemaning matritsasini to’liq saqlash talab etilmaydi, faqat n yasovchisi mavjud bo’lgan bir nechta vektorlarnigina saqlash yetarli. Hisoblash algoritmining oddiyligi va bajariladigan amallarning bir xil bo’lishi, hisoblash texnikasidan foydalanib bu usullarni amalga oshirganda katta imkoniyatlar yaratadi.

Iteratsion usullarning ko’rsatilgan yaxshi xossalari, ularning CHATS larni yechishdagi natijaligini ancha orttiradi. Hisoblash amaliyotida bu usullar CHATS larning to’g’ri usullari bilan topilgan yechimlarining aniqligini orttirish uchun ham qo’llaniladi.

Shunday qilib, yaqinlashuvchi iteratsiyalar usullarining hisoblash algoritmlari o’zini-o’zi tuzatish xususiyatiga ega, ya’ni, iteratsiyalar jarayonning qandayda bir qadamida xatolik bilan topilgan yaqinlashish, sistemaning yechimiga yangi boshlang’ich yaqinlashish bo’lib boraveradi.

CH.A.T.S larni chiziqli iteratsiya usuli bilan yechishda asosan statsional va statsional emas usullar yangi oddiy iteratsiyalar, Zeydel, relaksiyaviy usullar va chiziqli emas iteratsiya usuli bilan yechishda eng pastda tushish usuli, qo’shma gradeintlar usuli singari praktikada keng qo’llanib kelmoqda.

Shu kurs ishida asosan qo’shma gradeintlar tyushinchasi va ular ustida o’rinlanadigan misollar keltirilgan. Qo’shma gradeintlar usuli asosan qo’shma yo’nalishlari usullarining guruhi natijada. Uning o’ng pastga tushish singari uning hosiyatlari o’zinda jamlashtirish sistemalarni yechishda qo’llaniladi. Bu usul o’zinda CH.A.T.S larni yechishning to’gri va iteratsiyaliq usullarning eng yaxshi hosiyatlarini biriktiradi.

Qo’shma gradeintlar usulining asosiy fo’rmulalarining ayrimlari eng tez pastga tushish va chiziqli emas to’liq relaksiya usullari guruhida yatodaganligi belgili. Qo’shma gradeintlar usulining matrissasi aynigan bo’lmagan , chiziqli algebraviy tenglamalarning hohlagan sistemalarini yechishda qo’llaniladi. Qo’shma gradeintlar usuli bilan hisoblashlarni yurg’izganda hisoblash algoritmining dastlabki odiminda eng tez pastga tushish usulining algoritmi bilan mos kelishi ko’rishimizga bo’ladi.

Bu usulning CH.A.T.S larni yechishning boshqa iteratsiya usullarini solishtirganda ancha yuqori tezlik bilan yaqinlashuvchi bo’lish ortiqmachiligi hisobga olinib, u statsional iteratsiya usulning yaqinlashish tezligini orttirish uchun ham keng qo’llaniladi. Qo’shma gradeintlar usulining boshqa iteratsiya usuliga solishtirganda oz iteratsiya hisoblab, yechimga tezroq yaqinlashishi bilan qotar bir necha kamchiliklargada ega bo’lib hisoblanadi, misoli bir kamchiliki soni yetarli darajada katta bo’lganda, uni hisoblash xatoliklarini o’rinsiz ya’ni turg’un bo’lmagan bo’lishi mumkin.

Qo’shma gradeintlar usulining boshqada yangi variantda keng qo’llaniladi. Bu usul do’ngalaklash xatoligi oz miqdorda bo’lib, ayrim hollarda qo’shma gradeintlar usuliga qaraganda oz sondagi iteratsiyalardi o’rinlab, berilgan tenglamalar sistemasining yechimiga yaxshi yaqinlashuvchi topishiga yordam beradi.



Bu kurs ishida olingan masalani natijasini EHM larda foydalanib va iteratsion usullarni qo’llab CHATS larni natijalarini 10-10 tartibigacha olindi. Bu natijani olishda va yuqoridagi usullarni o’rganishda M.Isroilovning 2003-yili bosmadan chiqarilgan “Hisoblash metodlari” va A.O .Отаров, Ж.П.Aлланазаров larning 2006-yili bosmadan chiqarilgan “Есаплаў усыллары” IIbo’limi kitoblaridan foydalandim. Bu kurs ishini yozish orqali CHATS larning yechimlarini qo’shma gradeindlar usuli va qo’shma gradeintlar usulining yangi variant haqida kengroq tushunchalarga ega bo’ldim.

Foydalangan adabiyotlar


  1. Бахвалов Н.С., Жидков Н.П., Кабельков Г.М. Численные методы. М.:Наука, 1987

  2. Березин И.С., Жидков Н.П. Методы вычислений т.1. - М.:Наука, 1966

  3. Исроилов М., Хисоблаш методлари. – Тошкент: Узбекистон, 2003

  4. Отаров А.О., Алланазаров Ж.П. Есаплау усыллары. Нокис: Билим, II болим, 2006

  5. Амосов А.А., Дубинский Ю.А., Копченова Н.В. Вычислительние методы для инженеров. – М.:Высшая школа, 1994

  6. Бабенко К.И Основы численного анализа. – М.: Наука, 1986.

  7. Киреев В.И., Пантелеев А.В., Числунные методы в примерах и задачах. – М.: Высшая школа, 2008

Самарский А.А Гулин А.В Численные методы. –М.:Наука, 1989

  1. Боглаев Ю.П., Вычислительная математикф и программирование. – М.: Высшая школа, 1990.

  2. Мысовский И.П., Лекции по методам вычислений – Санкт-Петербург: Изд-во ЛГУ , 1998

Internet saytlari

  1. http:||www.ziyonet.uz

  2. http:||www.ilm.uz

  3. http:||www.dxdy.ru

  4. http:||www.tami.uz

  5. http:||www.mathinst.uz


Qo’shimchalar.

Qo’shma gradientlar usuli.

#include

#include

#include

#include

#include

using namespace std;

int main()

{ char dl=187,ss=188;

int n=5,i,j,k=0;

float a[n][n],b[n],e,s[n],x[1000][n],r[1000][n],ro[1000][n],alfa[1000],beta[1000];

float q,p,d,g,h,normamax; e=0.000001;

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;

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;

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;

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;

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;

b[1]=6.19; b[2]=3.21; b[3]=4.28; b[4]=6.25; b[5]=4.95;

for(i=1;i<=n;i++) x[k][i]=0;

cout<<"\n\n *** CH.A.T.S LARNI QO'SHMA GRADIENTLAR'***"<

cout<<" *** USULI BILAN HISOBLASH. ***"<

cout<<" ЙНННЛНННННННННННННЛНННННННННННННЛНННННННННННННЛНННННННННННННЛННННННННННННН"<

cout<<" є k є x1 є x2 є x3 є x4 є x5 є \n";

cout<<" МНННОНННННННННННННОНННННННННННННОНННННННННННННОНННННННННННННОННННННННННННН№\n";

do{

q=0; d=0; p=0; g=0; h=0;

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

{

s[i]=0; for(j=1;j<=n;j++)

s[i]+=a[i][j]*x[k][j];

r[k][i]=b[i]-s[i];

q+=r[k][i]*r[k][i];}

normamax=sqrt(q); if(k==0)

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

{ ro[k][i]=r[k][i];

s[i]=0;

for(j=1;j<=n;j++)

s[i]+=a[i][j]*r[k][j];

d+=r[k][i]*r[k][i];

p+=s[i]*r[k][i]; }

alfa[k]=d/p;

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

x[k+1][i]=x[k][i]+alfa[k]*ro[k][i];}

else{for(i=1;i<=n;i++) {

s[i]=0;

for(j=1;j<=n;j++)

s[i]+=a[i][j]*ro[k-1][j];

g+=s[i]*r[k][i];

h+=s[i]*ro[k-1][i];}

beta[k-1]=-g/h;

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

ro[k][i]=r[k][i]+beta[k-1]*ro[k-1][i];

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

{

s[i]=0;

for(j=1;j<=n;j++)

s[i]+=a[i][j]*ro[k][j];

p+=ro[k][i]*s[i];

d+=r[k][i]*ro[k][i];}

alfa[k]=d/p;

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

x[k+1][i]=x[k][i]+alfa[k]*ro[k][i];}

if(k<10)

cout<<" є "<

else cout<<" є "<

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

if(x[k][i]>=0) cout<<" "; cout<

k++; cout<

}while(normamax>=e);

cout<<" ИНННКНННННННННННННКНННННННННННННКНННННННННННННКНННННННННННННКННННННННННННН"<

cout<<"Javob: ";

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

cout<<"x"<

return 0;

}

Qo’shma gradientlar usulining yangi variant.

#include

#include

#include

using namespace std;

int main() { char dd=187,ss=188;

int i,j,k=0,n=5;

float x[10000][n],y[10000][n],l=0,t=0,q=0,m=0;

float eta[10000][n],r[10000][n],Ay[n],r3[10000],e=0.000001;

float alfa=0, Ar[n],d=0, gamma[10000],delta[10000],An[n];

float a[6][6]={

{5.18,1.12,0.95,1.32,0.83},

{1.12,4.28,2.12,0.57,0.91},

{0.95,2.12,6.13,1.29,1.57},

{1.32,0.57,1.29,4.57,1.25},

{0.83,0.91,1.57,1.25,5.21} };

float b[6]={6.19,3.21,4.28,6.25,4.95};

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";

cout<<" МННННОНННННННННННННОНННННННННННННОНННННННННННННОНННННННННННННОННННННННННННН№\n";

for(j=0; j

do{ if(k==0){for(i=0; i

Ar[i]=0; q+=r[k][i]*r[k][i];

for(j=0; j

}

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];}}

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);

delta[k]=(t*q)/((t*m)-l*l);

float w[n]; for(i=0; i

x[k+1][i]=y[k+1][i];}}

r3[k]=sqrt(q); if(k<10) cout<<" є "<

for(i=0;i=0)cout<<" "; cout<e);

cout<<" ИННННКНННННННННННННКНННННННННННННКНННННННННННННКНННННННННННННКННННННННННННН"<

cout<

{cout<<"x"<

return 0;}

С++ tilidagi pragrammaning natijalari:





*** CH.A.T.S LARNI QO'SHMA GRADIENTLAR USULINING ***

*** YANGI VARIANTI BILAN HISOBLASH ***



╔════╦═════════════╦═════════════╦═════════════╦═════════════╦═════════════╗

║ k ║ x1 ║ x2 ║ x3 ║ x4 ║ x5 ║

╠════╬═════════════╬═════════════╬═════════════╬═════════════╬═════════════╣

║ 0 ║ 0.0000000000║ 0.0000000000║ 0.0000000000║ 0.0000000000║ 0.0000000000║

║ 1 ║ 0.6557950377║ 0.3400810957║ 0.4534415007║ 0.6621516943║ 0.5244241357║

║ 2 ║ 0.8291208744║ 0.2033067793║ 0.1800185144║ 0.8857733011║ 0.5218195915║

║ 3 ║ 0.7975594997║ 0.2176272720║ 0.1760817170║ 0.9215912819║ 0.5118417144║

║ 4 ║ 0.7987072468║ 0.2242968529║ 0.1726970673║ 0.9208015203║ 0.5100453496║

║ 5 ║ 0.7983789444║ 0.2245308906║ 0.1722318977║ 0.9206448197║ 0.5109041929║

║ 6 ║ 0.7983790040║ 0.2245310098║ 0.1722321212║ 0.9206448793║ 0.5109043121║

╚════╩═════════════╩═════════════╩═════════════╩═════════════╩═════════════╝





JAVOBI:x1=0.7983790040;

x2=0.2245310098;

x3=0.1722321212;

x4=0.9206448793;

x5=0.5109043121;





*** CH.A.T.S LARNI QO'SHMA GRADIENTLAR'***

*** USULI BILAN HISOBLASH. ***

╔═══╦═════════════╦═════════════╦═════════════╦═════════════╦═════════════╗

║ k ║ x1 ║ x2 ║ x3 ║ x4 ║ x5 ║

╠═══╬═════════════╬═════════════╬═════════════╬═════════════╬═════════════╣

║ 0 ║ 0.0000000000║ 0.0000000000║ 0.0000000000║ 0.0000000000║ 0.0000000000║

║ 1 ║ 0.6557950377║ 0.3400810957║ 0.4534415007║ 0.6621516943║ 0.5244241357║

║ 2 ║ 0.8291208744║ 0.2033067793║ 0.1800185293║ 0.8857733011║ 0.5218195915║

║ 3 ║ 0.7975594401║ 0.2176272422║ 0.1760816723║ 0.9215911627║ 0.5118417144║

║ 4 ║ 0.7987074852║ 0.2242969573║ 0.1726971716║ 0.9208016992║ 0.5100454688║

║ 5 ║ 0.7983785272║ 0.2245308310║ 0.1722315699║ 0.9206444621║ 0.5109040141║

║ 6 ║ 0.7983788848║ 0.2245311588║ 0.1722320616║ 0.9206448197║ 0.5109043717║

╚═══╩═════════════╩═════════════╩═════════════╩═════════════╩═════════════╝



Javob: x1= 0.7983788848 x2= 0.2245311588 x3= 0.1722320616 x4= 0.9206448197 x5= 0.5109043717




Download 0.73 Mb.

Do'stlaringiz bilan baham:

1   ...   8   9   10   11   12   13   14   15   16




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