Некоторые аспекты реализации программного комплекса PRPHMM 1.0 для уточнения параметров эредитарных математических моделей переноса радона в накопительной камере

Обложка

Цитировать

Полный текст

Аннотация

Математические модели некоторых динамических процессов можно существенно уточнить, используя в них производные и интегралы нецелого порядка, учитывая эффекты, которые не описать с помощью обыкновенных производных. Так, например, с помощью дробных производных Герасимова-Капуто постоянного и переменного порядка можно учитывать эффект памяти в модели процесса, а порядок производной будет связан с интенсивностью процесса. В частности, авторами ранее разработана эредитарная α-модель объемной активности радона, где параметр α связан с проницаемостью среды. Однако возникает вопрос об определении оптимальных значений как α, так и других параметров модели. Для решения проблемы можно решать обратную задачу — распространенный тип задач во многих научных областях, где необходимо определить значения параметров модели на основе наблюдаемых данных, но невозможно провести прямые измерения этих параметров. Необходимость такого подхода часто возникает при работе с геологическими данными. В статье описывается программная реализация программного комплекса PRPHMM 1.0, способного восстанавливать оптимальные значения эредитарных математических моделей на основе производной Герасимова-Капуто. Адаптирован и реализован на языке MATLAB алгоритм безусловной оптимизации ньютоновского типа Левенберга-Марквардта. Реализованы подпрограммы для чтения, обработки и визуализации экспериментальных и модельных данных. Приводится тестовый пример, решающий на основе экспериментальных данных радонового мониторинга обратную задачу для эредитарной α-модели на параметры α и λ0-коэффициент воздухообмена. Показано, что PRPHMM 1.0 позволяет для эредитарных математических моделей на восстанавливать значения параметров, близкие к оптимальным.

Полный текст

Введение

В последние годы возрос интерес к исследованию так называемых дифференциальных уравнений дробного порядка [1, 2], в которых неизвестная функция содержится под знаком производной дробного порядка. Это обусловлено как развитием самой теории дробного интегрирования и дифференцирования, так и приложениями таких конструкций в различных областях науки [3, 4].

Рассматривается дробное уравнение вида:

0t α(t) x(φ)=F(x(t),t),x(0)= x 0 , MathType@MTEF@5@5@+= feaahGart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGGj0Jf9crFfpeea0xh9v8qiW7rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaeyOaIy7aa0 baaSqaaiaaicdacaWG0baabaGaeqySdeMaaGikaiaadshacaaIPaaa aOGaamiEaiaaiIcacqaHgpGAcaaIPaGaaGypaiaadAeacaaIOaGaam iEaiaaiIcacaWG0bGaaGykaiaaiYcacaWG0bGaaGykaiaaiYcacaaM f8UaaGzbVlaadIhacaaIOaGaaGimaiaaiMcacaaI9aGaamiEamaaBa aaleaacaaIWaaabeaakiaaiYcaaaa@55CC@  (1)

где, дробная производная типа Герасимова-Капуто переменного 0 < α(t) < 1 порядка имеет вид:

0t α(t) x(φ)= 1 Γ(1α(t)) 0 t dx(φ) dt 1 (tφ) α(t) dφ, MathType@MTEF@5@5@+= feaahGart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGGj0Jf9crFfpeea0xh9v8qiW7rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaeyOaIy7aa0 baaSqaaiaaicdacaWG0baabaGaeqySdeMaaGikaiaadshacaaIPaaa aOGaamiEaiaaiIcacqaHgpGAcaaIPaGaaGypamaalaaabaGaaGymaa qaaiabfo5ahjaaiIcacaaIXaGaeyOeI0IaeqySdeMaaGikaiaadsha caaIPaGaaGykaaaadaWdXaqabSqaaiaaicdaaeaacaWG0baaniabgU IiYdGcdaWcaaqaaiaadsgacaWG4bGaaGikaiabeA8aQjaaiMcaaeaa caWGKbGaamiDaaaadaWcaaqaaiaaigdaaeaacaaIOaGaamiDaiabgk HiTiabeA8aQjaaiMcadaahaaWcbeqaaiabeg7aHjaaiIcacaWG0bGa aGykaaaaaaGccaWGKbGaeqOXdOMaaGilaaaa@65BB@  (2)

где, Γ() MathType@MTEF@5@5@+= feaahGart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGGj0Jf9crFfpeea0xh9v8qiW7rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaeu4KdCKaaG ikaiabgwSixlaaiMcaaaa@3D1E@   MathType@MTEF@5@5@+= feaahGart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqefmuySLMyYL gaiuaajugGbabaaaaaaaaapeGaa83eGaaa@3A94@  известная гамма-функция Эйлера.

Уравнение (1) лежит в основе некоторых разработанных авторами математических моделей динамических процессов: солнечной активности [5], динамики смертности от COVID-19 [6] а также моделировании объемной активности радона в накопительной камере [7]. Это достигается за счёт введения эффекта памяти [8], с помощью (2), в модель того или иного процесса, где порядок производной будет связан с интенсивностью процесса. В тоже время, выбирая в модели (1) вид функции F(A(t), t) описывающие различные механизмы исследуемого динамического процесса, можно моделировать различные динамические режимы.

Модельные уравнения на основе (1) решаются с помощью численных методов. В работах [9, 10] подробно исследуется математический аппарат модельных уравнений типа (1).

Отметим, что в упомянутых исследованиях параметры моделей подбирались вручную по максимуму коэффициента детерминации и коэффициента корреляции Пирсона с экспериментальными данными объемной активности радона (ОАР), учитывая имеющееся понимание природы моделируемого процесса. Такой подход является трудоемким, что приводит к идеям применения способов автоматизации подбора оптимальных параметров за счет решения соответсвующей обратной задачи.

В настоящей статье мы будем рассматривать случай, когда α(t) в уравнении (1) является константой (эредитарная α-модель). В статье авторов [11] были приведены результаты применения программного комплекса PRPHMM 1.0 для восставновления значений проницаемости среды и коэффициента воздухообмена на пункте радонового мониторинга Карымшина. В настоящей статье дается описание программного комплекса PRPHMM 1.0, приводится листинг модулей и пример применения.

Эредитарная α-модель ОАР

Для решения проблемы поиска оптимальных параметров можно решать обратную задачу MathType@MTEF@5@5@+= feaahGart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqefmuySLMyYL gaiuaajugGbabaaaaaaaaapeGaa8hfGaaa@3A95@  распространенный тип задач во многих научных областях, где необходимо определить значения параметров модели на основе наблюдаемых данных [12], но невозможно провести прямые измерения этих параметров. Необходимость такого подхода часто возникает при работе с геологическими данными, в геофизике и сейсмологии [13] и др.

Далее, для иллюстрации кода и того что он реализует, рассмотрим конкретный пример а именно эредитарную α-модель ОАР в накопительной камере. Подробнее о процессе преноса радона можно узнать из работ [14, 15], а о α-модели [7, 11].

Анализ данных ОАР и сопутствующих параметров получаемых в ходе непрерывного мониторинга, является одним из методов поиска предвестников землетрясений. Это связано с тем, что на ОАР влияют изменения напряженно-деформированного состояния среды через которую подпочвенный газ выходит на поверхность [16], поэтому радон считается известным и хорошо себя зарекомендовавшим индикатором процессов протекающий в такой среде. Мониторинг 222Rn как метод поиска предвестников сейсмических событий, за последние годы прекрасно себя показал, особенно как краткосрочный предвестник (до 15 суток) [17].

Эредитарная α MathType@MTEF@5@5@+= feaahGart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGGj0Jf9crFfpeea0xh9v8qiW7rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaeqySdegaaa@39A6@  -модель ОАР представляется следующей задачей Коши:

0,t α A(φ)= λ 0 A(t)+ λ 0 ,A(0)= A 0 , MathType@MTEF@5@5@+= feaahGart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGGj0Jf9crFfpeea0xh9v8qiW7rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaeyOaIy7aa0 baaSqaaiaaicdacaaISaGaamiDaaqaaiabeg7aHbaakiaadgeacaaI OaGaeqOXdOMaaGykaiaai2dacqGHsislcqaH7oaBdaWgaaWcbaGaaG imaaqabaGccaWGbbGaaGikaiaadshacaaIPaGaey4kaSIaeq4UdW2a aSbaaSqaaiaaicdaaeqaaOGaaGilaiaaywW7caaMf8UaamyqaiaaiI cacaaIWaGaaGykaiaai2dacaWGbbWaaSbaaSqaaiaaicdaaeqaaOGa aGilaaaa@5680@  (3)

где, A(t) MathType@MTEF@5@5@+= feaahGart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGGj0Jf9crFfpeea0xh9v8qiW7rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaamyqaiaaiI cacaWG0bGaaGykaaaa@3B2B@   MathType@MTEF@5@5@+= feaahGart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqefmuySLMyYL gaiuaajugGbabaaaaaaaaapeGaa83eGaaa@3A94@  функция решения, зависимость ОАР от времени в камере; 0,t α A(φ) MathType@MTEF@5@5@+= feaahGart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGGj0Jf9crFfpeea0xh9v8qiW7rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaeyOaIy7aa0 baaSqaaiaaicdacaaISaGaamiDaaqaaiabeg7aHbaakiaadgeacaaI OaGaeqOXdOMaaGykaaaa@4194@   MathType@MTEF@5@5@+= feaahGart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqefmuySLMyYL gaiuaajugGbabaaaaaaaaapeGaa83eGaaa@3A94@  дробная производная Герасимова-Капуто [18, 19] постоянного порядка 0 < α < 1, частный случай (2); α MathType@MTEF@5@5@+= feaahGart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqefmuySLMyYL gaiuaajugGbabaaaaaaaaapeGaa83eGaaa@3A94@  интенсивность переноса радона, порядок дробной производной; λ0 MathType@MTEF@5@5@+= feaahGart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqefmuySLMyYL gaiuaajugGbabaaaaaaaaapeGaa83eGaaa@3A94@  коэффициент воздухообмена (КВО) в камере.

