Методы решения некорректно поставленных задач
Рефераты >> Математика >> Методы решения некорректно поставленных задач

Это следует непосредственно также из того, что функционал W[ z ] = ||z||2 является сстабилизирующим и квазимонотонным. Стабилизирующий функционал W[ z ] называется квазимонотонным , если каков бы ни был элемент z из F1 , не принадлежащий множеству M0 , в любой его окрестности найдется элемент z1 из F1, для которого W[ z1 ]< W[ z ], т.е. если функционал не имеет локальных минимумов на множестве F1\ M0.

Задачу нахождения вектора zd можно поставить так: среди векторов z, удовлетворяющих условию ||Az – u ||=m +2d , найти вектор zd с минимальной нормой, т. е. минимизирующий функционал W[ z ]=||z||2.

Последнюю задачу можно решать методом Лагранжа, т. е. в качестве zd брать вектор za, минимизирующий функционал

Мa [z, u] = ||Az - u ||2+ a||z||2, a>0,

с параметром a, определяемым по невязке, т. е. из ус­ловия ||Аza— u||=d1. При этом параметр a определяется однозначно .

3.3.4. Поскольку Мa [z, u] — квадратичный функционал, то для любых u ÎRm и a> 0 существует лишь один минимизирующий его вектор za. В самом деле, допустим,

что существуют два вектора za и za, минимизирующие его. Рассмотрим векторы z, расположенные на прямой (пространстваRn), соединяющей za и za:

z = za + b( za - za).

Функционал Мa [z, u] на элементах этой прямой есть неотрицательная квадратичная функция от b. Следова­тельно, она не может достигать наименьшего значения при двух различных значениях b: b = 0 (z = za) и b=1 (z = za).

Компоненты zja вектора za являются решением си­стемы линейных алгебраических уравнений

получающихся из условий минимума функционала Мa [z, u]:

Здесь

Компоненты zja могут быть определены и с помощью какого-нибудь другого алгоритма минимизации функцио­нала Мa [z, u].

Вектор za можно рассматривать как результат приме­нения к u некоторого оператора za=R(u, a), завися­щего от параметра a.

Покажем, что оператор R0(u, a) является регуляризирующим для системы (3;3,1), т. е. обладает свойствами 1) и 2) определения 2 (см. 3.1.2.). В п. 3.3.2. было сказано, что он определен для всяких u ÎRm и a > О и, следовательно, обладает свойством 1). Теперь пока­жем справедливость свойства 2), т. е. существование таких функций a=a(d) , что векторы za(d) = R0(u, a(d)) сходятся к нормальному решению z° системы (3; 3,1) при dà0. Это непосредственно следует из приводимой ниже теоремы 2.

Теорема 2( Тихонова). Пусть z° есть нормальное решение си­стемы Az= u и вместо вектора u мы имеем вектор u такой, что ||u—u||<=d. Пусть, далее, b1(d) и b2(d) — какие-либо непрерывные на [0, d2] и положительные на (0, d2] функции, монотонно стремящиеся к нулю при dà 0 и такие, что

Тогда для любой .положительной на (0, d2] функции a=a(d) , удовлетворяющей условиям

векторы za(d) = R0(u, a(d)) сходятся к нормальному ре­шению z0 системы Az = u при dà0, т. е.

Примечание. Доказательства теорем в данном разделе опущены, т.к. основной теоретической частью работы является раздел «Метод Подбора. Квазирешения». Метод Тихонова описан из-за использования его в численном эксперименте.

ЗАКЛЮЧЕНИЕ

Для реализации численного примера был выбран метод Тихонова решения плохо обусловленных СЛАУ. В качестве исходной была взята СЛАУ Az=u, имеющая в матричной записи вид:

Определитель матрицы коэффициентов этой системы близок к нулю – он равен 0.000125. Попробуем решить эту систему с помощью обратной матрицы:

z=A-1u

Получим z1=316

z2=-990

z3=832

Теперь предположим, что правая часть нам известна приближенно, с погрешностью 0.1 Изменим, к примеру, третий элемент вектора-столбца с 1 на 1.1 :

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

z1=348

z2=-1090

z3=916.

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

Будем искать решение методом Тихонова. В теоретической части было показано, что целесообразно использовать регуляризирующий оператор следующего вида: (aE + ATA)za=ATud , где E – единичная матрица, za -- приближенное нормальное решение, AT – транспонированная исходная матрица, a -- параметр регуляризации,

ud -- правая часть, заданная неточно. Эту задачу можно решать стандартными методами, задав предварительно функцию a=a(d) , удовлетворяющую условиям теоремы Тихонова. В моем примере это функция a(d)=d/4d. Далее будем решать регуляризованную задачу с точностью e=0.001 ,последовательно изменяя значения a.

В качестве контр-примера можно подставить в программу любую функцию a(d) , не удовлетворяющую условиям теоремы Тихонова. Любая положительная функция монотонно возрастающая, не обладающая свойством a(d)à0 при dà0, не будет минимизировать невязку.

Текст программы приведен в приложении 1. Полная распечатка результатов приведена в приложении 2. Здесь же представлены окончательные значения на выходе из программы.

Приближение к нормальному решению

Z(1)= 3.47834819174013E+0002

Z(2)=-1.08948394975175E+0003

Z(3)= 9.15566443137791E+0002

Значение правой части при подстановке прибл. решения

U1(1)= 9.99997717012495E-0001

U1(2)= 1.00000741970775E+0000

U1(3)= 1.09948402394883E+0000

Значение параметра регуляризации:

2.61934474110603E-0010

ПРИЛОЖЕНИЯ

Приложение 1.

Текст программы для реализации метода Тихонова на языке PASCAL

Uses CRT;

type

real=extended;

const

matrixA: array[1 3,1 3] of real = ((-19/20,1/5, 3/5),

(-1 ,0.1, 0.5),

(-0.01 ,0 ,1/200));

One: array [1 3,1 3] of real = ((1,0,0),

(0,1,0),

(0,0,1));

U:array[1 3] of real = (1,1,1.1);

var

i,j,k,q:byte;

A,At,A1,A2,Ar,One1:array[1 3,1 3] of real;

delta,Det,S,alpha:real;

B,Z,U1:array[1 3] of real;

f:text;

Procedure TransA;

begin

for i:=1 to 3 do

for j:=1 to 3 do

At[i,j]:=A[j,i]

end;

Function Koef(par1,par2:byte):real;

var

Sum:byte;

Tmp:real;

begin

Sum:=par1+par2;

Tmp:=1;

for k:=1 to sum do

Tmp:=Tmp*(-1);

Koef:=Tmp;

end;

Function AlAdd(par1,par2:byte):real;

type

element=record

value:real;

flag:boolean;


Страница: