Рефераты. Использование современной компьютерной техники и программного обеспечения для решения прикладных задач в области геодезических измерений

Рис. 3.6 Лист Excel в режиме отображения формул

Рис. 3.7 Проведение промежуточных расчетов

3.8 Проверка в MathCad

Рис.3.8 Проверка в MathCad

3.9 Анализ результатов

Сравнивая результаты работы программы с проверкой в табличном редакторе Excel и математическом пакете MathCad, можно удостовериться в правильности работы программы и выборе алгоритма ее работы.

4. Решение СЛАУ методом Гаусса

4.1 Теоретические сведения

Рассмотрим один из наиболее известных и широко применяемых прямых методов решения систем линейных уравнений. Обычно этот метод называют методом исключения или методом Гаусса.

Чтобы проиллюстрировать этот метод, рассмотрим сначала систему из трех уравнений с тремя неизвестными:

(4.1)

В такой системе по крайней мере один из коэффициентов ,,должен быть отличен от нуля, иначе бы мы имели бы дело в этих трех уравнениях только с двумя неизвестными. Если , то можно переставить уравнения так, чтобы коэффициент при в первом уравнении был отличен от нуля. Очевидно, что перестановка уравнений оставляет систему неизменной: ее решение остается прежним.

Теперь введем множитель .

Умножим первое уравнение системы (4.1) на и вычтем его из второго уравнения системы. («Первое» и «второе» уравнения берем уже после перестановки, если она была необходима). Результат вычитания равен:

Так как ,

фактически исключается из второго уравнения (именно для достижения такого результата и было выбрано значение ).

Определим теперь новые коэффициенты

Тогда второе уравнение системы приобретает вид

(4.2)

Заменим второе из первоначальных уравнений уравнением (4.2) и введем множитель для третьего уравнения

.

Умножим первое уравнение на этот множитель и вычтем его из третьего. Коэффициент при снова становится нулевым, и третье уравнение приобретает вид

(4.3)

где

.

Если теперь в исходной системе уравнений (4.1) заменить третье уравнение на (4.3), то новая система выглядит так:

(4.4)

Эти новые уравнения полностью эквивалентны исходным уравнениям с тем преимуществом, что входит только в первое уравнение и не входит ни во второе, ни в третье. Таким образом, два последних уравнения представляют собой систему из двух уравнений с двумя неизвестными; если теперь найти решение этой системы, т.е. определить и , то результат можно подставить в первое уравнение и найти . Иначе говоря, задача сведена к решению системы из двух уравнений с двумя неизвестными.

Попытаемся теперь исключить из двух последних уравнений. Если, то снова мы переставим уравнения так, чтобы было отлично от нуля (если и , то система вырождена и либо вовсе не имеет решения, либо имеет бесчисленное множество решений).

Введем новый множитель

.

Умножим второе уравнение полученной системы (4.4) на и вычтем его из третьего. Результат вычитания равен

В силу выбора

.

Полагая, что

окончательно получим

(4.5)

Третье уравнение полученной системы (4.4) можно заменить уравнением (4.5), после чего система уравнений приобретает следующий вид:

(4.6)

Такая система уравнений (4.6) иногда называется треугольной из-за своего внешнего вида.

Для решения необходимо определить из третьего уравнения системы (4.6), подставить этот результат во второе уравнение и определить. Полученные значения и подставить в первое уравнение и определить. Этот процесс, который обычно называется обратной подстановкой (обратный ход), определяется формулами:

(4.7)

.

Необходимо отметить, если , то система уравнений вырождена.

Теперь можно обобщить этот метод на случай системы из n - уравнений с n-неизвестными. Ниже записана система уравнений, приведенная к треугольному виду (4.8).

(4.8)

Формулы для вычисления неизвестных (обратный ход) будут иметь вид:

(4.9)

4.2 Постановка задачи

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

4.3 Исходные данные

4.4 Блок-схема алгоритма

Блок-схема процедуры «Gaus»:

Рис. 4.2 Блок-схема процедуры «Gaus»

4.5 Текст программы

Файл исходных данных

1 -1 1 -3

2 18 0 5

1 5 2 6

0 1 1 2

15 83 18 8

Program Zadacha6;

Uses CRT;

Type matrix=array [1..10,1..10] of real;

vector=array [1..10] of real;

Var

i,j:integer;

a:matrix;

x,b:vector;

t1,t:text;

Procedure Gaus (Var a:matrix; Var b:vector; x:vector);

Var k,i,j,q:integer;

d:real;

t:text;

Begin

For i:=1 to 4 do

a[i,5]:=B[i];

Assign(t,'reshenie.txt');

Rewrite(t);

Writeln('Reshenie sistemy lineinygh algebraicheskigh uravneniy');

Writeln('(kolichestvo uravneniy 4)');

Writeln('Sistema uravneniy:');

Writeln(t,'Reshenie sistemy lineinygh algebraicheskigh uravneniy');