Задача (3) решается численно в равномерной сеточной области:

h=T/N, Ω ^ = ( t i =ih):0i<N , A ^ Ω ^ , A(t)= A i ,0< A i <1. MathType@MTEF@5@5@+= feaahGart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGGj0Jf9crFfpeea0xh9v8qiW7rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqbaeqabiqaaa qaaiaadIgacaaI9aGaamivaiaai+cacaWGobGaaGilaiaaywW7caaM f8+aaecaaeaacqqHPoWvaiaawkWaaiaai2dadaGadaqaaiaaiIcaca WG0bWaaSbaaSqaaiaadMgaaeqaaOGaaGypaiaadMgacaWGObGaaGyk aiaaiQdacaaIWaGaeyizImQaamyAaiaaiYdacaWGobaacaGL7bGaay zFaaGaaGilaiaaywW7caaMf8+aaecaaeaatuuDJXwAK1uy0HMmaeHb fv3ySLgzG0uy0HgiuD3BaGqbaiab=bi8bbGaayPadaGaeyicI48aae caaeaacqqHPoWvaiaawkWaaiaaiYcaaeaacaWGbbGaaGikaiaadsha caaIPaGaaGypaiaadgeadaWgaaWcbaGaamyAaaqabaGccaaISaGaaG zbVlaaywW7caaIWaGaaGipaiaadgeadaWgaaWcbaGaamyAaaqabaGc caaI8aGaaGymaiaai6caaaaaaa@7566@  (4)

а для решения (3) на сетке (4) использоваться безусловно устойчивая численная схема IFDS апробированная в ряде тестовых и прикладных задач [5, 10].

Методика решения обратной задачи для α MathType@MTEF@5@5@+= feaahGart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGGj0Jf9crFfpeea0xh9v8qiW7rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaeqySdegaaa@39A6@  -эредитарной модели

Пусть A i A ^ MathType@MTEF@5@5@+= feaahGart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGGj0Jf9crFfpeea0xh9v8qiW7rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaamyqamaaBa aaleaacaWGPbaabeaakiabgIGiopaaHaaabaWefv3ySLgznfgDOjda ryqr1ngBPrginfgDObcv39gaiuaacqWFacFqaiaawkWaaaaa@4810@   MathType@MTEF@5@5@+= feaahGart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqefmuySLMyYL gaiuaajugGbabaaaaaaaaapeGaa83eGaaa@3A94@  функция некоего известного класса сеточных функций, но её решение зависит от набором параметров X = X 0 ,..., X K1 MathType@MTEF@5@5@+= feaahGart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGGj0Jf9crFfpeea0xh9v8qiW7rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaWaa8raaeaaca WGybaacaGLxdcacaaI9aWaamWaaeaacaWGybWaaSbaaSqaaiaaicda aeqaaOGaaGilaiaai6cacaaIUaGaaGOlaiaaiYcacaWGybWaaSbaaS qaaiaadUeacqGHsislcaaIXaaabeaaaOGaay5waiaaw2faaaaa@463C@ , где K=2 MathType@MTEF@5@5@+= feaahGart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGGj0Jf9crFfpeea0xh9v8qiW7rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaam4saiaai2 dacaaIYaaaaa@3A5A@   MathType@MTEF@5@5@+= feaahGart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqefmuySLMyYL gaiuaajugGbabaaaaaaaaapeGaa83eGaaa@3A94@  число восстанавливаемых параметров, а X0 = α, X1 = λ0. Пусть значения дискретной функции решения A i A ^ MathType@MTEF@5@5@+= feaahGart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGGj0Jf9crFfpeea0xh9v8qiW7rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaamyqamaaBa aaleaacaWGPbaabeaakiabgIGiopaaHaaabaWefv3ySLgznfgDOjda ryqr1ngBPrginfgDObcv39gaiuaacqWFacFqaiaawkWaaaaa@4810@  неизвестны, но известна дополнительная информация (экспериментальные данные RVA) A i = θ i = θ MathType@MTEF@5@5@+= feaahGart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGGj0Jf9crFfpeea0xh9v8qiW7rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaamyqamaaBa aaleaacaWGPbaabeaakiaai2dacqaH4oqCdaWgaaWcbaGaamyAaaqa baGccaaI9aWaa8raaeaacqaH4oqCaiaawEniaaaa@41C2@  о решении разностной прямой задачи Коши для эредитарной α MathType@MTEF@5@5@+= feaahGart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGGj0Jf9crFfpeea0xh9v8qiW7rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaeqySdegaaa@39A6@  -модели RVA.

Тогда разностная обратная задача для (3) на сетке (4) MathType@MTEF@5@5@+= feaahGart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqefmuySLMyYL gaiuaajugGbabaaaaaaaaapeGaa83eGaaa@3A94@  это восстановление значений X = X 0 , X 1 MathType@MTEF@5@5@+= feaahGart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGGj0Jf9crFfpeea0xh9v8qiW7rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaWaa8raaeaaca WGybaacaGLxdcacaaI9aWaamWaaeaacaWGybWaaSbaaSqaaiaaicda aeqaaOGaaGilaiaadIfadaWgaaWcbaGaaGymaaqabaaakiaawUfaca GLDbaaaaa@41A1@  по известным Ai = θi экспериментальным данным:

A i =1 0,ih X 0 ^ A i X 1 , A i = θ i ,1i<N, 0,ih X 0 ^ A i = h X 0 Γ(2 X 0 ) j=0 i1 (j+1) 1 X 0 j 1 X 0 A ij A ij1 . MathType@MTEF@5@5@+= feaahGart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGGj0Jf9crFfpeea0xh9v8qiW7rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqbaeqabiqaaa qaaiaadgeadaWgaaWcbaGaamyAaaqabaGccaaI9aGaaGymaiabgkHi TmaalaaabaWaaecaaeaacqGHciITdaqhaaWcbaGaaGimaiaaiYcaca WGPbGaamiAaaqaaiaadIfadaWgaaqaaiaaicdaaeqaaaaaaOGaayPa daGaamyqamaaBaaaleaacaWGPbaabeaaaOqaaiaadIfadaWgaaWcba GaaGymaaqabaaaaOGaaGilaiaaywW7caaMf8UaamyqamaaBaaaleaa caWGPbaabeaakiaai2dacqaH4oqCdaWgaaWcbaGaamyAaaqabaGcca aISaGaaGzbVlaaywW7caaIXaGaeyizImQaamyAaiaaiYdacaWGobGa aGilaaqaamaaHaaabaGaeyOaIy7aa0baaSqaaiaaicdacaaISaGaam yAaiaadIgaaeaacaWGybWaaSbaaeaacaaIWaaabeaaaaaakiaawkWa aiaadgeadaWgaaWcbaGaamyAaaqabaGccaaI9aWaaSaaaeaacaWGOb WaaWbaaSqabeaacqGHsislcaWGybWaaSbaaeaacaaIWaaabeaaaaaa keaacqqHtoWrcaaIOaGaaGOmaiabgkHiTiaadIfadaWgaaWcbaGaaG imaaqabaGccaaIPaaaamaaqahabeWcbaGaamOAaiaai2dacaaIWaaa baGaamyAaiabgkHiTiaaigdaa0GaeyyeIuoakmaabmaabaGaaGikai aadQgacqGHRaWkcaaIXaGaaGykamaaCaaaleqabaGaaGymaiabgkHi TiaadIfadaWgaaqaaiaaicdaaeqaaaaakiabgkHiTiaadQgadaahaa WcbeqaaiaaigdacqGHsislcaWGybWaaSbaaeaacaaIWaaabeaaaaaa kiaawIcacaGLPaaadaqadaqaaiaadgeadaWgaaWcbaGaamyAaiabgk HiTiaadQgaaeqaaOGaeyOeI0IaamyqamaaBaaaleaacaWGPbGaeyOe I0IaamOAaiabgkHiTiaaigdaaeqaaaGccaGLOaGaayzkaaGaaGOlaa aaaaa@90DB@  (5)

Для решения (5) обратимся к теории безусловной оптимизации [20]. Для этого необходимо минимизировать функционал невязки:

