Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Обратные и некорректные задачи биофизики. Учебное пособие
.pdf
23 RA=randn ( si z e (A) );
24 del=0.01 ;
25 Del=[];
26 ER=[];
27 ERP=[];
28 ERT=[];
29 CA=[];
30 ERt=[];
31 ERPt = [ ] ;
32 ERTi=[];
33 warning off
34 for kk=1:8;
35 del=del
36 Del=[Del del ] ;
37 ud=(u+de l
38 ud1=(u1+del
39 AA=A+0.00001
40 zz=invhilb (N)
41 zp=pinv (AA)
42 Er=norm(z−zz)/norm(z );
43 ER=[ER Er ] ;
44 Erp=norm(z−zp)/norm(z );
45 ERP=[ERP Erp ] ;
46 BB=B+d e l
47 zzt=inv(BB)
48 zpt=pinv (BB)
49 Ertt=norm(z−zzt)/norm(z );
50 ERt=[ERt E r tt ] ;
51 Erpt=norm( z−zpt)/norm(z );
52 ERPt=[ERPt Erpt ] ;
53 Mzz=max ( a b s ( zp ) ) ;
54 figure (1);
55 subplot (2 ,1 ,1);
56 plot ([1:N] ,z,'kx−' ,[1:N] ,zz,'b−' ,[1:N] ,zp,'ro−' );
57 set (gca ,'YLim' ,[ −Mzz Mzz ] ) ;
58 set (gca ,'FontName' ,FntNm,'XLim' ,[1 N]);
59 title('Решениесистемы сматрицейГильберта . ' );
60 legend('\phi=1' , ' \phi_{\delta}=A^{−1}f_{\ de l ta }' ,' \phi_МНК{}' );
61 subplot (2 ,1 ,2);
62 plot ([1:N] ,z,'kx−' , [ 1:N] , zzt ,' b.' ,[1:N] , zpt ,'ro−' );
63 set (gca ,'FontName' ,FntNm,'XLim' ,[1 N]);
64 title('Решениесистемы сматрицейТёплица . ' );
65 legend('\phi=1' , ' \phi_{\delta}=A^{−1}f_{\ de l ta }' ,' \phi_МНК{}' );
66 set ( gcf ,'Name' , ...
67 [ 'МатрицаГильберта иТёплица . delta=' num2str ( del ) ] , 'NumberTitle' , ' off' )
68 end
69 warning(' off' ,' all' );
70 figure (2);
71 subplot (1 ,2 ,2);
72 loglog ((Del) ,(ERt),' . −' , ( Del ) , (ERPt ) , 'ko−' )
73 set (gca ,'FontName' ,FntNm);
74 xlabel ('\delta' );
75 title('МатрицаТёплица ' );
76 ylabel ('Относительнаяошибка решения ' );
77 legend('Ошибка \phi_{\delta}' , 'Ошибка \ phi_МНК{}' );
78 subplot (1 ,2 ,1);
0.1;
*
rr/norm( rr ));
*
rr/norm( rr ));
*
del*RA/ n o rm (RA ) ;
*
ud ;
*
ud ;
*
RA/ n o rm (RA ) ;
*
ud1 ;
*
ud1 ;
*
61

79 loglog ((Del) ,(ER),' . −' ,( Del) ,(ERP),' ko−' );
80 set (gca ,'FontName' ,FntNm);
81 xlabel ('\delta' );
82 ylabel ('Относительнаяошибка решения ' ); title ('МатрицаГильберта ' );
83 set ( gcf ,'Name' ,'Ошибки взависимостиот delta' , 'NumberTitle' , ' off' )
84 s1=svd(A);
85 s2=svd(B);
86 figure (3);
87 plot(log10 ( s1 ) ,' r.−' );
88 hold on;
89 plot(log10 ( s2 ) ,' . −' );
90 hold off
91 set (gca ,'FontName' ,FntNm);
92 title('Сравнениесингулярных чисел s_iматриц ГильбертаиТёплица ' );
93 ylabel (' lg s_i' );
94 xlabel ('Номер i сингулярного числа ' )
95 legend (['МатрицаГильберта порядка N= ' num2str (N) ] , ...
96 'Матрица [1/(1+|i−j|/N)]_{i,j=1,... ,N}' );
62

