ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 10.01.2024

Просмотров: 184

Скачиваний: 5

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
ФЕДЕРАЛЬНОЕ АГЕНТСТВО СВЯЗИФедеральное государственное образовательное бюджетное учреждениевысшего профессионального образования«Санкт-Петербургский государственный университет телекоммуникацийим. проф. М. А. Бонч-Бруевича»Кафедра информационных управляющих системФакультет информационных систем и технологийЛабораторная работа №1по дисциплине«Теория информации, данные, знания»на тему:«Решение СЛАУ в Scilab»Выполнили студентыгруппы ИСТ-111Архипов С.А., Васильев И.С., Заказчик М.Н. Принял и проверил:Эль Сабаяр Шевченко Н. Санкт-Петербург 2023 г

Оглавление


Формулировка задания. 3

Теоретический материал. 3

Задание 1.1. 4

Результат выполнения задания 1.1. 7

Задание 1.2. 7

Результат выполнения задания 1.2. 8

Вывод. 9

Формулировка задания.

В ходе выполнения лабораторной работы требуется решить систему линейных алгебраических уравнений (СЛАУ), используя систему компьютерной математики, которая предназначена для выполнения инженерных и научных вычислений Scilab, а также вычислить матрицу, обратную к заданной матрице.

Теоретический материал.

Для работы с множеством данных удобно использовать массивы. Например, можно создать массив для хранения числовых или символьных данных. В этом случае вместо создания переменной для хранения каждого данного достаточно создать один массив, где каждому элементу будет присвоен порядковый номер. Таким образом, массив — множественный тип данных, состоящий из фиксированного числа элементов. Как и любой другой переменной, массиву должно быть присвоено имя. Переменную, представляющую собой просто список данных, называют одномерным массивом, или вектором. Для доступа к данным, хранящимся в определенном элементе массива, необходимо указать имя массива и порядковый номер этого элемента, называемый индексом. Если возникает необходимость хранения данных в виде таблиц, в формате строк и столбцов, то необходимо использовать двумерные массивы (матрицы). Для доступа к данным,

хранящимся в таком массиве, необходимо указать имя массива и два индекса: первый должен соответствовать номеру строки, а второй — номеру столбца, в которых хранится необходимый элемент. Значение нижней границы индексации в Scilab равно единице. Индексы могут быть только целыми положительными числами.

Система m уравнений с n неизвестными вида:

a11 x1 + a12 x2 + · · · + a1n xn = b1 ,

a21 x1 + a22 x2 + · · · + a2n xn = b2,

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

am1 x1 + am2 x2 + · · · + amn xn = bm

называется системой линейных алгебраических уравнений (СЛАУ), причем xj

неизвестные, aij — коэффициенты при неизвестных, bi — свободные коэффициенты (i = 1 . . . m, j = 1 . . . n). Система из m линейных уравнений с n неизвестными может быть описана при помощи матриц: A · x = b, где x — вектор неизвестных, A — матрица коэффициентов при неизвестных или матрица системы, b — вектор свободных членов системы или вектор правых частей. Совокупность всех решений системы (x1, x2, . . . , xn) называется множеством решений или просто решением системы.

Существует несколько методов решения систем линейных алгебраических уравнений (СЛАУ), и выбор конкретного метода зависит от размера системы, ее характеристик, численных свойств матрицы системы, а также требуемой точности и скорости вычислений.

Некоторые из наиболее распространенных методов решения СЛАУ включают в себя:


  • Метод Крамера.

  • Метод Гаусса.

  • Метод обратной матрицы.

  • Метод Якоби.
Также в задании необходимо высчитать обратную исходной матрице. Обратной матрицей по отношению к данной называется матрица того же типа, которая, будучи умноженной как слева, так и справа на данную матрицу, в результате даст единичную матрицу.

Задание 1.1.

Для решения СЛАУ в системе компьютерной математики Scilab существует специальная матричная функция linsolve(A,b), которая решает систему линейных алгебраических уравнений вида Необходимо решить уравнение вида:

Приводим данное уравнение к виду и используем матричную функцию для его решения. (Рисунок 1)Шаги:

  1. Создаем матрицу коэффициентов A и вектор свободных членов b.

  2. Используем встроенную функцию linsolve для решения СЛАУ.

  3. Производим проверку A*x+b, если в результате получился вектор, достаточно близкий к 0, то решение верно.
Рисунок 1. Решение СЛАУ с помощью встроенной функции.Так же можно пойти другим способом и реализовать один из классических методов решения СЛАУ в Scilab, например, метод Крамера. (Рисунок 2)Шаги:

  1. Создаем матрицу коэффициентов A и массив свободных членов b.

  2. Создаем четыре вспомогательные матрицы. (Матрицы, в которых соответствующий столбец заменен на вектор b)

  3. Высчитываем главный определитель D.

  4. Высчитываем определители вспомогательных матриц d(1, 2, 3, 4)

  5. Получаем вектор решений x=d/D
Рисунок 2. Решение СЛАУ методом Крамера в Scilab.Также для проверки можно подставить значения x в исходное уравнение. (Рисунок 3)Рисунок 3.

Результат выполнения задания 1.1.

В результате получилось решение системы: x = -3.0196078-1.29411763.9215686-1.8431373

Задание 1.2.

Если возможно, вычислить матрицу, обратную к матрице D. Обратной матрицей по отношению к данной называется матрица того же типа, которая, будучи умноженной как слева, так и справа на данную матрицу, в результате даст единичную матрицу. Шаги:

  1. Создаем матрицы A и B.

  2. По формуле высчитываем матрицу D.

  3. Используем функцию inv для получения обратной матрицы.

  4. Производим проверку, при умножении обратной матрицы на исходную должна получиться матрица, близкая к единичной.
ЁРисунок 4. Нахождение обратной матрицы.

Результат выполнения задания 1.2.

В результате получилась обратная матрица: Рисунок 5. Обратная матрица.

Вывод.


В ходе выполнения лабораторной работы было проведено ознакомление с системой компьютерной математики Scilab и ее инструментами для работы с матрицами. Так же было проведено решение СЛАУ в Scilab методом Крамера и с использованием встроенной функции. Так же было выполнено решение задания по нахождению обратной матрицы.