η = θ ω( X ),min Ψ X = 1 2 i=0 N1 η i 2 = 1 2 i=0 N1 θ i ω i 2 , MathType@MTEF@5@5@+= feaahGart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGGj0Jf9crFfpeea0xh9v8qiW7rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqbaeqabeqaaa qaamaaFeaabaGaeq4TdGgacaGLxdcacaaI9aWaa8raaeaacqaH4oqC aiaawEniaiabgkHiTiabeM8a3jaaiIcadaWhbaqaaiaadIfaaiaawE niaiaaiMcacaaISaGaaGzbVlaaywW7ciGGTbGaaiyAaiaac6gadaqa daqaaiabfI6aznaabmaabaWaa8raaeaacaWGybaacaGLxdcaaiaawI cacaGLPaaaaiaawIcacaGLPaaacaaI9aWaaSaaaeaacaaIXaaabaGa aGOmaaaadaaeWbqabSqaaiaadMgacaaI9aGaaGimaaqaaiaad6eacq GHsislcaaIXaaaniabggHiLdGccqaH3oaAdaqhaaWcbaGaamyAaaqa aiaaikdaaaGccaaI9aWaaSaaaeaacaaIXaaabaGaaGOmaaaadaaeWb qabSqaaiaadMgacaaI9aGaaGimaaqaaiaad6eacqGHsislcaaIXaaa niabggHiLdGcdaqadaqaaiabeI7aXnaaBaaaleaacaWGPbaabeaaki abgkHiTiabeM8a3naaBaaaleaacaWGPbaabeaaaOGaayjkaiaawMca amaaCaaaleqabaGaaGOmaaaakiaaiYcaaaaaaa@74A6@  (6)

где, η MathType@MTEF@5@5@+= feaahGart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGGj0Jf9crFfpeea0xh9v8qiW7rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaWaa8raaeaacq aH3oaAaiaawEniaaaa@3B66@   MathType@MTEF@5@5@+= feaahGart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqefmuySLMyYL gaiuaajugGbabaaaaaaaaapeGaa83eGaaa@3A94@  вектор невязки размерности N > K, а вектор ω( X )= ω 0 ,..., ω N MathType@MTEF@5@5@+= feaahGart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGGj0Jf9crFfpeea0xh9v8qiW7rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaeqyYdCNaaG ikamaaFeaabaGaamiwaaGaay51GaGaaGykaiaai2dadaWadaqaaiab eM8a3naaBaaaleaacaaIWaaabeaakiaaiYcacaaIUaGaaGOlaiaai6 cacaaISaGaeqyYdC3aaSbaaSqaaiaad6eaaeqaaaGccaGLBbGaayzx aaaaaa@49A9@   MathType@MTEF@5@5@+= feaahGart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqefmuySLMyYL gaiuaajugGbabaaaaaaaaapeGaa83eGaaa@3A94@  вектор модельных данных, т. е. решение прямой задачи относительно некоторого приближения X MathType@MTEF@5@5@+= feaahGart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGGj0Jf9crFfpeea0xh9v8qiW7rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaWaa8raaeaaca WGybaacaGLxdcaaaa@3A97@ , получаемого в ходе решения обратной задачи.

Разностная обратная задача решается методом безусловной оптимизации ньютоновского типа [21], а именно итерационным методом Левенберга-Марквардта [22, 23], представимого в виде:

ΔX= H 1 × J T × η ,H= J T ×J+γE, MathType@MTEF@5@5@+= feaahGart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGGj0Jf9crFfpeea0xh9v8qiW7rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaeuiLdqKaam iwaiaai2dadaqadaqaaiabgkHiTiaadIeadaahaaWcbeqaaiabgkHi TiaaigdaaaaakiaawIcacaGLPaaacqGHxdaTdaqadaqaaiaadQeada ahaaWcbeqaaiaadsfaaaGccqGHxdaTdaWhbaqaaiabeE7aObGaay51 GaaacaGLOaGaayzkaaGaaGilaiaaywW7caaMf8Uaamisaiaai2daca WGkbWaaWbaaSqabeaacaWGubaaaOGaey41aqRaamOsaiabgUcaRiab eo7aNjaadweacaaISaaaaa@595C@  (7)

где ΔX MathType@MTEF@5@5@+= feaahGart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqefmuySLMyYL gaiuaajugGbabaaaaaaaaapeGaa83eGaaa@3A94@  оптимальное приращение X MathType@MTEF@5@5@+= feaahGart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGGj0Jf9crFfpeea0xh9v8qiW7rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaWaa8raaeaaca WGybaacaGLxdcaaaa@3A97@  для следующей итерации; E MathType@MTEF@5@5@+= feaahGart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqefmuySLMyYL gaiuaajugGbabaaaaaaaaapeGaa83eGaaa@3A94@  единичная матрица размерности K×K; J=J X MathType@MTEF@5@5@+= feaahGart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGGj0Jf9crFfpeea0xh9v8qiW7rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaamOsaiaai2 dacaWGkbWaaeWaaeaadaWhbaqaaiaadIfaaiaawEniaaGaayjkaiaa wMcaaaaa@3E85@   MathType@MTEF@5@5@+= feaahGart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqefmuySLMyYL gaiuaajugGbabaaaaaaaaapeGaa83eGaaa@3A94@  матрица Якоби размерности N×K с элементами вычисляемыми во формуле: J i,k = η i X k ,i=0..N1,k=0..K1 MathType@MTEF@5@5@+= feaahGart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGGj0Jf9crFfpeea0xh9v8qiW7rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaamOsamaaBa aaleaacaWGPbGaaGilaiaadUgaaeqaaOGaaGypamaalaaabaGaeyOa IyRaeq4TdG2aaSbaaSqaaiaadMgaaeqaaaGcbaGaeyOaIyRaamiwam aaBaaaleaacaWGRbaabeaaaaGccaaISaGaamyAaiaai2dacaaIWaGa aGOlaiaai6cacaWGobGaeyOeI0IaaGymaiaaiYcacaWGRbGaaGypai aaicdacaaIUaGaaGOlaiaadUeacqGHsislcaaIXaaaaa@5235@ ; производная η i X k MathType@MTEF@5@5@+= feaahGart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGGj0Jf9crFfpeea0xh9v8qiW7rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaWaaSaaaeaacq GHciITcqaH3oaAdaWgaaWcbaGaamyAaaqabaaakeaacqGHciITcaWG ybWaaSbaaSqaaiaadUgaaeqaaaaaaaa@3FAC@  аппроксимируется разностным оператором J i,k = η i δ η i δ X k MathType@MTEF@5@5@+= feaahGart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGGj0Jf9crFfpeea0xh9v8qiW7rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaamOsamaaBa aaleaacaWGPbGaaGilaiaadUgaaeqaaOGaaGypamaalaaabaGaeq4T dG2aa0baaSqaaiaadMgaaeaacqaH0oazaaGccqGHsislcqaH3oaAda WgaaWcbaGaamyAaaqabaaakeaacqaH0oazcaWGybWaaSbaaSqaaiaa dUgaaeqaaaaaaaa@4848@ , где δX MathType@MTEF@5@5@+= feaahGart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqefmuySLMyYL gaiuaajugGbabaaaaaaaaapeGaa83eGaaa@3A94@  заданное малое приращение X MathType@MTEF@5@5@+= feaahGart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGGj0Jf9crFfpeea0xh9v8qiW7rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaWaa8raaeaaca WGybaacaGLxdcaaaa@3A97@ ; γ MathType@MTEF@5@5@+= feaahGart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqefmuySLMyYL gaiuaajugGbabaaaaaaaaapeGaa83eGaaa@3A94@ параметр регуляризации метода. Если γ∈ℝ>0, а также матрица Гессе H положительно определена, то тогда ΔX является направлением спуска для оптимального шага метода; Стартовое значение: γ (0) =v max i diag J X (0) T ×J X (0) MathType@MTEF@5@5@+= feaahGart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGGj0Jf9crFfpeea0xh9v8qiW7rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaeq4SdC2aaW baaSqabeaacaaIOaGaaGimaiaaiMcaaaGccaaI9aGaamODaiabgwSi xpaavababeWcbaGaamyAaaqabOqaaiGac2gacaGGHbGaaiiEaaaada qadaqaaiaadsgacaWGPbGaamyyaiaadEgadaqadaqaaiaadQeadaqa daqaaiaadIfadaahaaWcbeqaaiaaiIcacaaIWaGaaGykaaaaaOGaay jkaiaawMcaamaaCaaaleqabaGaamivaaaakiabgEna0kaadQeadaqa daqaaiaadIfadaahaaWcbeqaaiaaiIcacaaIWaGaaGykaaaaaOGaay jkaiaawMcaaaGaayjkaiaawMcaaaGaayjkaiaawMcaaaaa@590D@ , где v MathType@MTEF@5@5@+= feaahGart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqefmuySLMyYL gaiuaajugGbabaaaaaaaaapeGaa83eGaaa@3A94@  заданная стартовая константа.

Решение обратной задачи (5) методом Левенберга-Марквардта (7), далее (IP-LB), сводится к тому, чтобы в ходе цикла, начиная с заданных постоянных X(0), δX, v а также c MathType@MTEF@5@5@+= feaahGart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqefmuySLMyYL gaiuaajugGbabaaaaaaaaapeGaa83eGaaa@3A94@  константы для пересчёта γ, многократно вычисляя решение прямой задачи при приближениях X MathType@MTEF@5@5@+= feaahGart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGGj0Jf9crFfpeea0xh9v8qiW7rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaWaa8raaeaaca WGybaacaGLxdcaaaa@3A97@ , получаемых в ходе решения обратной задачи, вычислить оптимальные значения X MathType@MTEF@5@5@+= feaahGart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGGj0Jf9crFfpeea0xh9v8qiW7rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaWaa8raaeaaca WGybaacaGLxdcaaaa@3A97@ . Подробнее с алгоритмом для реализующий оптимизацию вектора X MathType@MTEF@5@5@+= feaahGart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGGj0Jf9crFfpeea0xh9v8qiW7rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaWaa8raaeaaca WGybaacaGLxdcaaaa@3A97@  можно ознакомиться в работе [24].

