Решение систем линейных уравнений "матричным методом"

 















Тема: Решение систем линейных уравнений «матричным методом»


Содержание


Введение

. Теоретическая часть

.1 Описание метода

.2 Вывод формул

.3 Примеры решения систем линейных алгебраических уравнений матричным методом

. Практическая часть

.1 Блок-схема программы

.2 Разработка интерфейса

.3 Описание объектов программы

.4 Тестирование программы

.5 Руководство пользователя

Заключение

Список используемой литературы

Приложение А


Введение


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

Сначала выясним смысл решения систем линейных уравнений «матричным методом», выведем формулу для вычисления линейных уравнений. Следом перейдем к решению характерных примеров, снабдим их подробными комментариями.

После проведенного обзора программных средств мы выбрали среду программирования наиболее подходящую нам как очень удобное средство для разработки данного программного продукта. Delphi 7 является наиболее выгодной нам средой программирования.


1. Теоретическая часть


.1 Описание метода


Матричный метод решения (метод решения через обратную матрицу <#"justify">Пусть дана система линейных уравнений с неизвестными (над произвольным полем):




Тогда её можно переписать в матричной форме:

где - основная матрица системы, и - столбцы свободных членов и решений системы соответственно:


A = , X =


Умножим это матричное уравнение слева на - матрицу, обратную к матрице A:




Умножим это матричное уравнение слева на - матрицу, обратную к матрице A:




Так как , получаем. Правая часть этого уравнения даст столбец решений исходной системы. Условием применимости данного метода (как и вообще существования решения неоднородной системы линейных уравнений с числом уравнений, равным числу неизвестных) является не вырожденность <#"justify">.2 Ввод формул


Пусть для матрицы А порядка n на n существует обратная матрица . Умножим обе части матричного уравнения слева на (порядки матриц и В позволяют произвести такую операцию, смотрите статью операции над матрицами, свойства операций <#"justify">.3 Примеры решения систем линейных алгебраических уравнений матричным методом


Рассмотрим матричный метод на примерах. В некоторых примерах мы не будем подробно описывать процесс вычисления определителей матриц, при необходимости обращайтесь к статье вычисление определителя матрицы <#"justify">Вычислим определитель основной матрицы и убедимся, что он отличен от нуля. В противном случае мы не сможем решить систему матричным методом. Имеем


,


следовательно, для матрицы А может быть найдена обратная матрица . Таким образом, если мы отыщем обратную матрицу, то искомое решение СЛАУ определим как . Итак, задача свелась к построению обратной матрицы . Найдем ее.

Мы знаем, что для матрицы обратная матрица может быть найдена как


,


В нашем случае:





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




Следовательно, решение найдено верно.

Ответ:


2. Практическая часть


.1 Блок-схема программы


На рисунке 1 представлена блок-схема программы:



Рисунок 1 ? Блок-схема матричного метода

2.2 Разработка интерфейса


Графический интерфейс представляет собой стандартный набор компонентов Delphi. Были использованы компоненты Form, Edit, Label, Button, MainMenu, StringGrid.

Компонент Label предназначен для показа текста на форме нашей программы.

Компонент Edit предназначен для ввода пользовательских данных и представляет собой однострочное поле.

Компонент Button это стандартная кнопка Delphi, кнопка имеет на поверхности надпись (описывающая её назначение при нажатии).

Компонент MainMenu - это не визуальный компонент delphi(место размещения которого на форме не имеет значения для пользователя, так как он увидит не сам компонент, а меню, сгенерированное им), предназначенный для вывода главного меню на форме.

Компонент Form - это важнейший визуальный компонент, который представляет собой видимое окно Windows.

Компонент StringGrid - предназначен для отображения различных данных в табличной форме.

На рисунке 2 отображена начальная форма программы.


2.3 Описание объектов программы


В таблице №1 представлено описание всех объектов, которые задействованы в программе:



Рисунок 2 - Объекты формы


Таблица №1 - Описание объектов:

ОбъектыОписание объектаButton1Кнопка создания размерности массива.Button2Кнопка, вычисления метода.Edit1Ввод размерности.Label1Надпись для поля StringGrin1.Label2Надпись для поля StringGrin2.Label3Надпись для поля Edit1.StringGrit1Ввод данных.StringGrit2Вывод данных.MainMenuГлавное меню окна программы.

.4 Тестирование программы


Пример 1.

В поле Edit1 вводим размерность таблици 3.

Нажмём кнопку «Создать таблицу», в StringGrid1 появится 3 строки и 4 столбца.

В StringGrid1 вводим необходимые значения, как показано в таблице№2


Таблица№2 - Ввод значений

32-142-152317-15

Нажимаем кнопку «Выполнить решение», в компонент StringGrid2 получаем результат показаный в таблице№3


Таблица №3 - Вывод значений

X(1)2.000X(2)1.000X(3)4.000

Для подтверждения этих данных сделаем перевод математическим способом:

Сначала убедимся в том, что определитель матрицы <#"justify">Итак, x=2; y=1; z=4.


2.5 Руководство пользователя


Открываем каталог практика, и запускаем файл ObrMatP1.exe, откроется главное окно программы (Рисунок 3):



Рисунок 3 - Интерфейс программы


.В поле Edit1 вводим размерность таблицы;

.Нажмём на кнопку Button1 «Создать таблицу»;

.В поле StringGrid1 вводим значения;

.Нажмём на кнопку Button2 «Выполнить решение»;

.В поле StringGrid2 появится результат вычисления;

.Для дополнительных сведений, нажмите на компонент меню: «Справка»;

.Если необходимо очистить поля для ввода данных, нажмите на компонент меню «Очистить»;

.Если необходимо выйти из формы, нажмите на компонент меню «Выход»;


На рисунке 4 показана выполненная программа, в которой введены значения. Выведен результат.



Рисунок 4 - Руководство пользователя


Заключение


В данной курсовой работе решена задача решения систем линейных уравнений «матричным методом».

В ходе тестирования был получен результат решения систем линейных уравнений «матричным методом», по которому видно, что результат метода совпадает с достаточной точностью.

Программа является полностью работоспособной, что подтверждается результатами её тестированием.

Данная программа была написана на языке Delphi 7.0. При разработке программы были учтены все требования к программе и выполнены в полной мере.

При разработке данной программы я закрепил знания по программированию в среде Delphi 7.0, также получил некоторые новые знания при разработке этой программы.

программа линейный уравнение интерфейс

Список используемой литературы


1. Абрамовица М. Справочник по специальным формулам и функциям / М. Абрамовица, И. Стиган. - М.: Наука, 2010. - 832 с.

. Боглаев Ю.П. Вычислительная математика и программирование / Ю.П. Боглаев. - М.: Высшая школа, 2011. - 554 с.

. Березин И.С., Жидков Н.П. Методы вычислений т.2 / И.С. Березин.- М.: Физматгиз, 2012.- 264 с.

. Вычислительная математика / Н.И. Данилина, Н.С. Дубровская, О.П. Кваша, Г.С. Смирнов. - М.: Высшая школа, 2011.- 472 с.

. Гаврилов М.В. Информатика и ИТ: учебное пособие / М.В. Гаврилов. - М: Гардарик, 2010. - 656 с.

. Данилина Н.И., Дубровская Н.С. Численные методы для техникумов / Н.И. Данилина, Н.С. Дубровская. - М.: Высшая школа, 2012. - 368 с.

. Демидович Б.П. Основы вычислительной математики / Б.П. Демидович, И.А. Марон. - М.: Наука, 2011. - 664 с.

. Киреев В.И., Пантелеев А.В. Численные методы в примерах и задачах / В.И. Киреев, А.В. Пантелеев. - М.: Высшая школа, 2010. - 480 с.

. Кузнецов В.В. Основы объектно-ориентированного программирования в Delphi: учебное пособие / В.В. Кузнецов, И.В. Абдрашитова. - Томск: ТУСУР, 2010. - 180 с.

. Марчук Г.И. Методы вычислительной математики / Г.И. Марчук.- М.: Наука, 2010. - 456 с.

. Поршнев С.В. Вычислительная математика. Курс лекций / С.В. Поршнев. - С-Пб.: БХВ-Петербург, 2012. - 320 с.

. Т Сухарев М.В. Delphi. Профессиональный подход: учебное пособие для студентов среднего профессионального образования / М.В.Сухарев. - М.: Наука и техника, 2010. - 600 с.

Приложение А


unit ObrMatU1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Grids, StdCtrls, XPMan, Menus;

type= class(TForm): TButton;: TButton;: TEdit;: TLabel;: TStringGrid;: TLabel;: TXPManifest;: TStringGrid;: TLabel;: TMainMenu;: TMenuItem;: TMenuItem;: TMenuItem;Button1Click(Sender: TObject);Button2Click(Sender: TObject);N1Click(Sender: TObject);N2Click(Sender: TObject);N3Click(Sender: TObject);

{ Private declarations }

{ Public declarations };: TForm1;ObrMatM, Unit2;

{$R *.dfm}TForm1.Button1Click(Sender: TObject);n,col,row:integer;:=strtoint(edit1.Text);1.ColCount:=n+1; // Колонки в таблице

tab1.RowCount:=n; // Количество строк в таблице

tab2.ColCount:=2; // Колонки в таблице

tab2.RowCount:=n; // Количество строк в таблице

col:=0;row:=0 to n do.Cells[col,row]:='X('+inttostr(row+1)+')';; end;TForm1.Button2Click(Sender: TObject);a,b,c:Tmatrix;f,x:Tmass;:Real;,k,j:integer;:=strtoint(edit1.Text);(a,n,n); //транспонированная матрица A

for k:=0 to n-1 doj:=0 to n-1 do begin[k,j]:=strtofloat(Tab1.Cells[k,j]);;

Setlength(b,n,n);//присоединенная матрица В

Peresch(n,a,b); // вычисление присоединенной матрицы

Setlength(c,n,n); //обратная матрица С

for k:=0 to n-1 doj:=0 to n-1 do[k,j]:=strtofloat(Tab1.Cells[j,k]);//исходная матрица;

Opr(n,det,c);//вычисление определителя

if c[n-1,n-1]=0 then Showmessage('Обратная матрица не существует');

for k:=0 to n-1 doj:=0 to n-1 do

b[k,j]:=b[k,j]/det;//деление на определитель

end;

//нахождение корней

Setlength(f,n);//массив свободных членов

for k:=0 to n-1 do begin[k]:=strtofloat(Tab1.Cells[n,k]);;(x,n);//массив корней(n,b,f,x);//нахождение корней

for j:=0 to n-1 do.Cells[1,j]:=floattostrF(x[j],ffFixed,5,3);; end;TForm1.N1Click(Sender: TObject);.Showmodal;;TForm1.N2Click(Sender: TObject);i: Integer;i := 0 to Tab1.ColCount - 1 do Tab1.Cols[i].Clear;i := 0 to Tab2.ColCount - 1 do Tab2.Cols[i].Clear;.Clear;;TForm1.N3Click(Sender: TObject);Form1.Close; end;.


Тема: Решение систем линейных уравнений «матричным методом» Содержание Введение

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