Глава 7
Классические методы решения
интегральных уравнений Фредгольма
Iрода
7.1 Метод квадратур
.
Рассмотрим интегральное уравнение Фредгольма I рода
b
K(x, y)φ(y)dy = f(x),x ∈ [c, d], (7.1)
a
где K(x, y)−ядро, φ(y)− искомая функция, f(x)−правая часть, [a, b]−область изменения y, [c, d]−область изменения x.
Полагаем, что вместо f (x) известна f
вая часть, вместо K(x, y) известно K
под φ(y) нужно подразумеватьφ(y)−решение с погрешностями, обусловленными по-
грешностями правой части и ядра (а также метода решения).
Поэтому вместо (7.1) нужно писать:
b
Kh(x, y)φ(y)dy = fδ(x),x∈ [c, d], (7.2)
a
однако для упрощения записей мы будем далее использовать уравнение (7.1), подразумевая под ним уравнение (7.2).
Метод квадратур заключается в следующем:
1) Вводим равномерные сетки узлов по y с шагом Δy = h
шагом Δx = h
m =(d − c)/h
2) Интеграл в (7.1) заменяем конечной суммой, расписывая его по некоторой
= const. Получим число узлов равным n =(b − a)/h1+1 по y и
2
+1по x.
2
(x)− измеренная с погрешностями (δ) пра-
δ
(x, y)−неточное ядро, с погрешностью h, тогда
h
= const ипоx с
1
63

квадратурной формуле, например, по формуле трапеций:
b
K(x, y)φ(y)dy ≈
a
n
pjK(x, yj)φ(yj),
j=1
0.5h
,j=1∨ j = n,
p
=
j
s
1
h
,otherwise
1
= a +(j − 1)h1.
j
3) Учитывая дискретизацию по x:
x
= c +(i − 1)h2,
i
окончательно получим дискретный аналог уравнения (7.1):
n
Aijφj= fi,i=1, .., m, (7.3)
j=1
или
Aφ = f (7.4)
где A
= pjK(xi,yj)− элементы матрицы A размера m × n; φj= φ(yj); fi= f(xi).
ij
Итак, получена система m линейных алгебраических уравнений (7.3) относитель-
но n неизвестных φ
. Решая ее, можно получить решение интегрального уравнения
j
(7.1) в дискретном численном виде. Матрица A системы уравнений (7.3), вообще
говоря, прямоугольна.
Если n = m, то матрица A−квадратная и СЛАУ (7.3) можно решать по правилу Крамера, гауссовскими методами и т.п. Если m>n, то СЛАУ (7.3) нужно ре-
шать методом наименьших квадратов Гаусса−получим псевдорешение, а если m<n,
то нужно использовать метод псевдообратной матрицы Мура-Пенроуза −получим
нормальное решение. Таким образом, первые два пункта корректности по Адамару формально будут выполнены. Однако все эти решения очень неустойчивы, т.е.
нарушается 3-й пункт корректности по Адамару. Эта неустойчивость обусловлена
тем, что обратный оператор уравнения (7.1) неограничен. Это проявляется в том,
что минимальное сингулярное число μ
интегрального оператора уравнения (7.1)
min
равно нулю и число обусловленности cond = ∞ . Если же интегральный оператор
аппроксимируется алгебраическим оператором с конечными m и n,тоμ
min
может
стать несколько отличным от нуля, однако решение СЛАУ (7.3) будет по-прежнему
очень неустойчивым.
Пример.Рассмотрим интегральное уравнение вида
1
φ(y)dy
= f(x).
1+(x − y)
−1
Возьмем модельное решение φ(y)=(1−y
2
2)2
и вычислим с его помощью правую часть
f(x). Для численного решения интегрального уравнения используем метод квадратур. Далее, точные данные задачи возмутим нормально распределенными случайными числами так, чтобы уровни относительной среднеквадратичной ошибки полученных приближенных реализаций (A
) были одинаковыми: h = δ =0.001. Обычно
h,fδ
64