Критерием того, что метод сходится к оптимальному решению является ε ≤ Σ, где Σ MathType@MTEF@5@5@+= feaahGart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqefmuySLMyYL gaiuaajugGbabaaaaaaaaapeGaa83eGaaa@3A94@  заданная точность решения IP-LB, ε= 1 N i=0 N1 η i Δ 2 MathType@MTEF@5@5@+= feaahGart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGGj0Jf9crFfpeea0xh9v8qiW7rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaeqyTduMaaG ypamaalaaabaGaaGymaaqaaiaad6eaaaWaaabmaeqaleaacaWGPbGa aGypaiaaicdaaeaacaWGobGaeyOeI0IaaGymaaqdcqGHris5aOWaam WaaeaacqaH3oaAdaqhaaWcbaGaamyAaaqaaiabfs5aebaaaOGaay5w aiaaw2faamaaCaaaleqabaGaaGOmaaaaaaa@4A1C@   MathType@MTEF@5@5@+= feaahGart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqefmuySLMyYL gaiuaajugGbabaaaaaaaaapeGaa83eGaaa@3A94@  среднеквадратичная ошибка между экспериментальными и модельными данными RVA.

Критерий того, что метод попал в "ловушку" локального минимума MathType@MTEF@5@5@+= feaahGart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqefmuySLMyYL gaiuaajugGbabaaaaaaaaapeGaa83eGaaa@3A94@  это отсутствие существенного изменения значений ΔX MathType@MTEF@5@5@+= feaahGart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGGj0Jf9crFfpeea0xh9v8qiW7rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaWaa8raaeaacq qHuoarcaWGybaacaGLxdcaaaa@3BFD@  в ходе итераций. Иначе говоря Δ ΔX 0 MathType@MTEF@5@5@+= feaahGart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGGj0Jf9crFfpeea0xh9v8qiW7rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaeuiLdq0aae WaaeaadaWhbaqaaiabfs5aejaadIfaaiaawEniaaGaayjkaiaawMca aiabgkziUkaaicdaaaa@4193@ , где Δ ΔX MathType@MTEF@5@5@+= feaahGart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGGj0Jf9crFfpeea0xh9v8qiW7rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaeuiLdq0aae WaaeaadaWhbaqaaiabfs5aejaadIfaaiaawEniaaGaayjkaiaawMca aaaa@3EEC@   MathType@MTEF@5@5@+= feaahGart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqefmuySLMyYL gaiuaajugGbabaaaaaaaaapeGaa83eGaaa@3A94@ оценка скорости «приращения приращений» определяемая:

Δ ΔX = lim n 1 K k=0 K1 Δ X k (n) Δ X k (n1) 0. MathType@MTEF@5@5@+= feaahGart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGGj0Jf9crFfpeea0xh9v8qiW7rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaeuiLdq0aae WaaeaadaWhbaqaaiabfs5aejaadIfaaiaawEniaaGaayjkaiaawMca aiaai2dadaGfqbqabSqaaiaad6gacqGHsgIRcqGHEisPaeqakeaaci GGSbGaaiyAaiaac2gaaaWaaeWaaeaadaWcaaqaaiaaigdaaeaacaWG lbaaamaaqahabeWcbaGaam4Aaiaai2dacaaIWaaabaGaam4saiabgk HiTiaaigdaa0GaeyyeIuoakmaaemaabaGaeuiLdqKaamiwamaaDaaa leaacaWGRbaabaGaaGikaiaad6gacaaIPaaaaOGaeyOeI0IaeuiLdq KaamiwamaaDaaaleaacaWGRbaabaGaaGikaiaad6gacqGHsislcaaI XaGaaGykaaaaaOGaay5bSlaawIa7aaGaayjkaiaawMcaaiabgkziUk aaicdacaaIUaaaaa@664C@

Программная реализация алгоритма решения обратной задачи

Далее в (лист. 1 MathType@MTEF@5@5@+= feaahGart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqefmuySLMyYL gaiuaajugGbabaaaaaaaaapeGaa83eGaaa@3A94@ 25) представлен код реализующий описанный итерационный метод Левенберга-Марквардта, для решения обратной задачи в рамках программного комплекса PRPHMM 1.0 (рис. 1) на языке MATLAB [25]. Решение основного матричного уравнения (7) представлено в коде (лист. 14 MathType@MTEF@5@5@+= feaahGart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaqefmuySLMyYL gaiuaajugGbabaaaaaaaaapeGaa83eGaaa@3A94@ 15).

 

Рис. 1. Файловая структура программного комплекса PRPHMM 1.0, в частности ветвь содержащая подпрограммы для решения обратной задачи

[Figure 1. File structure of the PRPHMM 1.0 software package, in particular the branch containing subroutines for solving the inverse problem ]

 

Листинг 1. Calc_Coeff_and_Add_param_CUSTOM.m

1 % пере-вычисление значений коэф. на основе описанных пользов. формул

2 function [ model ] = ...

3 Calc_Coeff_and_Add_param_CUSTOM( model, IM )

4 if( isfield( model( IM ), ’derivative’ ) == 1 )

5 if( isfield( model( IM ).derivative,’const_of_process’) == 0 )

6 disp( [’ параметр [model(’ num2str(IM) ...

7 ’).derivative.const_of_process] НЕ определён ’ ...

8 ’ -->> поэтому, будет создано = 1 ’] );

9 model( IM ).derivative.const_of_process = 1;

10 end

11 end

12 if( isfield( model( IM ), ’parameter’ ) == 1 )

13 names_fields = fieldnames( model( IM ).parameter );

14 num_fields_coeff = length( names_fields );

15 for sub_ind = 1 : num_fields_coeff

16 name_curr_field = char(names_fields(sub_ind));

17 formula = ’ ’;

18 recive_formula = sprintf(...

19 ’formula = model(%d).parameter.%s.define;’,...

20 IM, string(name_curr_field) );

21 eval( recive_formula );

22 model(IM).parameter.(name_curr_field).define_start_type=class(formula);

23 replace_define_field = sprintf(...

24 ’model(%d).parameter.%s.define = ’’%s’’;’,...

25 IM, string(name_curr_field), string(formula) );

26 eval( replace_define_field );

27 t = model( IM ).t;

28 h = model( IM ).h;

29 N = model( IM ).N;

30 T = model( IM ).T;

31 ui = model( IM ).ui;

32 if (isa(formula, ’char’) == 1)

33 array_values = eval(formula);

34 else

35 array_values(1: N + 1) = formula;

36 end

37 eval( sprintf( ...

38 ’model(%d).parameter.%s.values = array_values;’,...

39 IM, string( name_curr_field )) );

40 end

41 end

42 end

 

Листинг 2. set__parameter_equation.m

1 % пере-расчет параметров модели для решения обратной задачи

2 function [ model_UPDATE ] = set__parameter_equation( model, IM, X_n,X_n_m1)

3 model_UPDATE = model;

4 model_UPDATE( IM ).parameter.alpha.define = X_n( 1 );

5 model_UPDATE( IM ).lambda = X_n( 2 );

6 [ model_UPDATE ] = Calc_Coeff_and_Add_param_CUSTOM( model_UPDATE, IM );

7 disp( [ ’| X_0 = ’ num2str( X_n_m1(1) ) ’ -> | ’ num2str(X_n(1))]);

8 disp( [ ’| X_1 = ’ num2str( X_n_m1(2) ) ’ -> | ’ num2str(X_n(2))]);

9 end

 

Листинг 3. Vector__bias_value.m

1 % вычисление невязки--значения

2 function [ bias ] = Vector__bias_value( X, divisor )

3 bias = 0.0;

4 X_size = size(X,1);

5 for i = 1 : X_size

6 bias = bias + X( i )^2;

7 end

8 bias = bias / divisor;

9 end

 

Листинг 4. get__appoximation_X_n_delta.m

1 % присвоение заданого малого приращения

2 function [ X_n_delta ] = get__appoximation_X_n_delta( X_n, delta_X )

3 X_n_delta = X_n + delta_X;

4 end

 

Листинг 5. get__appoximation_X_n__Delta.m

1 % присвоение ОПТИМАЛЬНОГО (вычисленного) приращения

2 function [ X_n__Delta ] = get__appoximation_X_n__Delta( X_n, Delta__X )

3 X_n__Delta = X_n + Delta__X;

4 end

 

Листинг 6. get__delta_X.m

1 % СТАРОТОВОЕ - ПО умолчанию, приращение для параметров функции

2 function [ delta_X ] = get__delta_X( model, IM )

3 delta_X( 1 ) = model( IM ).type_task.par_rest.X_0_inc_start;

4 delta_X( 2 ) = model( IM ).type_task.par_rest.X_1_inc_start;

5 end

 

Листинг 7. get__Delta__X.m

1 % получение ОПТИМАЛЬНОГО (вычисленного) приращения

2 function [ Delta__X ] = get__Delta__X( result_M_eq )

3 n_d = size( result_M_eq, 1 );

4 for i = 1 : n_d

5 Delta__X( i ) = result_M_eq( (n_d + 1) - i );

6 end

7 end

 

Листинг 8. Get_Experemental_Data.m

1 % получение вектора эксперементальных данных

2 function [expr_data] = Get_Experemental_Data( model, IM, data_set )

3 ind_ED = model( IM ).type_task.INDEX_exper_data;

4 expr_data = data_set( ind_ED ).DATA_.VALUE;

5 end

 

Листинг 9. get__X_0.m

1 % стартовая итерация, для 1-го решения прямой задачи