Writeln(t,'(kolichestvo uravneniy 4)');

Writeln(t,'Sistema uravneniy:');

For i:=1 to 4 do

Begin

For j:=1 to 4 do

Write(t,a[i,j]:6:1,'x[',j,'] ');

Writeln(t,b[i]:6:1);

End;

For i:=1 to 4 do

Begin

For j:=1 to 4 do

Write(a[i,j]:6:1,'x[',j,'] ');

Writeln(b[i]:6:1);

End;

For i:=1 to 4 do Begin

d:=a[i,i];{Поиск максимума в столбце}

q:=i;

For j:=i to 4 do

If abs(a[j,i])>abs(d) then

Begin

D:=a[j,i];

q:=j;

End;

{Обмен строк}

If i<>q Then

Begin

For j:=i to 5 do

Begin

D:=a[i,j];

a[i,j]:=a[q,j];

a[q,j]:=d;

End;

End;

{Создание строки}

For j:=5 downto i do

a[i,j]:=a[i,j]/a[i,i];

{зануление столбцов, вычисление А}

For k:=i+1 to 4 do

For j:=5 downto i do

a[k,j]:=a[k,j]-a[i,j]*a[k,i];

End;{Обратный ход}

x[4]:=a[4,5];

For i:=4-1 downto 1 do begin

D:=0;

For j:=4 downto i+1 do

d:=d+a[i,j]*x[j];

x[i]:=a[i,5]-d;

end;

Writeln(t,'Vector X:');

Writeln('Vector X:');

For i:=1 to 4 do

Write(t, x[i]:5:3,' ');

Writeln(t);

close(t);

Begin

For i:=1 to 4 do

Write(x[i]:5:3,' ');

Writeln;

End;

End;

Begin

Clrscr;

assign(t1,'clay.txt');

reset(t1);

For i:=1 to 4 do

For j:=1 to 4 do

Read(t1,a[i,j]);

For i:=1 to 4 do read(t1,b[i]);

Gaus(a,b,x);

Readkey;

End.

4.6 Результаты работы программы

Рис.4.3 Результат работы программы

Reshenie sistemy lineinygh algebraicheskigh uravneniy

(kolichestvo uravneniy 4)

Sistema uravneniy:

1.0x[1] -1.0x[2] 1.0x[3] -3.0x[4] 15.0

2.0x[1] 18.0x[2] 0.0x[3] 5.0x[4] 83.0

1.0x[1] 5.0x[2] 2.0x[3] 6.0x[4] 18.0

0.0x[1] 1.0x[2] 1.0x[3] 2.0x[4] 8.0

Вектор Х:

-7.671 7.063 12.456 -5.759

4.7 Проверка в MS Excel

Рис.4.4 Проверка в MS Excel

Рис.4.5 Лист Excel в режиме отображения формул

4.8 Проверка в MathCad

Рис.4.6 Проверка методом Гаусса

Рис.4.7 Проверка методом Крамера

Рис.4.8 Проверка методом приведения матрицы к треугольному виду

Рис.4.9 Проверка с использованием обратной матрицы

4.9 Анализ результатов

На рис. 4.5 - 4.10 Выполнена проверка решения системы линейных алгебраических уравнений разными методами. Сравнивая полученные результаты с результатами работы программы и ее проверки в табличном редакторе MS Excel, можно сделать вывод о правильности работы программы и правильности выбора алгоритма решения поставленной задачи.

Заключение

В ходе выполнения курсовой работы было выполнено четыре задания: три типовые геодезические задачи («Обратная геодезическая задача», «Прямая угловая засечка», «Обратная геодезическая засечка»), и одна математическая задача «Решение системы линейных алгебраических уравнений методом Гаусса». Поставленные задачи решались с помощью языка программирования Turbo Pascal с последующей проверкой в математическом пакете MathCad 14.0 и табличном процессоре MS Excel 2007. Судя по полученным результатам и их проверки можно удостовериться в правильности работы предложенных программ.

Библиографический список

1. Информатика: Программа и методические указания по выполнению курсовой работы для студентов специальности "Маркшейдерское дело" дневной формы обучения / Санкт-Петербургский горный ин-т. Сост.: А.П. Кондрашов, Т.Р. Косовцева, В.В. Петров, - СПб, 2004 . 51 с.

2. Информатика. Учебник. Под редакцией Н.В. Макаровой. М., 2001.

3. Правила оформления курсовых и квалификационных работ / Санкт-Петербургский горный ин-т. Сост. И.О. Онушкина, П.Г. Талалай, - СПб, 2004, 50 стр.

4. Информатика. Работа в пакете MathCad. / СПГГИ(ТУ), Сост. О.Г. Быкова, СПб, 2005, 46 стр.

5. Ян Белицкий Turbo Pascal с графикой для персональных компьютеров. М.:1991г.

Страницы: 1, 2, 3, 4, 5, 6



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.