Научная статья на тему 'TENGLAMALAR SISTEMASINI SONLI YECHISH ALGORITMLARI'

TENGLAMALAR SISTEMASINI SONLI YECHISH ALGORITMLARI Текст научной статьи по специальности «Техника и технологии»

CC BY
3
3
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
sonli yechish algoritmlari / tenglamalar sistemasi / gauss usuli / iteratsion usullar / matematik tahlil / hisoblash texnikasi / sonli stabil / amaliy matematika / hisoblash algoritmlari / Tizimli yechimlar / hisoblash modellashtirish / raqamli metodlar. / алгоритмы численного решения / система уравнений / метод Гаусса / итерационные методы / математический анализ / вычислительные методы / численная устойчивость / прикладная математика / вычислительные алгоритмы / Систематические решения / компьютерное моделирование / численные методы.

Аннотация научной статьи по технике и технологии, автор научной работы — Mirzakarimov Mirsharoffiddin Mirzaabduraximovich

Maqolada matematikaning va hisoblash texnikasining muhim bo'limlaridan biri bo’lib tenglamalar sistemalarini aniq sonli usullar yordamida yechishga yo'naltirilgan. Ushbu algoritmlar ko'p qirrali bo'lib, muhandislik, fizika, iqtisodiyot, va boshqa ko'plab fanlarda keng qo'llaniladi. Mavzuning ahamiyati shundaki, sonli usullar real dunyoda qiyin va murakkab muammolarni yechishda yordam beradi, bunda analitik usullar yetarli bo'lmasligi mumkin. Shu sababli, sonli algoritmlarni chuqur o'rganish va ularni to'g'ri qo'llash katta ahamiyatga ega.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Algorithms for numerical solution of systems of equations

Статья является одним из важных разделов математики и информатики. В этой теме основное внимание уделяется решению систем уравнений с использованием точных численных методов. Эти алгоритмы универсальны и широко используются в технике, физике, экономике и многих других дисциплинах. Важность темы заключается в том, что численные методы могут помочь решить трудные и сложные задачи в реальном мире, где аналитических методов может быть недостаточно. Поэтому важно глубоко изучать численные алгоритмы и правильно их применять.

Текст научной работы на тему «TENGLAMALAR SISTEMASINI SONLI YECHISH ALGORITMLARI»

QISQA XABARLAR

UDC 677.051.178.3

TENGLAMALAR SISTEMASINI SONLI YECHISH ALGORITMLARI

Mirzakarimov Mirsharoffiddin Mirzaabduraximovich Namangan muhandislik-texnologiya instituti, katta o'qituvchi E-mail: [email protected]

Anotatsiya. Maqolada matematikaning va hisoblash texnikasining muhim bo'limlaridan biri bo'lib tenglamalar sistemalarini aniq sonli usullar yordamida yechishga yo'naltirilgan. Ushbu algoritmlar ko'p qirrali bo'lib, muhandislik, fizika, iqtisodiyot, va boshqa ko'plab fanlarda keng qo'llaniladi. Mavzuning ahamiyati shundaki, sonli usullar real dunyoda qiyin va murakkab muammolarni yechishda yordam beradi, bunda analitik usullar yetarli bo'lmasligi mumkin. Shu sababli, sonli algoritmlarni chuqur o'rganish va ularni to'g'ri qo'llash katta ahamiyatga ega.

Аннотация. Статья является одним из важных разделов математики и информатики. В этой теме основное внимание уделяется решению систем уравнений с использованием точных численных методов. Эти алгоритмы универсальны и широко используются в технике, физике, экономике и многих других дисциплинах. Важность темы заключается в том, что численные методы могут помочь решить трудные и сложные задачи в реальном мире, где аналитических методов может быть недостаточно. Поэтому важно глубоко изучать численные алгоритмы и правильно их применять.

Abstract. The article deals with one of the important sections of mathematics and computer science. This topic is focused on solving systems of equations using exact numerical methods. These algorithms are versatile and are widely used in engineering, physics, economics, and many other sciences. The importance of the topic is that numerical methods help solve difficult and complex problems in the real world, where analytical methods may not be enough. Therefore, it is of great importance to study numerical algorithms in depth and apply them correctly.