2 function [ X_0 ] = get__X_0( model, IM )

3 X_0( 1 ) = model( IM ).type_task.par_rest.X_0_start;

4 X_0( 2 ) = model( IM ).type_task.par_rest.X_1_start;

5 end

 

Листинг 10. get__X_default.m

1 % получить и запомнить значения X_0 (ПО умолчанию)

2 function [ X_default ] = get__X_default( model, IM )

3 X_default( 1 ) = model( IM ).parameter.alpha.values( 1 );

4 X_default( 2 ) = model( IM ).lambda;

5 end

 

Листинг 11. Matrix_Jacobi.m

1 % вычисление матрицы Якоби

2 function [ J ] = Matrix_Jacobi( X_n_p1, X_n, delta_X, type_finite_diff )

3 size__X_n_p1 = size( X_n_p1 , 1 );

4 size__X_n = size( X_n , 1 );

5 size__delta_X = size( delta_X, 2 );

6 if( size(X_n_p1,1) ~= size(X_n,1) )

7 locat = sprintf( ’Error ! dimensions wrong, %d != %d’, ...

8 size__X_n_p1, size__X_n );

9 error( char(locat) );

10 end

11 if( type_finite_diff == "upward f-d" )

12 for i = 1 : size__X_n_p1

13 for j = 1 : size__delta_X

14 J(i,j) = ( X_n_p1(i) - X_n(i) ) / delta_X(j);

15 end

16 end

17 end

18 end

 

Листинг 12. Matrix_Jacobi_custom.m

1 % вычисление матрицы Якоби

2 function [J_out] = Matrix_Jacobi_custom( J, X, delta_X,type_finite_diff,...

3 type_calc_Jacobi )

4 J_out = J;

5 X_size = size(X,2);

6 if( type_finite_diff == "upward f-d" )

7 if( type_calc_Jacobi == "classicaly" )

8 for i = 1 : X_size

9 for j = 1 : X_size

10 J_out(i,j) = ( ( X(i) + delta_X(j) ) - X(i) ) / delta_X(j);

11 end

12 end

13 else

14 error( [’НЕИЗВЕСТНЫЙ : [type_calc_Jacobi]’ ] );

15 end

16 else

17 error( [’НЕИЗВЕСТНЫЙ : [type_finite_diff]’ ] );

18 end

19 end

 

Листинг 13. calc__J_i_j.m

1 % вычисление основной матрицы Якоби

2 function [ J_i_j ] = calc__J_i_j( eta_n_delta, eta_n, delta_X, n )

3 locat_nd = sprintf( ’eta^( X^(%d) + delta X )’, n );

4 locat = sprintf( ’eta^( X^(%d) )’, n );

5 [J_i_j] = Matrix_Jacobi( eta_n_delta, eta_n, delta_X, ’upward f-d’ );

6 display_control_sum( locat_nd, eta_n_delta );

7 display_control_sum( locat, eta_n );

8 display_control_sum( ’J_i_j ’, J_i_j );

9 end

 

Листинг 14. calc__Gesse_Matrix.m

1 % вычисоение матрицы Гессе - ключевой для метода реш. обратной задачи

2 function [ Gesse_Matrix ] = calc__Gesse_Matrix( J_i_j, gamma_reg )

3 size_J_i_j = size(J_i_j,2);

4 [ gamma_E ] = Unitary_Matrix( size_J_i_j, size_J_i_j );

5 gamma_PART = gamma_E * gamma_reg;

6 Gesse_Matrix = (J_i_j’ * J_i_j) + gamma_PART;

7 end

 

Листинг 15. calc__Matrix_equation.m

1 % вычисление решения основного матричного уравнения

2 function [ result_M_eq ] = calc__Matrix_equation(n, J_i_j,gamma_reg, Theta)

3 [ Gesse_Matrix ] = calc__Gesse_Matrix( J_i_j, gamma_reg );

4 Gesse_Matrix_Inverse = inv( Gesse_Matrix );

5 J_i_j_T_mul_Theta = - 1 * J_i_j’ * Theta;

6 result_M_eq = Gesse_Matrix_Inverse * J_i_j_T_mul_Theta;

7 end

 

Листинг 16. Solve_Inverse_Problem.m

1 % решение обратной задачи

2 function [ model_OUT ] = Solve_Inverse_Problem( model, IM, expr_data )

3 model_OUT = model;

4 tic;

5 switch( model( IM ).type_task.method )

6 case( "Levenberg-Marquardt" )

7 [ model_OUT ] = IP_Levenberg_Marquardt( model, IM, expr_data );

8 otherwise

9 error( [’НЕИЗВЕСТНЫЙ МЕТОД : [model(’ num2str( IM ) ...

10 ’).only_IP.method] -- решения Обратной задачи’ ] );

11 end

12 model_OUT( IM ).time_calc = toc;

13 model_OUT( IM ).RES_.var.x_raw = model_OUT( IM ).RES_.var.x_raw’;

14 model_OUT(IM).RES_.diff.x_dot_raw = model_OUT(IM).RES_.diff.x_dot_raw’;

15 model_OUT( IM ).RES_.var.x = model_OUT( IM ).RES_.var.x’;

16 model_OUT( IM ).RES_.diff.x_dot = model_OUT( IM ).RES_.diff.x_dot’;

17 end

 

Листинг 17. RP_LM_seq___step_1.m

1 function [ gamma_reg ] = RP_LM_seq___step_1( k, n_d, n,count,v,X_0,delta_X)

2 display__step( 1, n, count );

3 J_X_0 = zeros( k, n_d );

4 [ J_X_0 ]=Matrix_Jacobi_custom(J_X_0,X_0,delta_X,"upward f-d","classicaly");

5 J_X_0_T = J_X_0’;

6 B_0 = J_X_0_T * J_X_0;

7 md_B_0( 1 : size(B_0,2) ) = 0;

8 for i = 1 : size(B_0,2)

9 md_B_0( i ) = B_0( i,i );

10 end

11 max_md_B_0 = max( md_B_0 );

12 gamma_reg = v * max_md_B_0;

13 end

 

Листинг 18. RP_LM_seq___step_2.m

1 function [ s_0, eta_0 ] = RP_LM_seq___step_2( model, IM, n, count, X_0, ...

2 X_default, expr_data, s_0_in)

3 model_UPDATE = model;

4 display__step( 2, n, count );

5 [ model_UPDATE ] = ...

6 set__parameter_equation( model, IM, X_0, X_default );

7 [ model_UPDATE ] = Solve_Direct_Problem( model_UPDATE, IM );

8 local_res = model_UPDATE( IM ).RES_.var.x;

9 [ eta_0 ] = expr_data - local_res;

10 display_control_sum( ’eta_0’, eta_0 );

11 s_0_previous = s_0_in;

12 [ s_0 ] = Vector__bias_value( eta_0, 2 );

13 display__s_bias( n, s_0, s_0_previous, 0 );

14 end

 

Листинг 19. RP_LM_seq___step_3.m

1 function [ J_i_j, eta_n_delta ] = RP_LM_seq___step_3( model, IM,n,count,...

2 X_n, delta_X, expr_data, eta_n )

3 model_UPDATE = model;

4 display__step( 3, n, count );

5 [ X_n_delta ] = get__appoximation_X_n_delta( X_n, delta_X );

6 [ model_UPDATE ] = set__parameter_equation( model, IM, X_n_delta, X_n);

7 [ model_UPDATE ] = Solve_Direct_Problem( model_UPDATE, IM );

8 local_res = model_UPDATE( IM ).RES_.var.x;

9 [ eta_n_delta ] = expr_data - local_res;

10 [ J_i_j ] = calc__J_i_j( eta_n_delta, eta_n, delta_X, n );

11 end

 

Листинг 20. RP_LM_seq___step_4.m

1 function [ s_1, X_n__Delta, model_UPDATE ] = ...

2 RP_LM_seq___step_4( model, IM, n, count, J_i_j, ...

3 gamma_reg, Theta, X_n, expr_data, s_1_in )

4 model_UPDATE = model;

5 display__step( 4, n, count );

6 [ result_M_eq ] = calc__Matrix_equation( n, J_i_j, gamma_reg, Theta );

7 [ Delta__X ] = get__Delta__X( result_M_eq );

8 [ X_n__Delta ] = get__appoximation_X_n__Delta( X_n, Delta__X );

9 [ model_UPDATE ] = set__parameter_equation( model, IM, X_n__Delta,X_n);

10 [ model_UPDATE ] = Solve_Direct_Problem( model_UPDATE, IM );

11 local_res = model_UPDATE( IM ).RES_.var.x;

12 [ eta_n__Delta ] = expr_data - local_res;

13 display_control_sum( ’eta_n__Delta ’, eta_n__Delta );

14 s_1_previous = s_1_in;

15 [ s_1 ] = Vector__bias_value( eta_n__Delta, 2 );

16 display__s_bias( n, s_1, s_1_previous, 1 );

17 end

 

Листинг 21. RP_LM_seq___step_5__exit.m

1 function [ is_exit, X_n__SUMM, count_summ ] = ...

2 RP_LM_seq___step_5__exit( model, IM, n, count, ...

3 n_d, model_OUT, expr_data, ...

4 X_n__SUMM, X_n,count_summ, ...

5 count_summ_max )

6 display__step( 5, n, count );

7 is_exit = 0;

8 SIGMA = model( IM ).type_task.par_.SIGMA;

