Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Обратные и некорректные задачи биофизики. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
1 Мб
Скачать
☆
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
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]