Kalit so'zlar: sonli yechish algoritmlari, tenglamalar sistemasi, gauss usuli, iteratsion usullar, matematik tahlil, hisoblash texnikasi, sonli stabil, amaliy matematika, hisoblash algoritmlari, Tizimli yechimlar, hisoblash modellashtirish, raqamli metodlar.

Ключевые слова: алгоритмы численного решения, система уравнений, метод Гаусса, итерационные методы, математический анализ, вычислительные методы, численная устойчивость, прикладная математика, вычислительные алгоритмы, Систематические решения, компьютерное моделирование, численные методы.

Keywords: numerical solution algorithms, system of equations, Gaussian method, iterative methods, mathematical analysis, computational techniques, numerical stability, applied mathematics, computational algorithms, Systematic solutions, computational modeling, numerical methods.

Kirish

Tenglamalar sistemasini sonli yechish algoritmlari zamonaviy matematika va hisoblash texnikasining ajralmas qismi hisoblanadi. Ushbu mavzu turli ilmiy va texnik sohalarda keng qo'llaniladi, chunki ko'plab amaliy masalalar tenglamalar sistemalarini yechishni talab qiladi. Tenglamalar sistemasi bir necha o'zgaruvchiga ega bo'lgan bir nechta tenglamalardan iborat bo'lib, ularni aniq yechishning sonli usullari matematik tahlil va hisoblash texnikalarini qo'llashni talab etadi.

Sonli yechish algoritmlarining rivojlanishi va qo'llanilishi muhandislik, fizika, iqtisodiyot va biologiya kabi ko'plab sohalarda yangi imkoniyatlar yaratdi. An'anaviy analitik usullar ba'zan murakkab tenglamalar sistemalarini yechishda yetarli bo'lmaydi yoki juda murakkab bo'lib chiqadi, shuning uchun sonli usullar o'zining aniqligi va samaradorligi bilan ajralib turadi.

Mexanika va Texnologiya ilmiy jurnali 5-jild, 4-son, 2024

QISQA XABARLAR

Ushbu maqolada biz tenglamalar sistemasini yechishda qo'llaniladigan asosiy sonli algoritmlar, ularning xususiyatlari va qo'llanish sohalari bilan tanishamiz. Shuningdek, biz ba'zi algoritmlarning afzalliklari va kamchiliklarini tahlil qilamiz va ularning samaradorligini oshirish yo'llarini ko'rib chiqamiz. Faraz qilaylik,

Ax = b (1)

tizim biror usul bilan

x + Cx + f (2)

ko'rinishga keltirilgan bo'lsin, bu erda C-qandaydir matritsa, f-vektor ustun. Dastlabki yaqinlashish vektori x(0) biror usul bilan (masalan, x(0)=0) topilgan bo'lsin. Agar keyingi yaqinlashishlar

x(k+1) = Cx(k) + f (k=0,1,2,...)

rekkurent formula yordamida topilsa, bunday usul oddiy iteratsiya usuli deyiladi. Agarda C matritsa elementlari

I \Cj < a < 1

i=1

va

ICj <ß< 1

(i = 1,2,...,«)

(j = 1,2,...,«)

(3)

(4)

i=1

shartlardan birortasini qanoatlantirsa, u xolda iteratsion jarayon berilgan tenglamaning x yechimiga ixtiyoriy boshlangich x(0) vektorda yaqinlashishi isbotlangan, ya'ni

x = lim x(k )

k

Shunday qilib, tizimning aniq yechimi cheksiz qadamlar natijasida -hosil qilinadi va hosil qilingan ketma-ketlikning ixtiyoriy vektori taqribiy echimni beradi. Bu taqribiy echimning xatoligini quyidagi formulalardan biri orqali ifodalash mumkin:

(

X, - x(k >|< a

1 — a

max j=1,2,..«

x (k ) — x (k—1) Xj Xj

agarda (3) shart bajarilsa, yoki

x, — x,(k

ß

1—ß

I

j=1

x j)— x (k—1)

(5)

(6)

agarda (4) shart bajarilsa. Bu baxolarni mos ravishda quyidagicha kuchaytirish mumkin:

(xi

yoki

mx

I x,

j=1

x

<

a

max

x

1 — a

(k ><ßt

x

(k )_ x (k—1)

1 — ß j=1

x (k )— x (k—1)

xj xj

Iteratsion jarayonlarni yuqoridagi baxolar oldindan berilgan aniqlikni qanoatlantirganda tugallaydilar.

Boshlangich x(0) vektor, umuman olganda, ixtiyoriy tanlanishi mumkin. Ba'zan x(0)=f deb olishadi. Ammo x(0) vektorning komponentlari sifatida noma'lumlarning qo'pol taxminlarda aniqlangan qiymatlari olinadi.

(1) tizimni (2) korinishga keltirishni bir necha xil usullarda amalga oshirish mumkin. Faqat (3) yoki (4) shartlardan birortasining bajarilishi lozim. Shunday usullardan ikkitasiga

Mexanika va Texnologiya ilmiy jurnali

5-jild, 4-son, 2024

n

V

QISQA XABARLAR

to'xtalamiz.

"Birinchi usul. Agarda A matritsaning diagonal elementlari noldan farqli bo'lsa, ya'ni

(I=1,2,..., n)

u xolda berilgan tizimni

' * ,)

Xo —

an *0

1

X1 — -

a11

1 (b2 -

a22

b1 - al2X2 - •••- a1nXn) ' a22X1 - a23X3 -a2nXn )

(7)

Xn — (bn - an1 X1 - •••- a n,n—1 Xn-1) ann

Ko'rinishda yozish mumkin. Bu xolda C matritsa elementlari quyidagicha aniqlanadi:

Cj —

a

j

a,-

(i * j ), cit — 0

hamda (3) va (4) shartlar mos ravishda quyidagi ko'rinishni qabul qiladi:

n a,-

I

< a < 1

j—1 aii

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

J *i

JL a;

i—1 aii

<ß< 1

(i —n)

(j — u-,«)

(8) va (9) tengsizliklar A matritsaning diagonal elementlari

la»l >I|'

J *i

(i —1,2,..., n)

(8)

(9) (10)

shartlarni qanoatlantirganda o'rinli bo'ladi.

Ikkinchi usul. Bu usulni quyidagi misol orqali namoyish qilamiz.

Umuman olganda, har qanday keltirilmagan matritsali tizim uchun yaqinlashuvchi iteratsion usullar mavjud, ammo ularning barchasi hisoblash uchun qulay emas.

Agarda iteratsiya usuli yaqinlashuvchi bo'lsa, u xolda bu usul yuqorida ko'rilgan usullardan quyidagi afzalliklarga ega bo'ladi:

1. Iteratsion jarayon tezroq yaqinlashsa, ya'ni tizimning yechimini aniqlash uchunp dan kamrok iteratsiya talab qilinsa, u xolda vaqtdan yutiladi, chunki arifmetik amallar soni p2 ga mutanosib (proportsional) (Gauss usuli uchun esa bu sonp3 ga mutanosib).

2. Yaxlitlash xatoliklari iteratsiya usulida natijaga kamroq ta'sir etadi. Bundan tashqari iteratsiya usuli o'z xatoligini to'g'rilab boruvchi usuldir.

3. Iteratsiya usuli tizimning muayyan koeffitsientlari nolga teng bo'lgan holda juda ham qulaylashadi. Bunday tizimlar xususiy hosilali differentsial tenglamalarni yechganda ko'proq uchraydi.

4. Iteratsiya jarayonida bir xil turdagi amallar bajariladi, bu esa EHM uchun

programmalashtirishni osonlashtiradi.

1-misol. Tenglamalar sistemasini e = 0,001 aniqlikda oddiy iteratsiya usuli bilan yeching:

Mexanika va Texnologiya ilmiy jurnali

5-jild, 4-son, 2024

a

iJ

QISQA XABARLAR 0.32 < |(

Yechish:

0.24 + 1-0.03 0.09 + 1-0.15 0.04 + 10.081

Demak iteratsiya yaqinlashadi

i =

Nolinchi yaqinlashish:

-0.06 0.02: a = 0 0.05

0.02 0

Quyidagi formula yordamida hisoblashni davom ettiramiz

.(k-1) „o =

/1.9094\

x(2> = ß + ctrCli = 3.1944 ],xJZ) = 1.9094;Jti"'' = 3.1944;i® = 5.0446. \5.0446' /1.90923\

jcC3) = ß + ax(-2} = 3.19495 l,*^ = 1.90923;je;3' = 3.19495;^g3'' = 5.04485. \5.04485/ Shunda natijaviy jadvalni hosil qilamiz:

Yaqinlashish (k) xi x2

0 2 3 5

1 1.92 3.19 5.04 0.08 0.19 0.04

2 1.9094 3.1944 5.0446 0.0106 0.0044 0.0046

3 1.90923 3.19495 5.04485 0.00017 0.00055 0.00025

Bunda v: - v: = :.::::?=: ■, - v.: = ■, ■■■::-v::

bajariladi. x = x'-3: chiziqli tenglamalar sistemasining yechimi bo'ladi.

Ushbu algoritmni C++ tilida dasturlaymiz: #include<iostream> #include<math.h> using namespace std; // vektorni klon qilish funksiyasi

double* VektorniKopuya(double *b)

{

double *temp = new double[3];

for (int i = 0; i < 3; i++) {

temp[i] = b[i];

}

return temp;

Mexanika va Texnologiya ilmiy jurnali

shart

5-jild, 4-son, 2024

QISQA XABARLAR

}

//Ozod Hadlarni Birinchisiga bo'lish funksiyasi

double* OzodHadlarniBirinchisigaBul(double *b, int satr = 0, double x = 0)

{

for (int i = 0; i < 3; i++) if (satr == i) b[i] /= x; return b;

}

double** BirinchisigaBolish(double **a, int satr , double x )

{

//matritsani birinchi koeffisientga bo'lish; for (int i = 0; i < 3; i++){

a[satr][i] = a[satr][i] / x;

}

return a;

}

// matritsa dioganalini nolga aylantirish

double** DioganalniNolgaAylantir(double **a) {

for (int i = 0; i < 3; i++) for (int j = 0; j < 3; j++) if (i == j) a[i][j] = 0;

return a;

}

// matritsa elementlarini -1 ga ko'paytirish

double** MinusBirgaKupaytir(double **a) {

for (int i = 0; i < 3; i++) for (int j = 0; j < 3; j++) a[i][j] = -1.0* a[i] [j]; return a;

}

// matritsani vektorga ko'paytirish funksiyasi

double* MatritsaVektorgaKupaytir(double **a, double *b)

{

double *temp = new double[3];

for (int i = 0; i < 3; i++) {

for (int j = 0; j < 3; j++) {

temp[i] += a[i] [j] * b[j];

}

}

return temp;

}

double* VektorniVektorgaQush(double *b, double *x) {// vektorni vektorga qo'shish funksiyasi

Mexanika va Texnologiya ilmiy jurnali 5-jild, 4-son, 2024

QISQA XABARLAR

double *temp = new double[3]; for (int i = 0; i < 3; i++) temp[i] = b[i] + x[i]; return temp;

}

int main(){

double eps = 0.001;

// tenglamalar sistemasi koeffisientlari uchun ikki o'lchovli massiv double **a=new double*[3]; for(int i=0;i<3;i++){

a[i]=new double[3]; for(int j=0;j<3;j++){

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

cin>>a[i][j];

}

}

cout<<endl;

//double[,] a = { { 4, 0.24, -0.08 }, { 0.09, 3, -0.15 }, { 0.04, -0.08, 4 } }; double *b = new double[3];//ozod hadlar uchun massiv for(int j=0;j<3;j++){

cin>>b[j]; }

cout<<endl; // double[] b = { 8, 9, 20 }; double *beta; double *x0; double *x1;

// birinchi noma'lumni tenglikni bir tomoniga o'tkazamiz;

for (int i = 0; i < 3; i++) {

b = OzodHadlarniBirinchisigaBul(b, i, a[i][i]); a = BirinchisigaBolish(a, i, a[i][i]);

}

a = DioganalniNolgaAylantir(a); a = MinusBirgaKupaytir(a); x0 = VektorniKopuya(b); // birinchi yaqinlashuv natijasi; x1 = MatritsaVektorgaKupaytir(a, x0); x1 = VektorniVektorgaQush(x0, x1); for (int i = 0; i < 3; i++)

cout<<x0[i] << ", "; cout<<endl;

while (eps < fabs(x1[0] - x0[0])/fabs(x1[0]) && eps < fabs(x1[1] - x0[1])/fabs(x1[1]) && eps < fabs(x1[2] - x0[2])/fabs(x1[2]))

{// yaqinlashuvini tekshiramiz x0 = VektorniKopuya(x1); x1 = MatritsaVektorgaKupaytir(a, x0); x1 = VektorniVektorgaQush(b, x1); // har qadamdagi yaqinlashuv natijalari for (int i = 0; i < 3; i++)

Mexanika va Texnologiya ilmiy jurnali 5-jild, 4-son, 2024

cout<<x0[i] << ", "; cout<<endl;

QISQA XABARLAR

}

cout<<"\ntenglamalar sistemasini yyechimi:"<<endl; //tenglamalar sistemasini yechimlari

for (int i = 0; i < 3; i++) {

cout<<x1[i]<<" ";

}

}