такой уровень возмущений считается малым. Применим теперь для решения точной системы уравнений и ее возмущенного аналога несколько стандартных методов
решения СЛАУ. Они реализованы в программе MATLAB, которая приведена ниже.
1 clear all
2 close all
3 FntNm=' Arial Cyr' ;
4 disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−' );
5 disp('')
6 disp(' РешениеинтегральногоуравненияФредгольмарода 1 ' );
7 disp(' сядром K(x , y)=1/(1+(x−y)^2)' );
8 disp('')
9 disp(' Модельноерешение :z=(1− y. ^2) . ^2')
10 delta=0.001 ;
11 NN= 2 ;
12 t=linspace (− 1 ,1,125);
13 x=t ;
14 n=length( t );
15 h=t(2)− t (1);
16 [XX,TT]=meshgrid(x , t ) ;
17 z=(1− t. ^2). ^2' ;
18 A=h. /(1+(XX−TT) . ^2);
19 u=A
20 tt=linspace(−2 ,2 ,125);
21 k1=1./(1+tt.^2);
22 disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−' );
23 disp('');
24 disp('Просмотрдискретных данныхзадачи Az = u' );
25 disp('');
26 disp (['Уровень ошибокданных : h = delta = ' num2str(delta )]);
27 disp('Неустойчивость применяемыхметодовотраженавдиагностических ' );
28 disp('сообщениях МАТЛАБ . ' );
29 disp('Результаты зависятотреализацийслучайныхошибокданных ! ' );
30 disp('');
31 figure (1);
32 subplot (2 ,2 ,1);
33 plot (t ,z ,' .−' );
34 set (gca ,'FontName' ,FntNm);
35 title('Точноерешение ' );
36 subplot (2 ,2 ,2);
37 plot (tt ,k1 ,' . −' );
38 set (gca ,'FontName' ,FntNm);
39 title('Ядро' );
40 subplot (2 ,2 ,3);
41 plot (t ,u,' . −' );
42 set (gca ,'FontName' ,FntNm);
43 title('Праваячасть ' );
44 set ( gcf ,'Name' ,'Данныезадачи ' , ' NumberTitle' ,' off' )
45 RN1=randn(n ,1 );
46 ud1=u+delta
47 RK1=tril(randn(size(A)));
48 AA=A+delta
49 disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−' );
50 disp('')
51 disp('Метод 1) обращенияоператора :z=A^{−1}u' )
z;
*
RN1/ norm (RN1 ) ; %Приближенная праваячасть
*
RK1/ norm (RK1 ) ;%Приближенная матрица
*
65

52 disp('')
53 IAA=in v (AA) ;
54 IA=inv (A) ;
55 zz=IA
56 zzap=IAA
57 figure (2);
58 subplot (2 ,1 ,1);
59 plot (t ,z ,t(1:NN:end ),zz(1:NN:end),' r. − ' );
60 set (gca ,'FontName' ,FntNm);
61 title ('Решениеинтегрального уравнениясточнымиданными ' );
62 legend('Точноерешение ' ,'Вычисленное решение ' );
63 subplot (2 ,1 ,2);
64 plot ( t , zzap , ' r.−' ,t ,z, 'k−' )
65 set (gca ,'FontName' ,FntNm);
66 legend('Приближенноерешение ' ,'Точное решение ' );
67 title ('Решениес приближеннымиданными ' );
68 set ( gcf ,'Name' ,'Уравнение 1 ' ,'NumberTitle' ,' off' )
69 disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−' );
70 disp('');
71 disp('Метод 2) наименьшихквадратов : A^TAz=A^Tu ==> z' );
72 disp('')
73 IA=inv (A'
74 IAA=in v (AA'
75 zz=IA
76 zzap=IAA
77 figure (3);
78 subplot (2 ,1 ,1);
79 plot (t ,z ,t(1:NN:end ),zz(1:NN:end),' r. − ' );
80 set (gca ,'FontName' ,FntNm);
81 title ( 'Решениеинтегрального уравнениясточнымиданными ' );
82 legend ('Точное решение ' ,'Вычисленное решение ' );
83 subplot (2 ,1 ,2);
84 plot ( t , zzap , ' r.−' ,t ,z, 'k−' )
85 set (gca ,'FontName' ,FntNm);
86 legend ('Приближенное решение ' ,'Точное решение ' );
87 title ( 'Решениес приближеннымиданными ' );
88 set ( gcf ,'Name' ,'Уравнение 1 ' ,'NumberTitle' ,' off' )
89 disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−' );
90 disp('');
91 disp('Прямая 3) минимизацияневязкиСЛАУ :inf{||Az−u||} ==> z' );
92 disp('')
93 zz=lsqlin(A,u,[] ,[]);
94 zzap=lsq l i n (AA,ud1 , [] , [] ) ;
95 figure (5);
96 subplot (2 ,1 ,1);
97 plot (t ,z ,t(1:NN:end ),zz(1:NN:end),' r. − ' );
98 set (gca ,'FontName' ,FntNm);
99 title ( 'Решениеинтегрального уравнениясточнымиданными ' );
100 legend ('Точное решение ' ,'Вычисленное решение ' );
101 subplot (2 ,1 ,2);
102 plot ( t , zzap , ' r.−' ,t ,z, 'k−' )
103 set (gca ,'FontName' ,FntNm);
104 legend ('Приближенное решение ' ,'Точное решение ' );
105 title ( 'Решениес приближеннымиданными ' );
106 set ( gcf ,'Name' ,'Уравнение 1 ' ,'NumberTitle' ,' off' )
107 disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−' );
u;
*
ud1 ;
*
A' ;
*A)*
AA)*AA' ;
ud1 ;
*
*
u;
*
66

