Скачиваний:
20
Добавлен:
01.06.2020
Размер:
215.06 Кб
Скачать

ГУО «БГУИР»

Факультет радиотехники и электроники

Кафедра микро и наноэлектроники

Отчет по

Лабораторной работе №3

Решение систем линейных алгебраических уравнений

Подготовил:

Студент гр.943201

Королюк Н.В

Проверила:

Семижон Е.А.

Минск 2020

Цель: Составить программу решения СЛАУ порядка n и решить систему ли-нейных уравнений пятого порядка с трехдиагональной симметричной матрицей

Вариант №11

Код: #include "iostream"

#include "math.h"

#include "conio.h"

using namespace std;

int i, n, k, n1 = 5;

double t, z, q, d;

double A[5][5];

double B[5];

double eps[5];

double X[5];

double et[5];

int main()

{

for (i = 0; i < 5; i++)

{

for (k = 0; k < 5; k++)

{

A[i][k] = 0;

}

}

cout << "Enter q: ";

cin >> q;

cout << endl << "Enter d: ";

cin >> d;

cout << endl;

A[0][0] = A[4][4] = q;

A[1][1] = A[2][2] = A[3][3] = -2;

for (i = 0; i < 4; i++)

{

k = i + 1;

A[i][k] = A[k][i] = 1;

}

cout << "Matrix A:" << endl;

for (i = 0; i < 5; i++)

{

for (k = 0; k < 5; k++)

{

cout << A[k][i] << "\t ";

}

cout << endl;

}

B[0] = B[4] = 0;

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

{

B[i] = d;

}

cout << "Matrix B:" << endl;

for (i = 0; i < 5; i++)

{

cout << B[i] << endl;

}

n = n1 - 1;

eps[0] = -A[0][1] / A[0][0];

et[0] = B[0] / A[0][0];

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

{

z = A[i][i] + A[i][i - 1] * eps[i - 1];

eps[i] = -A[i][i + 1] / z;

et[i] = (B[i] - A[i][i - 1] * et[i - 1]) / z;

}

X[n] = (B[n] - A[n][n - 1] * et[n - 1]) / (A[n][n] + A[n][n - 1] * eps[n - 1]);

for (i = n - 1; i >= 0; i--)

{

X[i] = eps[i] * X[i + 1] + et[i];

}

cout << "Matrix X:" << endl;

for (i = 0; i < n1; i++)

{

cout << X[i] << endl;

}

return 0;

}

Соседние файлы в папке 1курс,2семестр лабы для зачета