#include
#include
using namespace std;
int n = 3; // tenglamalar soni
double a[4][4], a1[4][4];
double x[4], x0[4], b[4], b1[4];
double eps, s;
main(){
for(int i = 1; i <= n ; i++){
for(int j = 1; j <= n; j++){
cout << "a[" << i << "," << j << "] = " ;
cin >> a[i][j];
}
cout << "b[" << i << "] = ";
cin >> b[i];
}
eps = 1e-5;
for(int i = 1; i <= n; i++){
b1[i] = b[i] / a[i][i];
for(int j = 1; j <= n; j++)
a1[i][j] = -a[i][j] / a[i][i];
}
for(int i = 1; i <= n; i++){
x0[i] = b1[i];
a1[i][i] = 0;
}
label2: for(int i = 1; i <= n; i++){
s = 0.0;
for(int j = 1; j <= n; j++)
s = s + a1[i][j] * x0[j];
x[i] = b1[i] + s;
}
int k = 0;
for(int i = 1; i <= n; i++){
if(fabs(x[i] - x0[i]) < eps){
k++;
if(k == n) goto label1;
}
else {
for(int j = 1; j <= n; j++)
x0[j] = x[j];
goto label2;
}
}
label1: cout << "Sistemaning taqribiy yechimi: ";
for(int i = 1; i <= n; i++)
cout << "x[" << i << "] = " << x[i] << endl;
}
Назорат саволлар:
n та номаълумли n та чизиқли алгебраик тенгламалар системасининг умумий кўринишини ёзинг.
Чизиқли алгебраик тенгламалар системасининг ягона ечимга эга бўлиш шартини айтинг.
Итерацион жараён деб нимага айтилади.
Чизиқли алгебраик тенгламалар системасини итерация усулида ечиш алгоритмини келтиринг
5- ЛАБОРАТОРИЯ ИШИ
Мавзу: Лагранж интерполяцион формуласи.
Керакли техник воситалар:
Шахсий компьютер.
Керакли дастурий воситалар:
Лагранж интерполяцион формуласи ёрдамида функция қийматларини С++да тақрибий ҳисоблаш учун тузилган дастур.
Ишнинг мақсади: Талабаларни Лагранж интерполяцион формуласи ёрдамида тақрибий ҳисоблаш алгоритмлари билан таништириш ва унга С++ тилида тузилган дастурда ишлашга ўргатиш.
Топшириқ
Назарий қисм
Биз олдин бир канча интерполяцион формулаларни куриб утган эдик. Буларнинг хаммасида интерполяция тугунлари орасидаги масофа тенгдир. Интерполяция тугунлари тенг булмаган хол учун Лагранж интерполяцион формуласидан фойдаланилади. Хусусий холда интерполяция кадамлари тенг булиши хам мумкин. ораликда ихтиерий жойлашган функция аргументлари берилган ва уларга мос f(x) функция кийматлари
берилган булсин (1-чизма).
Даража курсаткичидан ошмайдиган шундай купхад куриш талаб килинадики у
(1)
шартни каноатлантирсин.
1-чизма.
Бунинг учун олдин купхадни топамиз бу купхад тубандаги шартни каноатлантирсин
ва , (2)
яъни Кронекер белгилаши буйича
(3)
купхад нуктада нолга айланади унинг куриниши
(4)
десак (3) га асосан (4)ни тубандагича езиш мумкин.
Бундан
(5)
(3)ни (2)га олиб куйсак
(6)
Бу купхад ердамида шартни каноатлантирувчи купхадни езамиз.
(7)
яъни
(8)
(6) Лагранж интерполяцион формуласини кискарок езиш учун тубандагича белгилаш киритамиз
(9)
(10)
(7) ва (8) белгилашга асосан (6) тубандаги
(11)
формулани хосил киламиз.
Логранж коэффициентларининг куринишига нисбатан чизикли x=at+b алмаштириш инвариантдир. Хакикатан хам, (11) формулада
алмаштиришларни бажариб, сурат ва махраждаги ни кискартирсак
формулага эга буламиз.
Лагранж коэфицентларини хисолаш.
(8) Лагранж интерполяцион формуласининг биринчи коэффицентини топиш учун диагонал элементлар купайтмасини биринчи сатр элементлар купайтмасига буламиз. Иккинчи коэффицентни топиш учун диагонал элементлар купайтмасини иккинчи сатр элементлар купайтмасига буламиз ва хоказо.
Мисол. n=1 хол учун Логранж интерполяцион формуласи икки нуктадан утувчи тугри чизик тенгламасини беради.
Ушбу
нукталардан утувчи Логранж интерполяцион фомуласи.
куринишда булади. Бу ерда a ва b лар шу нукталарнинг абцсиссалари. n=2 булганда 3 та нуктадан утувчи парабола тенгламаси хосил булади.
Do'stlaringiz bilan baham: |