Контрольная работа: Метод квадратных корней

Введение

Система линейных алгебраических уравнений – математическая модель, которая описывает состояние равновесия экономического объекта, которое называется установившимся режимом или статикой объекта. Экономическая статика изучает допустимые и рациональные состояния экономического объекта.

Пусть дана система n линейных алгебраических уравнений с n неизвестными

(1.1)

 

или в матричной форме

Ax = b,

где

- матрица коэффициентов,


- столбец свободных членов и столбец неизвестных соответственно.

Если матрица А неособенная, т.е.

то система (1.1) имеет единственное решение. В этом случае решение системы (1.1) с теоретической точки зрения не представляет труда. Значения неизвестных xi (i=1,2,…n) могут быть получены по известным формулам Крамера

крамер квадратный корень матрица

где матрица Ai получается из матрицы А заменой ее i-го столбца столбцом свободных членов.

Но такой способ решения линейной системы с n неизвестными приводит к вычислению n + 1 определителей порядка n, что представляет собой весьма трудоемкую операцию при сколько-нибудь большом числе n.

Применяемые в настоящее время методы решения линейных систем можно разбить на две группы: точные и приближенные.

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

Приближенными методами называются такие методы, которые даже в предположении, что вычисления ведутся без округлений, позволяют получить решение системы (x1, x2, …, xn) лишь с заданной точностью. Точное решение системы в этих случаях может быть получено теоретически как результат бесконечного процесса. К приближенным методам относятся метод простой итерации, метод Зейделя и др. Каждый из этих методов не всегда является сходящимся в применении к конкретному классу систем линейных уравнений.