9 local_res = model_OUT( IM ).RES_.var.x;

10 if( try__exit__by_MSE( expr_data, SIGMA, n, local_res ) == 1 )

11 is_exit = 1;

12 return;

13 end

14 if( count_summ < count_summ_max )

15 X_n__SUMM = X_n__SUMM + X_n;

16 count_summ = count_summ + 1;

17 end

18 if( count_summ == count_summ_max )

19 if( try__freeze_in_local_optimum( X_n__SUMM, X_n, SIGMA, n,...

20 count_summ_max ) == 1 )

21 is_exit = 1;

22 return;

23 end

24 X_n__SUMM( 1 : n_d ) = 0;

25 count_summ = 0;

26 end

27 end

 

Листинг 22. RP_LM_seq___step_6__continue.m

1 function [ n, X_n, s_0, s_1, X_n__Delta, gamma_reg, model_OUT ] =...

2 RP_LM_seq___step_6__continue( model, IM, c, n, count, ...

3 s_0, s_1, gamma_reg, ...

4 model_OUT_last, expr_data, ...

5 X_n__Delta, delta_X )

6 model_OUT = model_OUT_last;

7 previous_gamma = -1;

8 display__step( 6, n, count );

9 if( s_0 > s_1 )

10 display__exit( n, ’s_0’, ’>’, ’s_1’, s_0, s_1,...

11 ’ n++, Пересчёт шагов 3 4 ’ );

12 s_0 = s_1;

13 X_n = X_n__Delta;

14 previous_gamma = gamma_reg;

15 gamma_reg = gamma_reg / c;

16 n = n + 1;

17 display__gamma_ext( n, ’gamma_reg’, ’/’, ’gamma_reg’, ’c’,...

18 gamma_reg, previous_gamma, c );

19 if( n >= 1 )

20 local_res = model_OUT_last( IM ).RES_.var.x;

21 eta_n = expr_data - local_res;

22 end

23 [ J_i_j, eta_n_delta ] = ...

24 RP_LM_seq___step_3( model, IM, n, count, ...

25 X_n, delta_X, expr_data, eta_n );

26 [ s_1, X_n__Delta, model_OUT ] = ...

27 RP_LM_seq___step_4( model, IM, n, count, J_i_j, ...

28 gamma_reg,eta_n_delta, X_n, ...

29 expr_data, s_1 );

30 else

31 previous_gamma = gamma_reg;

32 gamma_reg = gamma_reg * c;

33 display__gamma_ext( n, ’gamma_reg’, ’*’, ’gamma_reg’, ’c’,...

34 gamma_reg, previous_gamma, c );

35 display__exit( n, ’s_0’, ’<=’, ’s_1’, s_0, s_1,...

36 ’ Пересчёт 4 ’ );

37 [ s_1, X_n__Delta, model_OUT ] = ...

38 RP_LM_seq___step_4( model, IM, n, count, J_i_j, ...

39 gamma_reg,eta_n_delta, ...

40 X_n, expr_data, s_1 );

41 end

42 end

 

Листинг 23. IP_Levenberg_Marquardt.m

1 function [ model_OUT ] = IP_Levenberg_Marquardt( model, IM, expr_data )

2 model_OUT = model;

3 N = model( IM ).N;

4 n = 0;

5 count = 0;

6 COUNT__TIME_OUT_RP = model( IM ).type_task.par_.TIME_OUT;

7 k = model( IM ).type_task.par_rest.k;

8 n_d = k;

9 c = model( IM ).type_task.par_.c;

10 v = model( IM ).type_task.par_.v;

11 gamma_reg = 0;

12 s_0 = 0.0; s_1 = 0.0;

13 s_0_previous = 0.0; s_1_previous = 0.0;

14 % ======= обявление матриц и векторов необходимых для алгоритма =======

15 X_default = get__X_default( model, IM );

16 X_0( 1 : k ) = 0;

17 X_n( 1 : k ) = 0;

18 delta_X( 1 : n_d ) = 0;

19 J_i_j = zeros( N, n_d );

20 X_n__SUMM( 1 : n_d ) = 0;

21 % =================== СТАРТ решения обратной задачи ===================

22 [ X_0 ] = get__X_0( model, IM );

23 [ delta_X ] = get__delta_X( model, IM );

24 [ gamma_reg ] = RP_LM_seq___step_1( k, n_d, n, count, v, X_0, delta_X);

25 disp( [’gamma_reg = ’ num2str(gamma_reg)]);

26 [ s_0, eta_0 ] = RP_LM_seq___step_2( model, IM, n, count, X_0, ...

27 X_default, expr_data, s_0 );

28 if( n == 0 )

29 X_n = X_0;

30 eta_n = eta_0;

31 end

32 [ J_i_j, eta_n_delta ] = RP_LM_seq___step_3( model, IM, n,count, X_n,...

33 delta_X, expr_data, eta_n );

34 [ s_1, X_n__Delta, model_OUT ] =

35 RP_LM_seq___step_4( model, IM, n, count, J_i_j, gamma_reg, ...

36 eta_n_delta, X_n,expr_data, s_1 );

37 % ========================= ГЛАВНЫЙ ЦИКЛ ==============================

38 count_summ = 0;

39 count_summ_max = 5;

40 while( count < COUNT__TIME_OUT_RP )

41 [ is_exit, X_n__SUMM, count_summ ] = ...

42 RP_LM_seq___step_5__exit( model, IM, n, count, n_d, model_OUT,...

43 expr_data, X_n__SUMM, X_n, count_summ, count_summ_max );

44 if( is_exit == 1 )

45 break;

46 end

47 [ n, X_n, s_0, s_1, X_n__Delta, gamma_reg, model_OUT ] = ...

48 RP_LM_seq___step_6__continue( model, IM, c, n, count, s_0, s_1, ...

49 gamma_reg, model_OUT, expr_data, X_n__Delta, delta_X );

50 count = count + 1;

51 end

52 end

 

Листинг 24. try__exit__by_MSE.m

1 % проверка : выход по достижению заданого среднего квадратического ?

2 function [bool] = try__exit__by_MSE( expr_data,SIGMA, n,result__X_n__Delta)

3 bool = 0;

4 MSE = - 1.0;

5 M = size( expr_data, 1 );

6 eta_mse = expr_data - result__X_n__Delta;

7 MSE = Vector__bias_value( eta_mse, M );

8 if( MSE <= SIGMA )

9 bool = 1;

10 display__exit( n, ’MSE’, ’<=’, ’SIGMA’, MSE, SIGMA, ’ EXIT ’ );

11 else

12 display__exit( n,’MSE’,’>’,’SIGMA’,MSE,SIGMA,’ ВЫЧИСЛЯЕМ ДАЛЬШЕ ’);

13 end

14 end

 

Листинг 25. try__freeze_in_local_optimum.m

1 % проверка : застревания решения возле некоторого состояния

2 function [ bool ] = try__freeze_in_local_optimum( X_n__SUMM, X_n__last, ...

3 SIGMA,n, count_summ_max )

4 bool = 0;

5 X_n_size = size(X_n__SUMM,2); SIGMA_pow_2 = SIGMA^2;

6 X_n__SUMM_mean( 1 : X_n_size ) = 0;

7 X_n__SUMM_mean = X_n__SUMM * ( 1 / count_summ_max );

8 X_n__SUMM_mean_bias( 1 : X_n_size ) = 0;

9 X_n__SUMM_mean_bias = X_n__SUMM_mean - X_n__last;

10 disp( [ ’ try__freeze_in_local_optimum : X_n__SUMM_mean_bias = ’...

11 num2str(X_n__SUMM_mean_bias) ] );

12 X_n_MSE = Vector__bias_value( X_n__SUMM_mean_bias, X_n_size );

13 disp( [ ’ try__freeze_in_local_optimum : MSE ’ ...

14 ’( X_n__SUMM_mean, X_n__last ) = ’ num2str(X_n_MSE) ] );

15 if( X_n_MSE <= SIGMA_pow_2 )

16 bool = 1;

17 display__exit( n, ’MSE( X_n )’, ’<=’, ’SIGMA ^2’, ...

18 X_n_MSE, SIGMA_pow_2, ’ ВЫХОД ( Застыл !!! ) ’);

19 else

20 display__exit( n, ’MSE( X_n )’, ’>’, ...

21 ’SIGMA ^2 (проверка застревания в локальном оптимуме)’, ...

22 X_n_MSE, SIGMA_pow_2, ’ ПЕРЕПРОВЕРКА в следующем ОКНЕ ’ );

23 end

24 end

 

Тестовый пример

Листинг 26. Файл управляющих параметров – mod_1

1 RESET;

2 COLOR;

3 DEF_COUNTERS;

4 TVHN;

5 % -----------------< Определение ... МОДЕЛЕЙ >-----------------------

6 model = [];

7 % -------------------------------------------------------------------------

8 % classic KRMR-2_(24_aug-27_aug)_(h_1_6)

9 IND = IND + 1;

10 model(IND).name = "Классическая модель RVA";

11 model(IND).N = 10000;

12 model(IND).h = 1/6;

13 model(IND).start_point = 0.9;

14 model(IND).A_max = 1;

15 model(IND).lambda = 0.06;

16 model(IND).parameter.a.define = 0;

17 model(IND).parameter.b.define = - model(IND).lambda;

18 model(IND).parameter.c.define = model(IND).A_max * model(IND).lambda;

19 model(IND).derivative.type = ’VOGC’;

20 model(IND).parameter.alpha.define = 0.9999;