На рис.7.1 показаны результаты его применения. Представлены точное решение (непрерывная линия) и приближенные решения задачи (точки), полученные с
помощью обращения оператора, т.е. матрицы дискретной задачи. Верхний график
изображает приближенное решение для точных данных, а нижний -для возмущенных.Для точных данных неустойчивость приближенного решения возникает из-за
малых ошибок округления. В обоих случаях "пилообразность"приближенного решения настолько велика, что точное решение в данном масштабе выглядит как горизонтальная прямая. Аналогичные результаты (наблюдаются эффекты неустойчивости приближенного решения) получаются при использовании МНК. Заметим, что
в использованной дискретизации число обусловленности матрицы A приближенно
составило 4.386794170301492 · 10
4
10
1
0
-1
19
.
-2
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
7
10
5
0
-5
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
Рис. 7.1. Решение интегрального уравнения Фредгольма I рода при помощи обращения оператора для точных данных и приближенных данных
Из изложенного можно сделать следующие выводы:
1) Метод квадратур решения интегрального уравнения Фредгольма I рода явля-
ется крайне неустойчивым (т.е. нарушается 3-й пункт корректности по Адамару).
2) Классическое определение точного решения
φ как решения, при котором
φ − f =0 (7.5)
A
т.е. невязка между левой и правой частями уравнения равна нулю, вообще говоря,
для некорректных задач не подходит. Это связано с тем, что в случае, когда реше-
67

4000
2000
0
-2000
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
4
10
4
2
0
-2
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
Рис. 7.2. Решение интегрального уравнения Фредгольма I рода при использовании
МНК для точных данных и приближенных данных
ние не существует, отсутствует такое
неединственности решения существует множество
φ, для которого выполняется (7.5), а в случае
φ, для которых выполняется (7.5),
и наконец, в случае неустойчивости критерий (7.5) дает неустойчивое решение.
Общий вывод. По материалам данного раздела можно сделать следующий вывод: если в качестве решения брать так называемое нормальное псевдорешение (псевдорешение, наиболее гладкое среди возможного множества псевдорешений), то будут
выполнены первые два пункта корректности по Адамару (существование и единственность решения). Однако МНК и методо псевдообратной матрицы не решают
проблему неустойчивости решения, т.е. 3-й пункт корректности по Адамару для нормального псевдорешения, вообще говоря, не выполняется.
68