Данная контрольная работа имеет следующую структуру: в начале рассматривается математическая постановка задачи для метода квадратных корней при решении систем линейных алгебраических уравнений. Затем производится реализация данного метода с помощью вычислительных средств ЭВМ, а именно прикладной программой Matlab 6.5. На примере реализации нескольких тестовых задач проводится анализ точности данного метода, а именно когда наиболее эффективно применять метод квадратных корней при решении систем линейных алгебраических уравнений. Анализ проводится на основе матрицы А (ее мерности, разреженности, обусловленности. Результаты, полученные на основе метода квадратных корней, приведены в конце данной работы. Также в работе представлен графический материал. По окончании проведения исследования работа завершается логическим заключением.


Математическая постановка задачи

 

Метод квадратных корней используется для решения линейной системы

Ax = b,

(1.2)

 


у которой матрица А симметрическая, т.е.

aij = aji (i, j = 1, 2, …, n).

Метод является более экономным и удобным по сравнению с решением систем общего вида.

Решение системы осуществляется в два этапа.

Прямой ход. Представим матрицу А в виде произведения двух взаимно транспонированных треугольных матриц:

(1.3)

 
А = Т¢ Т,

где

.


Перемножая матрицы T¢ и T и приравнивая матрице A, получим следующие формулы для определения tij:

(1.4)

 
После того, как матрица Т найдена, систему (1.2) заменяем двумя эквивалентными ей системами с треугольными матрицами

(1.5)

 


T¢y = b, Tx = y.

Обратный ход. Записываем в развернутом виде системы (1.5):

Отсюда последовательно находим


При вычислениях применяется обычный контроль с помощью сумм, причем при составлении суммы учитываются все коэффициенты соответствующей строки.

Заметим, что при действительных aij могут получиться чисто мнимые tij. Метод применим и в этом случае.

Описание программного обеспечения (согласно стандартам на ИТ)

Для изучения данного метода было выбрано программное обеспечение: Matlab 6.5, в операционной системе Windows XP Professional. На этапе проектирования была создана программа Square (‘квадрат’). Входными переменными для данной программы является матрица A и соответствующая ей матрица B. Результатом выполнения данной программы является матрица X (выходная переменная), которая является решением системы линейных алгебраических уравнений.

Ниже описан алгоритм реализации метода квадратных корней на языке программирования в среде Matlab 6.5:

A=input('Введите матрицу A=');

B=input('Введите B=');

if A==A'

if det(A)~=0

s=size(A,1);

if size(B',1) == s

T=zeros(s);

T(1,1)=sqrt(A(1,1));

for k=2:s

T(1,k)=A(1,k)/T(1,1)

end

for j=2:s

for i=2:s

if i==j

sm=0

for k=1:(i-1)

sm=sm+T(k,i)^2

end

T(i,i)=sqrt(A(i,i)-sm)

else

if i<j

sm=0

for k=1:(i-1)

sm=sm+T(k,i)*T(k,j)

end

T(i,j)=(A(i,j)-sm)/T(i,i)

end

end

end

end

Y=zeros(s,1)

Y(1)=B(1)/T(1,1)

for i=2:s

sm=0

for k=1:(i-1)

sm=sm+T(k,i)*Y(k)

end

sm

Y(i)=(B(i)-sm)/T(i,i)

end

X=zeros(s,1)

X(s)=Y(s)/T(s,s)

for m=1:(s-1)

i=s-m

sm=0

for k=(i+1):s

sm=sm+T(i,k)*X(k)

sm

end

X(i)=(Y(i)-sm)/T(i,i)

E=A*X-B'

end

else

error('B не соответствует матрице А')

end

else

error('det А = 0')

end

else

B = B*A'

A = A*A'

if det(A)~=0

s=size(A,1);

if size(B',1) == s

T=zeros(s);

T(1,1)=sqrt(A(1,1));

for k=2:s

T(1,k)=A(1,k)/T(1,1)

end

for j=2:s

for i=2:s

if i==j

sm=0

for k=1:(i-1)

sm=sm+T(k,i)^2

end

T(i,i)=sqrt(A(i,i)-sm)

else

if i<j

sm=0

for k=1:(i-1)

sm=sm+T(k,i)*T(k,j)

end

T(i,j)=(A(i,j)-sm)/T(i,i)

end

end

end

end

Y=zeros(s,1)

Y(1)=B(1)/T(1,1)

for i=2:s

sm=0

for k=1:(i-1)

sm=sm+T(k,i)*Y(k)

end

sm

Y(i)=(B(i)-sm)/T(i,i)

end

X=zeros(s,1)

X(s)=Y(s)/T(s,s)

for m=1:(s-1)

i=s-m

sm=0

for k=(i+1):s

sm=sm+T(i,k)*X(k)

sm

end

X(i)=(Y(i)-sm)/T(i,i)

end

else

error('B не соответствует матрице А')

end

else

error('det А = 0')

end

end

Описание тестовых задач

 

Результатом разработки программы является этап реализации и тестирования метода квадратных корней. На этапе выполнения программы может появляться неточность полученного решения из-за ошибки вычисления (например, ошибки округления ЭВМ). Исследуем влияние мерности матрицы A, ее обусловленности, разреженности на точность полученного решения. Результат будем оценивать по невязке ε = Ax* - b (x* - полученное решение). Для этого рассмотрим разного рода матрицы:

ü  влияние мерности матрицы А;

Рассмотрим матрицы мерности 2´2, 3´3, 4´4 и 5´5. Зададим матрицу мерностью 2´2:

, ей соответственно зададим , в результате выполнения программы получим решение:

X =

ε =

Зададим матрицу размерностью 3´3:

, ей соответственно зададим , в результате выполнения программы получим решение:

X =

ε =

Зададим матрицу размерностью 4´4:

, ей соответственно зададим , в результате выполнения программы получим решение:


X =

ε =

Зададим матрицу размерностью 5´5:

, ей соответственно зададим , в результате выполнения программы получим решение:

X =

ε =

Сравним полученные результаты, для этого проанализируем точность полученного решения. Результат мы можем оценить двумя способами  и , где E – матрица, полученная в результате подстановки найденного решения в систему линейных алгебраических уравнений: Е=A*x-b. Проиллюстрируем результаты графически. Для этого была разработана программа в среде Matlab 6.5.

E2=input('Введите матрицу Е2=');

E3=input('Введите матрицу Е3=');

E4=input('Введите матрицу Е4=');

E5=input('Введите матрицу Е5=');

Q1=sqrt(sum(power(E2,2)));

Q2=sqrt(sum(power(E3,2)));

Q3=sqrt(sum(power(E4,2)));

Q4=sqrt(sum(power(E5,2)));

Q = [Q1 Q2 Q3 Q4];

abs(E2);

abs(E3);

abs(E4);

abs(E5);

a1=max(abs(E2));

a2=max(abs(E3));

a3=max(abs(E4));

a4=max(abs(E5));

A = [a1 a2 a3 a4];

E = [2 3 4 5];

plot (Q,E)

pause

plot (A,E)



На основе проведенного анализа и иллюстрации графиков можно сделать вывод, что с увеличением мерности матрицы увеличивается неточность решения.

ü  влияние обусловленности матрицы А;

Для исследования возьмем матрицу следующего вида, которую в последствии будем заполнять нулями, прослеживая результат изменения ошибки:

, ей соответственно зададим

X =

-6.1000

-2.2000

-6.8000

-0.9000

0.2000

E =

-0.0389

-0.7994

0.2665

-0.0888

0.0888

, ей соответственно зададим


X =

-0.7869

-1.3706

-2.1805

-0.0204

1.5371

E =

0

0

0.2665

0

0

, ей соответственно зададим

X =

-0.4950

0.1575

5.0050

4.7700

-5.5025

E =

0

0

0

-0.7105

0.4441


, ей соответственно зададим

X =

-4.1125

1.0263

-1.0750

1.2947

-1.2313

E =

-0.0444

0

0.0888

-0.0888

0.1776

, ей соответственно зададим

X =

0.5000

1.0263

1.6667

1.2947

0.8250

E =

0

0

0.8882

-0.8882

0

Четкой тенденции проследить невозможно, хотя видно на основе предложенной матрицы А, что с увеличение числа нулей, присутствующих в матрице, точность решения увеличивается, т.к. уменьшается число элементов задействованных в вычислении, то и снижается ошибка вычислений.

ü  обусловленность матрицы А;

Зададим матрицу с практически равными элементами. В последствии будем увеличивать ее размерность.

, ей соответствует

X =

-1.6499

-1.6501

E =

0

-0.9313

, ей соответствует

X =

-1.6522

0.7500

2.3978

E =

0

0.1863

0


, ей соответствует

X =

0.0018

2.4041

2.3978

0.0033

E =

-0.0167

0.0371

-0.0371

-0.3558

Обусловленность матрицы снижает ошибку вычислений у матриц с более высокой размерностью, т.е. с увеличением размерности разряженной матрицы ее точность увеличивается (ошибка вычислений снижается).

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

 

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


Заключение

 

В данной контрольной работе был проанализирован один из методов решения систем линейных алгебраических уравнений: метод квадратных корней. Метод был предложен для решения системы Ax=b, где матрица A – симметрическая, хотя не исключено, что метод может использоваться и не для симметрических матриц, тогда исходную систему можно привести к виду AA¢x=b A¢, полученную систему легко можно решить методом квадратных корней.

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


Литература

 

1.  Государственные стандарты. ИТ. комплекс стандартов и руководящих документов на АС. Издание официальное. Комплект стандартизации и метрологии СССР. М. – 1991.

2.  Копченова Н.В., Марон И.А. Вычислительная математика в примерах и задачах. М.: «Наука», 1972.

3.  Писсанецки С. Технология разряженных матриц. – М.: Мир, 1988.

4.  Сарычева О.М. Численные методы в экономике: Конспект лекций. Новосибирск: НГТУ, 1995.

5.  Численные методы. Методические указания. НГТУ, 2002.

Моделирование на GPSS
ОСНОВЫ МОДЕЛИРОВАНИЯ НА GPSS/PC ОГЛАВЛЕНИЕ ВВЕДЕНИЕ . 1 1. ОБЩИЕ СВЕДЕНИЯ О GPSS/PC . 2 2. ОСНОВНЫЕ БЛОКИ GPSS/PC И СВЯЗАННЫЕ С НИМИ ОБЪЕКТЫ .
описывать зависимость y=-ln(x), представленную в табличном виде.
имя UNLINK X A,B,C,D,E,F
Раздел: Рефераты по информатике, программированию
Тип: реферат
Программирование, ориентированное на объекты
Государственный комитет Российской Федерации по высшему образованию Самаpский госудаpственный аэpокосмический унивеpситет имени академика С.П ...
PROCEDURE Sm (T: ТОЧКА; New_X, New_Y: CARDINAL);
TYPE POINT = RECORD X,Y: INTEGER END;
Раздел: Рефераты по информатике, программированию
Тип: реферат
Обработка информации и принятие решения в системах ближней локации
Курсовая работа по дисциплине: "Теория обработки информации в системах ближней локации" на тему: "Обработка информации и принятие решения в системах ...
Команда sim передает данные из контрольного множества P_k на вход нейронной сети net, при этом результаты записываются в матрицу выходов Y_k. Количество строк в матрицах P_k и Y_k ...
[Ek] = T-Y_k;
Раздел: Рефераты по информатике, программированию
Тип: курсовая работа
Дискретная математика
... Федерации Российский химико-технологический университет им. Д.И. Менделеева Новомосковский институт Издательский центр T.П. Тюрина, В.И. Емельянов
Но у реального преобразователя входной сигнал x(t) представляет собой непрерывную величину, и для описания такого преобразователя с помощью модели конечного автомата нужно ...
Procedure tact (v: vector X; var Ypred, Y: vector Y);
Раздел: Рефераты по математике
Тип: учебное пособие
Основы дискретной математики
Федеральное агентство по образованию Новомосковский институт (филиал) Государственного образовательного учреждения высшего профессионального ...
if a[j]<x then begin k:=j; x:=a[k] end;a[k]:=a[i]; a[i]: =xend;
l (x, vi)=l (x, y)+l (r, s) - l (t, y),
Раздел: Рефераты по информатике, программированию
Тип: учебное пособие