Natijalar:

C:\Users\user\Documents\oddiy iteratsiya usuli i.exe

-0.15 13.04 -0.08

3 5

'.92', ЗЛ9, 5.04, .9094, 3.1944, 5.0446,

englamalar sistemasini yecliimi: .90923 3.19495 5.04479

rocess exited after 38.6 seconds with return value 0 ля продолжения нажмите любую клавишу . . . _

Bu dastur 3 noma'lumli tenglamalar sistemasini "oddiy iteratsiya usuli" yordamida yechilgan. Natijani olish uchun dastlab koeffisientlardan tashkil topgan massiv elementlari kiritiladi va ozod hadlardan iborat vektor elementlari kiritiladi.

Xulosa. Tenglamalar sistemasini sonli yechish algoritmlari zamonaviy matematika va hisoblash texnikasida muhim o'rin egallaydi. Ushbu algoritmlar murakkab tenglamalar sistemalarini aniq va samarali yechish imkonini beradi, bu esa muhandislik, fizika, iqtisodiyot, va boshqa ko'plab fanlarda qo'llaniladi.Sonli yechish usullari, masalan, Gauss usuli, iteratsion usullar va Newton-Raphson usuli, tenglamalar sistemalarini barqaror va samarali yechishda katta rol o'ynaydi. Bu usullar sonli stabil bo'lib, kichik xatoliklarda ham aniqlikni saqlab qoladi. Ushbu mavzuni o'rganish va qo'llash zamonaviy fan va texnologiya uchun keng imkoniyatlar yaratadi.