Глава 8
Метод регуляризации Тихонова
В данном разделе изложен один из наиболее эффективных методов решения
некорректных задач - метод регуляризации Тихонова. Метод регуляризации Тихонова является дальнейшим развитием метода наименьших квадратов (МНК) Гаусса, дающего псевдорешение, и метода псевдообратной матрицы (МПОМ) Мура-Пенроуза,
дающего нормальное решение.
Существо метода. Сначала рассмотрим метод регуляризации Тихонова применительно к операторному уравнению вида:
Aφ = f, f ∈ F, φ ∈ Y, (8.1)
где Y и F −гильбертовы пространства, A : Y −→ F −заданный линейный оператор,
действующий из Y в F , f ∈ F −заданный элемент (правая часть), φ ∈ Y − искомый
элемент (решение).
Пусть вместо точных f и A известны их приближения f
и Ahтакие, что
δ
f − f
A − A
где δ>0 и h>0−погрешности правой части и оператора (точнее, их верхние оценки). Таким образом, вместо (8.1) решается уравнение
A
φ = fδ,fδ∈ F, φ ∈ Y, (8.2)
h
Замечание. Если под операторным уравнением (8.1) подразумевать интегральное
уравнение, то погрешность δ правой части f обусловлена погрешностями измерений
f, а погрешность h оператора A−неточностью знания ядра K(x, y) и погрешностью
численного метода решения, например, метода квадратур.
Если же иметь в виду СЛАУ, то δ−это погрешность вектора правой части, а
h−это погрешность элементов матрицы A. Выше было приведено классическое (по
Адамару) определение корректности. Тихонов А. Н. сформулировал новое определение корректности, которое Лаврентьев М. М. назвал корректностью по Тихонову.
Для упрощения записи мы будем далее использовать запись (8.1), имея в виду,
что в действительности рассматривается уравнение (8.2).
Определение. Задача решения уравнения (8.1) называется условно корректной,
или корректной по Тихонову, если:
≤δ
δ
≤h
h
69

1) априори известно, что решение φ существует и принадлежит некоторому за-
данному множеству (множеству корректности) M ⊂ Y : φ ∈ M ,
2) решение единственно в классе функций, принадлежащих M , т. е. оператор A
обратим на множестве M,
3) существует непрерывная зависимость решения φ от правой части f , когда бес-
конечно малым вариациям f, не выводящим решение φ за пределы M, соответствуют
−1
бесконечно малые вариации решения φ, т.е. обратный оператор A
является непрерывным. Отличие условной корректности (по Тихонову) от классической (по Адамару) заключается во введении множества корректности, существенно сужающего
класс возможных решений. Наиболее характерный пример множества корректности
- компакт (его примеры: множество функций монотонных ограниченных снизу и
сверху, множество ограниченных выпуклых функций и т.д.). Однако в большинстве
прикладных задач класс возможных решений Y не является компактом (т.е. нельзя
наложить, исходя из физических соображений, жесткие ограничения на решение) и,
кроме того, изменения правой части f уравнения (8.1), обусловленные ее погрешностями, могут выводить f за пределы множества AY− образа множества Y при
отображении его с помощью оператора A. Такие задачи называются существенно
некорректными . А. Н. Тихонов разработал принципиально новый подход, дающий
устойчивые решения существенно некорректных задач. В его основе лежит понятие
регуляризирующего оператора или регуляризирующего алгоритма.
Используя схему построения регуляризующего алгоритма Тихонова А.Н., запишем сглаживающий функционал(функционал Тихонова) с праметром регуляризации
α>0:
α
[f,φ]=||Ahφ − fδ||2+ αΩn(φ), (8.3)
M
где определен тихоновский стабилизатор n-го порядка Ω
где p
b
n
Ω
(φ)=
n
k=0
a
(y)−весовые функции, которые считаются непрерывными и положительными,
k
pk(y)
d
k
φ(y)
dy
k
, имеющий следующий вид:
n
2
dy, (8.4)
а если нет специальных условий для их определения, то они полагаются единичными.
Функционалы, задаваемые выражением (8.4), характеризуют гладкость функции
φ(n) и носят общее название стабилизаторов n-го порядка. Порядок n стабилизатора
характеризует также степень регуляризации, которая может быть слабой (n =0)
или сильной (n =1). При значениях n>1 имеет место гладкая регуляризация
порядка (n − 1). На практике рекомендуют использовать стабилизатор первого n-го
рядка (n =1)с весовыми коэффициентами p
k
Y выбирать пространство Соболева W
. Одна из возможных эквивалентных норм,
p
= p1=1, а в качестве пространства
0
определяющая регуляризующий функционал, имеет вид
b
Ω(φ)=||φ||
a
|φ(y)|
p
+ |φk(y)|
p
=
k
W
p
p
dy.
При p =2- это классические пространства, которые используются в тихоновской
регуляризации, тогда
2
Ω(φ)=||φ||
,
70
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
