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

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

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