ADABIYOTLAR

1. Abduqodirov A.A., Fozilov F.N., Umurzoqov T.N. Hisoblash matematikasi va programmalash. Toshkent, «O'qituvchi», 1989.

2. Badalov F.B, Shodmonov G'. Sh. Riyoziy modellar va muhandislik masalalarini sonli yechish usullari. Toshkent, «Fan», 2000.

3. Xolmatov T.X.,.Toyloqov N.Sh. Amaliy matematika va kompyuterning dasturiy taminoti. Toshkent, «Mehnat», 2000.

4. Siddiqov A. Sonli usullar va programmalash. Toshkent, «O'zbekiston», 2001. 5. Боглаeв Ю.П. Вычис

5. Азларов Т., Мансуров Х., MaTeMaraK анализ, T.: "Ук;итувчи". 2 т: 1995 й. 336 б.

Mexanika va Texnologiya ilmiy jurnali 5-jild, 4-son, 2024

QISQA XABARLAR

6. AronoB ffl.A., EepgHKy^OB M.A., OyH^H^nap Ha3apH^CH, T.: "YA^EHT" MapKa3H, 2004 h. 148 6.

Internet sayti.

1. www.ziyonet.uz/

2. www.pedagog.uz/

Mexanika va Texnologiya ilmiy jurnali

5-jild, 4-son, 2024

i Надоели баннеры? Вы всегда можете отключить рекламу.