21 % -- подстройка парам. [model().] под данные

22 model(IND).impact_data.INDEX_data_set = 1;

23 model(IND).impact_data.re_define_N = 1;

24 model(IND).impact_data.re_define_start_point = 1;

25 % -- численный метод решения

26 model(IND).num_method.result_last_cutt = 1;

27 model(IND).num_method.type = ’IFDS (MNM)’;

28 model(IND).num_method.IFDS_accuracy = 1e-3;

29 model(IND).num_method.IFDS_start_iter = ’EFDS u(N)’;

30 % -- тип решения Direct problem

31 model(IND).type_task.type = ’DIRECT problem’;

32 % -- отрисовка

33 model(IND).display.is_plot_proc = 1;

34 model(IND).display.parameter.style = ’--’;

35 model(IND).display.parameter.color = COLOR_.Blue;

36 model(IND).display.result.style = ’-’;

37 model(IND).display.result.color = COLOR_.Blue;

38 % -------------------------------------------------------------------------

39 % KRMR-2_(24_aug-27_aug)_(h_1_6)

40 IND = IND + 1;

41 model(IND).name = "Эредитарная \alpha-модель RVA";

42 model(IND).N = 10000;

43 model(IND).h = 1/6;

44 model(IND).start_point = 0.9;

45 model(IND).A_max = 1;

46 model(IND).lambda = 0.055;

47 model(IND).parameter.a.define = 0;

48 model(IND).parameter.b.define = - model(IND).lambda;

49 model(IND).parameter.c.define = model(IND).A_max * model(IND).lambda;

50 model(IND).derivative.type = ’VOGC’;

51 model(IND).parameter.alpha.define = 0.818;

52 % -- подстройка парам. [model().] под данные

53 model(IND).impact_data.INDEX_data_set = 1;

54 model(IND).impact_data.re_define_N = 1;

55 model(IND).impact_data.re_define_start_point = 1;

56 % -- численный метод решения

57 model(IND).num_method.result_last_cutt = 1;

58 model(IND).num_method.type = ’IFDS (MNM)’;

59 model(IND).num_method.IFDS_accuracy = 1e-3;

60 model(IND).num_method.IFDS_start_iter = ’EFDS u(N)’;

61 % -- тип решения Direct problem

62 model(IND).type_task.type = ’DIRECT problem’;

63 % -- отрисовка

64 model(IND).display.is_plot_proc = 1;

65 model(IND).display.parameter.style = ’--’;

66 model(IND).display.parameter.color = COLOR_.Bright_green;

67 model(IND).display.result.style = ’-’;

68 model(IND).display.result.color = COLOR_.Bright_green;

69 % -------------------------------------------------------------------------

70 % INVERSE KRMR-2_(24_aug-27_aug)_(h_1_6)

71 IND = IND + 1;

72 model(IND).name = "Обратная задача";

73 model(IND).N = 10000;

74 model(IND).h = 1/6;

75 model(IND).start_point = 0.9;

76 model(IND).A_max = 1;

77 model(IND).lambda = 0.06;

78 model(IND).parameter.a.define = ’0 * ui’;

79 model(IND).parameter.b.define = ’- model(IM).lambda * ui’;

80 model(IND).parameter.c.define = ’model(IM).A_max * model(IM).lambda * ui’;

81 model(IND).derivative.type = ’VOGC’;

82 model(IND).parameter.alpha.define = ’0.9999 * ui’;

83 % -- подстройка парам. [model().] под данные

84 model(IND).impact_data.INDEX_data_set = 1;

85 model(IND).impact_data.re_define_N = 1;

86 model(IND).impact_data.re_define_start_point = 1;

87 % -- численный метод решения

88 model(IND).num_method.result_last_cutt = 1;

89 model(IND).num_method.type = ’IFDS (MNM)’;

90 model(IND).num_method.IFDS_accuracy = 1e-3;

91 model(IND).num_method.IFDS_start_iter = ’EFDS u(N)’;

92 % -- тип решения Inverse problem

93 model(IND).type_task.type = ’INVERSE problem’;

94 model(IND).type_task.method = ’Levenberg-Marquardt’;

95 model(IND).type_task.INDEX_exper_data = 1;

96 model(IND).type_task.par_.TIME_OUT = 50;

97 model(IND).type_task.par_.v = 100;

98 model(IND).type_task.par_.c = 2;

99 model(IND).type_task.par_.SIGMA = 7e-3;

100 model(IND).type_task.par_rest.k = 2;

101 model(IND).type_task.par_rest.X_0_start = 0.05;

102 model(IND).type_task.par_rest.X_1_start = 0.0025;

103 model(IND).type_task.par_rest.X_0_inc_start = 0.01;

104 model(IND).type_task.par_rest.X_1_inc_start = 0.0005;

105 % -- отрисовка

106 model(IND).display.is_plot_proc = 1;

107 model(IND).display.parameter.style = ’--’;

108 model(IND).display.parameter.color = COLOR_.Red;

109 model(IND).display.result.style = ’-’;

110 model(IND).display.result.color = COLOR_.Red;

111 % --------------< Определение ... НАБОРОВ ДАННЫХ >--------------------

112 data_set = [];

113 IND = 0;

114 % -------------------------------------------------------------------------

115 % KRMR-2_(24_aug-27_aug)_(h_1_6)

116 IND = IND + 1;

117 data_set(IND).file.name = ’KRMR-2.xls’;

118 data_set(IND).file.name_add = ...

119 "Эксперементальные данные RVA (KRMR-2: 24 aug-27 aug) (h 1/6)";

120 data_set(IND).file.name_column_Data = "middle (Radon1 (Bq.m3))";

121 data_set(IND).file.index_column_date = [1];

122 % -- выборка по календарю -

123 data_set(IND).date_bound_op.index_type_datatime = 4;

124 data_set(IND).date_bound_op.filler_Second = 0;

125 data_set(IND).date_bound.start.Year = 2020;

126 data_set(IND).date_bound.start.Month = 08;

127 data_set(IND).date_bound.start.Day = 24;

128 data_set(IND).date_bound.start.Hour = 13;

129 data_set(IND).date_bound.start.Minute = 40;

130 data_set(IND).date_bound.end.Year = 2020;

131 data_set(IND).date_bound.end.Month = 08;

132 data_set(IND).date_bound.end.Day = 27;

133 data_set(IND).date_bound.end.Hour = 03;

134 data_set(IND).date_bound.end.Minute = 30;

135 % -- обработка

136 data_set(IND).processing.normalize_on_max = true;

137 % -- отрисовка

138 data_set(IND).display.data.style = ’-’;

139 data_set(IND).display.data.color = COLOR_.Black;

140 % ---------------< ЗАПУСК ПРОГРАММНОГО КОМПЛЕКСА >--------------------

141 main_PRPHMM_1_0;

 

На рис. 2 приведены графики ОАР, полученные по результам модельных расчетов (классическая модель и α-модель) в программном комплексе PRPHMM 1.0 и результатам наблюдений с пункта Камчатского филиала федерального исследовательского центра «Единая геофизическая служба РАН» Карымшина (KRMR-2) 24-27 августа 2024 г. (предоставлены к.ф.-м.н., Макаровым Е.О.). Мы видим, что решение обратной задачи позволяет давать в автоматическом режиме приемлемые оценки порядка дробной производной α и коэффициента воздухообмена λ0 в модельном уравнении. Коэффициент воздухообмена достаточно тяжело измерить с помощью геофизической аппаратуры. В тоже время зная его можно расчитать плотность потока радона в накопительной камере, что является важным при исследований аномалий в ОАР, в том числе предшествующих сейсмическим событиям.

 

Рис. 2. Результат работы программного комплекса PRPHMM 1.0. Визуализация экспериментальных и модельных данных [11].

[Figure 2 The result of the PRPHMM 1.0 software package. Visualisation of experimental and model data [11].]

 

Заключение

Программный комплекс PRPHMM 1.0 позволяет проводить автоматизацию расчетов для уточнения значений параметров эредитарных математических моделей переноса радона в накопительной камере. В статье с помощью программного комплекса PRPHMM 1.0 и экспериментальных данных ОАР на пункте Карымшина для эредитарной α-модели переноса радона в накопительной камере были уточнены параметры порядка дробной производной α (проницаемость среды) и коэффициента воздухообмена λ0. Расчеты показали, что значения оценимаемых параметров является адекватными. Программный комплекс PRPHMM 1.0 успешно прошел тестирование и в настоящее время ведется работа по восставновлению значний параметров функций α(t) для эредитарной α(t)-модели.

Благодарности. Авторы благодарят д.ф.-м.н. Паровика Р.И. за ценные замечания при обсуждении результатов, полученных в статье.

×

Об авторах

Дмитрий Александрович Твёрдый

Институт космофизических исследований и распространения радиоволн ДВО РАН

Автор, ответственный за переписку.
Email: tverdyi@ikir.ru
ORCID iD: 0000-0001-6983-5258

Кандидат физико-математических наук, научный сотрудник лаборатории элетромагнитных излучений

Россия, 684034, c. Паратунка, ул.Мирная, д. 7

Евгений Олегович Макаров

Федеральный исследовательский центр «Единая геофизическая служба РАН»

Email: tverdyi@ikir.ru
ORCID iD: 0000-0002-0462-3657

кандидат физико-математических наук, старший научный сотрудник лаборатории акустического и радонового мониторинга, Камчатский филиал

