Berdaq nomidagi qoraqolpoq davlat universiteti fizika-matematika fakulteti
EHM lar uchun tuzilgan dasturning natijalr oynasi
Download 0.73 Mb.
|
Otabek kursishi to'liq --1
5.EHM lar uchun tuzilgan dasturning natijalr oynasiQo’shma gradientlar usuli: Qo’shma gradientlar usulining yangi varianti: XULOSACHATS 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Бахвалов Н.С., Жидков Н.П., Кабельков Г.М. Численные методы. М.:Наука, 1987 Березин И.С., Жидков Н.П. Методы вычислений т.1. - М.:Наука, 1966 Исроилов М., Хисоблаш методлари. – Тошкент: Узбекистон, 2003 Отаров А.О., Алланазаров Ж.П. Есаплау усыллары. Нокис: Билим, II болим, 2006 Амосов А.А., Дубинский Ю.А., Копченова Н.В. Вычислительние методы для инженеров. – М.:Высшая школа, 1994 Бабенко К.И Основы численного анализа. – М.: Наука, 1986. Киреев В.И., Пантелеев А.В., Числунные методы в примерах и задачах. – М.: Высшая школа, 2008 Самарский А.А Гулин А.В Численные методы. –М.:Наука, 1989 Боглаев Ю.П., Вычислительная математикф и программирование. – М.: Высшая школа, 1990. Мысовский И.П., Лекции по методам вычислений – Санкт-Петербург: Изд-во ЛГУ , 1998 Internet saytlari http:||www.ziyonet.uz http:||www.ilm.uz http:||www.dxdy.ru http:||www.tami.uz 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"< 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; iAr[i]=0; q+=r[k][i]*r[k][i]; for(j=0; j} alfa=q/d; for(j=0; jdouble 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; jl+=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; ix[k+1][i]=y[k+1][i];}} r3[k]=sqrt(q); if(k<10) cout<<" є "< for(i=0;i |
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:
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:
{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:
ma'muriyatiga murojaat qiling