Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Обратные и некорректные задачи биофизики. Учебное пособие
.pdf
38 Mval eta Err_delta = eta (1);
39 Err_h = e t a ( 2) ;
40 UE = 1 +zeros (Nval ,1);
41 C1 = sq r t ( ht
42 Fmat = hs
43 cdelta = C_const
44 alpha_t =ht
45 alpha_b = sqrt ( ht
46 (alpha_t +Err_h
47 (C_const
48 return ;
49 end
50
51 function zaval = Mfun(alpha) global Kmat u v a l h s h t N val SINGULAR
52 ACOR ZSOLVE
53 Gval = zeros (Nval ,1);
54 AKmat = zeros(Nval,Nval);
55 Emat = zeros (Nval ,Nval);
56 Bamat = Emat ;
57 Cmat = Emat ;
58 for j=2:(Nval−1),
59 Emat ( j , j ) = 1 ;
60 Cmat ( j , j ) = 2 ;
61 Cmat ( j , j −1) = −1;
62 Cmat ( j , j +1) = −1;
63 end
64 Cmat(1 ,1) = 1;
65 Cmat( Nval , N val ) = 1 ;
66 Emat(1 ,1) = 1;
67 Emat( Nval , Nval ) = 1 ;
68 Cmat(1 ,2) = −1;
69 Cmat( Nval , Nval −1) = − 1;
70 Gval = ht
71 AKmat = h t
72 Bamat = hs
73 Tamat = zeros(Nval ,Nval);
74 Tamat(1,1) = sqrt(Bamat(1 ,1));
75 Tamat(1 ,2:Nval) = Bamat(1 ,2:Nval)/Tamat(1 ,1);
76 for i=2:Nval,
77 for j=1:Nval,
78 if i>j,
79 Tamat ( i , j ) = 0 ;
80 else
81 if i==j,
82 tmp = 0 ;
83 for k=1:(i −1) ,tmp = tmp + Tamat( k , i )
84 Tamat(i , i ) = sqrt (Bamat( i , i ) − tmp ) ;
85 end
86 if i<j,
87 tmp = 0 ;
88 for k=1:( i −1) ,tmp = tmp + Tamat (k , i )
89 Tamat(i , j ) = (Bamat( i , j ) − tmp )/ Tamat( i , i ) ;
90 end
91 end
92 end
93 end
*
*
(uval'*uval))/ Err_delta;
*
Kmat*UE ;
Err_delta ;
*
cdelta*((Fmat')*Fmat ) /( s qr t ( ht*((uval')*uval))− cdelta );
*
((Fmat')*Fmat ) )*(( sqrt (Err_h*Err_h + ...
*
Err_h)*...
*
C_const −1))+Err_h) /( C_const*C_const−1) + Err_h );
(Kmat')*uval ;
*
((Kmat')*Kmat ) ;
*
AKmat + alpha*(Emat + (1/(hs*hs))*Cmat ) ;
*
Tamat( k , i ) ; end
*
Tamat( k , j ) ; end
*
91

94 if SINGULAR ~ = 0 ,
95 Tamat = Tamat + ACOR
96 end
97 Yval = zeros(Nval ,1);
98 if ZSOLVE ~ = 0 ,
99 Yval = (Tamat')\ Gval ;
100 zaval = Tamat\Yval ;
101 else
102 opts.TRANSA = fa l s e ; opts.UHESS = f a l s e ; opts.RECT = f a ls e ;
103 opts.SYM = f als e ; opts.POSDEF = f a ls e ;
104 opts.LT = true ; opts.UT = false ;
105 Yval = linsolve ((Tamat' ),Gval,opts);
106 opts.LT = f a l s e ; opts.UT = true ;
107 zaval = linsolve (Tamat , Yval , opts);
108 end
109 end
110
111 function rhoval = Rfun(alpha)
112 global Kmat uval hs ht Nval Mval eta
113 zaval = zeros (Nval,1);
114 Fmat = zeros (Mval,1);
115 zaval = Mfun( alpha);
116 Fmat = hs
117 Err_delta = eta (1 );
118 Err_h = e t a ( 2) ;
119 sum = 0;
120 for j=1:(Nval − 1) ,
121 tmp = ( zaval( j+1) − zaval ( j))/ hs;
122 sum= sum + zaval( j)
123 end NormZ = sqrt (hs
124 Sval =Err_delta + Err_h
125 alpha = 0;
126 zaval0 = Mfun( alpha );
127 Fmat0 = hs
128 rhoval = ht
129 return ; end
130
131 function Ut = integral(t , alim , blim)
132 Mval = length(t );
133 Ut = zeros (Mval,1);
134 Ut = ((1 + ( t − 1).
135 return ;
136 end
137
138 function Kmat = kmat ( ak , t , s )
139 N = length(s );
140 M = length( t );
141 Kmat = zeros (M,N);
142 for i=1:M,
143 for j=1:N,
144 Kmat(i ,j) = ak(t(i ),s(j));
145 end
146 end
147 return ;
148 end
149
Kmat*zaval − uval ;
*
*
Kmat*zaval0 − uval ;
*
((Fmat'*Fmat) − (Fmat0'*Fmat0)) − Sval*Sval ;
*
Emat ;
*
zaval( j ) + tmp*tmp ;
*
(sum + zaval(Nval)*zaval(Nval)));
NormZ ;
*
exp( t )) . /( t.*t))' ;
*
92

150 function u1 = urandom( u , d e l t a0 )
151 Rnd = 2
152 u1 = u + delta0
153 return ;
154 end
155
156 function Kts = yadro ( t , s)
157 Kts = exp( t.
158 return ;
159 end
160
161 function Kts = yadro1 (Tval , Sval )
162 if Sval > Tval ,
163 Kts = 0;
164 else
165 Kts = 1;
166 end
167 return ;
168 end
169
170 function Zbar = zbar ( s)
171 Zbar = ( s ) ' ;
172 return ;
173 end
174 %======================================================================
175 % tool.m
176 %======================================================================
177 Out1='%1.3g > C_const= %1.5g > 1;\n' ;
178 Out2=' alpha_true\t = %1.5g;\nN\t\t\t = %d Iterat ;\nrho\t\t\t = %1.5g;\n' ;
179 Out3=' alpha_tilde\t = %1.5f\nalpha_bar\t = %1.5f \n' ;
180 [ za rho alpha cnt C1 a_t
181 a_b]=AlphaFinder ( alpha0 ,C_const , Err_alpha ,Imax,Auto ) ;
182 fprintf (1,Out3,a_t,a_b);
183 f p r i n t f ( 1 , Out1 , C1 , C_con ) ;
184 f p rin t f (1 ,Out2 , alpha , cnt , rho );
185 fprintf (1,'s\t\t\t Za\n' );
186 for j=1:Nval,
187 fprintf (1,'%f \t % f \n' ,Sval(j),za(j ));
188 end
189 fig = figure('NumberTitle' ,' on' , ...
190 ' Color' , 'w' , ...
191 'Tag' , ' HauptFig' , ...
192 'MenuBar' , ' none' , ...
193 ' ToolBar' ,' none' , ...
194 ' Units' , ' pixels' , ...
195 ' DockControls' , ' off' );
196 subplot (2 ,2 ,1);
197 hndl=plot (Sval , za ,' og' , Sval , Zbar ,'−b' );
198 axis ([ Aval 1.05
199 msg0 = s pr i nt f (' alpha=%1.4g' , alpha );
200 title (['Обобщеннаяневязка ( ' msg0 ' ) ' ]);
201 ylabel ('Z(s )' );
202 xlabel (' Variable s' );
203 legend('Za ( sПриближенное) − решение
204 ' ,' Zbar( sТочное ) − решение ' );
205 set (hndl (1) ,' LineWidth' ,1);
(randn(size(u)) − 0.5);
*
Rnd*norm( u ) / norm (Rnd) ;
*
s);
*
Bval Zlim (1) Zlim (2 ) ]);
*
93

206 set (hndl (2) ,' LineWidth' ,2);
207 drawnow ;
208 %======================================================================
209 % taskini.m
210 %======================================================================
211 Sval = zeros(Nval ,1);
212 Tval = z er os ( Mval , 1 ) ; векторстолбец
213 − (m x 1 )
214 Kmat = zeros (Mval, Nval);
215 Zbar = zeros(Nval ,1);
216 eta = [ Err_delta Err_h];
217 hs = ( Bval − Aval)/ Nval;
218 ht = ( Dval − Cval)/Mval;
219 Tval = ( Cval + ht / 2): ht :( Dval − ht/2);
220 Sval = (Aval + hs/2):hs :(Bval − hs /2);
221 Zbar = zbar ( Sval );
222 Kmat = kmat ( @yadro , T v al , S v al ) ;
223 Ubar = hs
224 Udelta = urandom(Ubar, Err_delta );
225 %======================================================================
226 % printout.m
227 %======================================================================
228 Out1='%1.3g > C_const= %1.5g > 1;\n' ;
229 Out2=' alpha_true\t = %1.5g;\nN\t\t\t = %d Iterat ;\nrho\t\t\t = %1.5g;\n' ;
230 %Вывод результатов
231 f p r i n t f ( 1 , Out1 , C1 , C_con ) ;
232 f p rin t f (1 ,Out2 , alpha , cnt , rho );
233 fprintf (1,'y\t\t\t phi\n' );
234 for j=1:Nval,
235 fprintf (1,'%f \t % f \n' ,Sval(j),za(j ));
236 end
237 fig = figure('NumberTitle' ,' on' , ...
238 ' Color' , 'w' , ...
239 'Tag' , ' HauptFig' , ...
240 'MenuBar' , ' none' , ...
241 ' ToolBar' ,' none' , ...
242 ' Units' , ' pixels' , ...
243 ' DockControls' , ' off' );
244 figure (1)
245 hndl=plot (Sval , za ,' og' , Sval , Zbar ,'−r' );
246 axis ([ Aval 1.05
247 msg0 = s pr i nt f (' alpha=%1.4g' , alpha );
248 nmsg4 = sprintf('Невязка rho %1.5g' ,rho);
249 nmsg5 = sprintf('Колвоитераций− %d' ,cnt);
250 nmsg6 = sprintf('%2.2e > C=%2.2e > 1' ,C1 , C_con) ;
251 title (['Обобщеннаяневязка ( ' msg0 ' ) ' ]);
252 ylabel ('\phi (y)' );
253 xlabel ('y' );
254 legend('\phi_a ( yПриближенное) − решение ' ,' \phi_{bar }(yТочное) − решение ' );
255 set (hndl (1) ,' LineWidth' ,2);
256 set (hndl (2) ,' LineWidth' ,2);
257 ypoz = Zlim(1) + datapoz (2)
258 xpoz = Aval + datapoz(1)
259 delty = (Zlim (2) − Zlim (1))
260 text(xpoz , ypoz , nmsg4, ' Color' , ' b' );
261 text(xpoz , ypoz − delty , nmsg5 , ' Color' , 'b' );
Kmat*Zbar ;
*
Bval Zlim (1) Zlim (2 ) ]);
*
(Zlim(2)− Zlim(1));
*
(1 .05*Bval − Aval );
*
0.042 ;
*
94

262 text(xpoz , ypoz − 2
263 drawnow ;
264 %======================================================================
delty , nmsg6, ' Color' , 'b' );
*
На рис. 11.1 приведен результат численного решения некорректной задачи методом
регуляризации для данного примера−зеленая линия и график точного решения−красная
кривая. Также показаны результаты двух расчетов для одного и того же набора
1
0.9
0.8
0.7
0.6
(y)
0.5
0.4
0.3
0.2
0.1
0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
a
y
Рис. 11.1. Численное решение некорректной задачи методом регуляризации
входных данных: второй столбец−расчет с регуляризацией по методу А.Н. Тихонова, третий столбец−расчет без регуляризации (α =0).
95

1
2 0.025000 0.143169 −204249.9683
3 0.075000 0.150322 361279 .8230
4 0.125000 0.164501 27078 .89147
5 0.175000 0.185536 −194345.5632
6 0.225000 0.213201 −19982 .29039
7 0.275000 0.247210 −50342 .35685
8 0.325000 0.287200 −31106 .99155
9 0.375000 0.332723 150375 .5826
10 0.425000 0.383225 17797 .24305
11 0.475000 0.438035 −49327 .43113
12 0.525000 0.496343 −10497 .63550
13 0.575000 0.557183 −9340 .555753
14 0.625000 0.619404 16797 .73673
15 0.675000 0.681651 −6342 .408224
16 0.725000 0.742331 14156 .60083
17 0.775000 0.799583 −12974 .84718
18 0.825000 0.851239 2071.558815
19 0.875000 0.894789 −8042 .471867
20 0.925000 0.927331 8631.696562
21 0.975000 0.945521 −1637 .449927
Отметим один важный вывод. Задача, некорректная для одной пары пространств,
может оказаться корректной для другой пары. В частности, корректности часто
можно достигнуть, сужая область принадлежности искомого элемента до замкнутого ограниченного множества или конечномерного, когда искомая функция параметризуется конечным набором параметров (в инженерной практике наиболее часто
используется аппроксимация неизвестной функции ее отрезком ряда Тейлора, Фурье, полиномом степени не выше заданной и т. д.). В иных ситуациях требуется
более глубокое проникновение в причины некорректности и разработка способов ее
преодоления.
Отметим, что при математической постановке обратной задачи требуется обратить внимание на выбор пространств F и Y . Так как теория некорректно поставленных задач развита для общего случая топологических пространств F и Y ,чаще
всего используют сепарабельные банаховы пространства.
Выбор функционального пространства F связан с тем, как задается мера
близости точных данных задачи (A, f ) и их приближенных реализаций (A
h,fδ
). Здесь
важен выбор нормы пространства F , т.к. в банаховых пространствах можно ввести
много разных эквивалентных норм. Отметим, что для эффективной реализации имеющихся регуляризующих алгоритмов норма пространства F была строго выпуклой.
С этой точки зрения можно использовать гильбертовы(или евклидовы) пространства
F , в частности F = L
[a, b], 1 ≤ p<∞. Обычно используется стандартная норма,
p
которая имеет следующий вид
⎡
b
⎣
||f||
=
L
p
|f(x)|pdx
a
В случае, если p =2, то пространство F = L
сильной выпуклости квадрата нормы.
96
⎤
1/p
⎦
.
[a, b] будет гильбертовым со свойством
p

Тогда величину вида ||f −fδ||
неквадратичную погрешность данных f
L
2
/||f||
можно трактовать как относительную сред-
L
2
при точных данных f.
δ
Выбор пространства решений Y определяется рядом факторов:
1. гладкостью решения, если это функция;
2. регуляризуемостью задачи;
3. требованием единственности искомого точного решения;
4. сходимостью приближенных решений к точному.
С точки зрения численной реализации алгоритмов наиболее удобен случай гиль-
бертова (евклидова) пространства Y .
97

БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Голосков Д. П. Уравнения математической физики. Решение задач в
системе Maple : учебник для вузов / Д. П. Голосков. – СПб. : Питер, 2004. – 539 с.
2. Васильев А. Б. Интегральные уравнения / А. Б. Васильев,
Н. А. Тихонов. – М. : Изд-во Москов. ун-та, 1989. – 156 с.
3. Сборник задач по уравнениям математической физики /
В. С
. Владимиров [и др.]. – М. : Изд-во «Наука», 1982. – 256 с.
4. Сборник задач по математике для втузов. Методы оптимизации.
Уравнения в частных производных. Интегральные уравнения : учеб. пособие /
Э. А. Вуколов [и др.]. – М. : Изд-во «Наука», 1980. – 304 с.
5. Колмогоров А. Н. Элементы теории функций и функционального
анализа / А. Н. Колмогоров, С. В
. Фомин. – М. : Изд-во «Наука», 1981. – 542 с.
6. Арсенин В. А. Математическая физика. Основные уравнения и
специальные функции / В. А. Арсенин. – М. : Изд-во «Наука», 1985. – 367 с.
7. Владимиров В. С. Уравнения математической физики /
В. С. Владимиров, В. В. Жаринов. – М. : Изд-во «Физматлит», 2003. – 400 с.
8. Владимиров В. С. Уравнения математической
физики /
В. С. Владимиров. – М. : Изд-во «Наука», 1976. – 527 с.
9. Интегральные уравнения / П. П. Забрейко [и др.]. – М. : Изд-во
«Наука», 1968.
10. Трикоми Ф. Интегральные уравнения / Ф. Трикоми. – М. : ИЛ, 1960. –
300 с.
11. Мышкис А. Д. Математика для втузов. Специальные курсы /
А. Д. Мышкис. – М. : Изд-во «Наука», 1971. – 632 с
.
12. Тихонов А. Н. Методы решения некорректных задач /
А. Н. Тихонов, В. Я. Арсенин. – М. : Изд-во «Наука», 1979.
98

Куликов Кирилл Геннадьевич
ОБРАТНЫЕ И НЕКОРРЕКТНЫЕ ЗАДАЧИ БИОФИЗИКИ
Учебное пособие
нический редактор Л. В. Ларионова
Тех
Оригинал-макет подготовлен автором
Дизайн обложки О. В. Васильевой
Свод. темплан 2020 г.
Санитарно-эпидемиологическое заключение
№ 78.01.07.953.П001342.01.07 от 24.01.2007 г.
Налоговая льгота – Общероссийский классификатор продукции
ОК 005-93, т. 2; 95 3005 – учебная литература
_____________
Подписано в печать 2
_____________
Отпечатано в Издательско-полиграф
____________________________________________
5.06.2021. Формат 60×84/16. Печать цифровая.
Усл. печ. л. 6,25. Тираж 50. Заказ 3169.
___________________________________________
ическом центре
Политехнического университета.
195251, Санкт-Петербург, Политехническая ул., 29.
Тел.: (812) 5
52-77-17; 550-40-14.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