Россия, 683023, г. Петропавловск-Камчатский, ул. бульвар Пийпа, д.9

Список литературы

  1. Нахушев А. М. Дробное исчисление и его применение. Москва: Физматлит, 2003. 272 с. ISBN 5-9221-0440-3.
  2. Uchaikin V. V. Fractional Derivatives for Physicists and Engineers, Background and Theory, vol. I. Berlin/Heidelberg: Springer, 2013. 373 pp. ISBN 978-3-642-33911-0 doi: 10.1007/978-3-642-33911-0.
  3. Kilbas A. A., Srivastava H. M., Trujillo J. J. Theory and Applications of Fractional Differential Equations, 1st ed.. Amsterdam: Elsevier Science Limited, 2006. 523 pp. ISBN 978-0444518323.
  4. Самко С. Г., Килбас А. А., Маричев О. И. Интегралы и производные дробного порядка и некоторые их приложения. Минск: Наука и техника, 1987. 688 с.
  5. Tverdyi D. A., Parovik R. I. Application of the Fractional Riccati Equation for Mathematical Modeling of Dynamic Processes with Saturation and Memory Effect //Fractal and Fractional, 2022. vol. 6, no. 3, pp. 163 doi: 10.3390/fractalfract6030163.
  6. Tverdyi D. A., Parovik R. I. Fractional Riccati equation to model the dynamics of COVID-19 coronavirus infection // Journal of Physics: Conference Series, 2021. vol. 2094, pp. 032042 doi: 10.1088/1742-6596/2094/3/032042.
  7. Tverdyi D. A., Makarov E. O., Parovik R. I. Hereditary Mathematical Model of the Dynamics of Radon Accumulation in the Accumulation Chamber // Mathematics, 2023. vol. 11, no. 4, pp. 850 doi: 10.3390/math11040850.
  8. Volterra V. Sur les йquations intйgro-diffйrentielles et leurs applications //Acta Mathematica, 1912. vol. 35, no. 1, pp. 295–356 doi: 10.1007/BF02418820.
  9. Parovik R. I. Tverdyi D. A. Some Aspects of Numerical Analysis for a Model Nonlinear Fractional Variable Order Equation // Mathematical and Computational Applications, 2021. vol. 26, no. 3, pp. 55 doi: 10.3390/mca26030055.
  10. Tverdyi D. A., Parovik R. I. Investigation of Finite-Difference Schemes for the Numerical Solution of a Fractional Nonlinear Equation //Fractal and Fractional, 2022. vol. 6, no. 1, pp. 23 doi: 10.3390/fractalfract6010023.
  11. Твёрдый Д. А., Макаров Е. О., Паровик Р. И. Идентификация параметров математической α-модели переноса радона в накопительной камере по данным пункта Карымшина на Камчатке // Вестник КРАУНЦ. Физ.-мат. науки, 2024. Т. 48, №3, С. 95-119 doi: 10.26117/2079- 6641-2024-48-3-95-119.
  12. Tarantola A. Inverse problem theory: methods for data fitting and model parameter estimation. Amsterdam and New York: Elsevier Science Pub. Co., 1987. 613 pp. ISBN 0444427651.
  13. Lailly P. The seismic inverse problem as a sequence of before stack migrations // Conference on Inverse Scattering, Theory and application, 1983, pp. 206–220.
  14. Фирстов П. П., Макаров Е. О. Динамика подпочвенного радона на Камчатке и сильные землетрясения. Петропавловск-Камчатский: Камчатский государственный университет им. Витуса Беринга, 2018. 148 с. ISBN 978-5-7968-0691-3.
  15. Фирстов П. П., Рудаков В. П.Результаты регистрации подпочвенного радона в 1997–2000 гг. на Петропавловск-Камчатском геодинамическом полигоне // Вулканология и сейсмология, 2003. №1, С. 26–41.
  16. Utkin V. I., Yurkov A.K. Radon as a tracer of tectonic movements //Russian Geology and Geophysics, 2010. vol. 51, no. 2, pp. 220–227 doi: 10.1016/j.rgg.2009.12.022.
  17. Бирюлин С. В., Козлова И. А., Юрков А. К. Исследование информативности объемной активности почвенного радона при подготовке и реализации тектонических землетрясений на примере Южно-Курильского региона // Вестник КРАУНЦ. Науки о Земле, 2019. Т. 4, №44, С. 73–83 doi: 10.31431/1816-5524-2019-4-44-73-83.
  18. Герасимов А. Н. Обобщение законов линейного деформирования и их применение к задачам внутреннего трения //АН ССР. Прикладная математика и механика, 1948. Т. 44, №6, С. 62-78.
  19. Caputo M. Linear models of dissipation whose Q is almost frequency independent – II //Geophysical Journal International, 1967. vol. 13, no. 5, pp. 529–539 doi: 10.1111/j.1365-246X.1967.tb02303.x.
  20. Dennis J. E., Robert Jr., Schnabel B. Numerical methods for unconstrained optimization and nonlinear equations. Philadelphia: SIAM, 1996. 394 pp. ISBN 9781611971200.
  21. Gill P. E., Murray W., Wright M. H. Practical Optimization. Philadelphia: SIAM, 2019. 421 pp.
  22. Levenberg K.A method for the solution of certain non-linear problems in least squares // Quarterly of applied mathematics, 1944. vol. 2, no. 2, pp. 164–168 doi: 10.1090/qam/10666.
  23. Marquardt D.W. An algorithm for least-squares estimation of nonlinear parameters // Journal of the society for Industrial and Applied Mathematics, 1963. vol. 11, no. 2, pp. 431–441 doi: 10.1137/0111030.
  24. Твёрдый Д. А., Паровик Р. И.О задаче оптимизации для определения вида функциональной зависимости переменного порядка дробной производной типа Герасимова-Капуто // Вестник КРАУНЦ. Физико-математические науки, 2024. Т. 47, №2, С. 35–57 doi: 10.26117/2079-6641-2024-47-2-35-57.
  25. Ford W. Numerical linear algebra with applications: Using MATLAB, 1st edition. Massachusetts: Academic Press, 2014. 628 pp. ISBN 978-0123944351 doi: 10.1016/C2011-0-07533-6.

Дополнительные файлы

Доп. файлы
Действие
1. JATS XML
2. Рис. 1. Файловая структура программного комплекса PRPHMM 1.0, в частности ветвь содержащая подпрограммы для решения обратной задачи

Скачать (910KB)
3. Рис. 2. Результат работы программного комплекса PRPHMM 1.0. Визуализация экспериментальных и модельных данных [11].

Скачать (286KB)

Согласие на обработку персональных данных с помощью сервиса «Яндекс.Метрика»

1. Я (далее – «Пользователь» или «Субъект персональных данных»), осуществляя использование сайта https://journals.rcsi.science/ (далее – «Сайт»), подтверждая свою полную дееспособность даю согласие на обработку персональных данных с использованием средств автоматизации Оператору - федеральному государственному бюджетному учреждению «Российский центр научной информации» (РЦНИ), далее – «Оператор», расположенному по адресу: 119991, г. Москва, Ленинский просп., д.32А, со следующими условиями.

2. Категории обрабатываемых данных: файлы «cookies» (куки-файлы). Файлы «cookie» – это небольшой текстовый файл, который веб-сервер может хранить в браузере Пользователя. Данные файлы веб-сервер загружает на устройство Пользователя при посещении им Сайта. При каждом следующем посещении Пользователем Сайта «cookie» файлы отправляются на Сайт Оператора. Данные файлы позволяют Сайту распознавать устройство Пользователя. Содержимое такого файла может как относиться, так и не относиться к персональным данным, в зависимости от того, содержит ли такой файл персональные данные или содержит обезличенные технические данные.

3. Цель обработки персональных данных: анализ пользовательской активности с помощью сервиса «Яндекс.Метрика».

4. Категории субъектов персональных данных: все Пользователи Сайта, которые дали согласие на обработку файлов «cookie».

5. Способы обработки: сбор, запись, систематизация, накопление, хранение, уточнение (обновление, изменение), извлечение, использование, передача (доступ, предоставление), блокирование, удаление, уничтожение персональных данных.

6. Срок обработки и хранения: до получения от Субъекта персональных данных требования о прекращении обработки/отзыва согласия.

7. Способ отзыва: заявление об отзыве в письменном виде путём его направления на адрес электронной почты Оператора: info@rcsi.science или путем письменного обращения по юридическому адресу: 119991, г. Москва, Ленинский просп., д.32А

8. Субъект персональных данных вправе запретить своему оборудованию прием этих данных или ограничить прием этих данных. При отказе от получения таких данных или при ограничении приема данных некоторые функции Сайта могут работать некорректно. Субъект персональных данных обязуется сам настроить свое оборудование таким способом, чтобы оно обеспечивало адекватный его желаниям режим работы и уровень защиты данных файлов «cookie», Оператор не предоставляет технологических и правовых консультаций на темы подобного характера.

9. Порядок уничтожения персональных данных при достижении цели их обработки или при наступлении иных законных оснований определяется Оператором в соответствии с законодательством Российской Федерации.

10. Я согласен/согласна квалифицировать в качестве своей простой электронной подписи под настоящим Согласием и под Политикой обработки персональных данных выполнение мною следующего действия на сайте: https://journals.rcsi.science/ нажатие мною на интерфейсе с текстом: «Сайт использует сервис «Яндекс.Метрика» (который использует файлы «cookie») на элемент с текстом «Принять и продолжить».