Some aspects of the implementation of the PRPHMM 1.0 software package for refining the parameters of hereditary mathematical models of radon transfer in a storage chamber

Cover Page

Cite item

Full Text

Abstract

Mathematical models of some dynamic processes can be significantly enhanced by using derivatives and integrals of non-integer order in them, taking into account effects that cannot be described by ordinary derivatives. For example, by using fractional Gerasimov- Caputo derivatives of constant and variable order, it is possible to take into account the memory effect in the process model, and the order of the derivative will be related to the intensity of the process. In particular, the authors have previously developed an hereditary α-model of the volumetric activity of radon, where the parameter α is related to the permeability of the medium. However, the question arises about determination of optimal values of both α and other parameters of the model. To solve the problem, it is possible to solve the inverse problem, a common type of problem in many scientific fields, where it is necessary to determine the values of model parameters from observed data, but it is impossible to make direct measurements of these parameters. The need for such an approach often arises when working with geological data. The article describes the software implementation of the PRPHMM 1.0 software package which can clarifying optimal values of hereditary mathematical models based on the Gerasimov- Caputo derivative. The Levenberg-Marquardt unconditional Newtonian optimisation algorithm is adapted and implemented in MATLAB language. Subroutines for reading, processing and visualisation of experimental and model data are implemented. A test case solving the inverse problem for the hereditary α-model for the parameters α and λ0-air exchange coefficient on the basis of experimental radon monitoring data is presented. It is shown that PRPHMM 1.0 allows for the clarify of parameter values close to the optimum values for the hereditary mathematical models.

Full Text

Введение

В последние годы возрос интерес к исследованию так называемых дифференциальных уравнений дробного порядка [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)-модели.

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

×

About the authors

Dmitrii A. Tverdyi

Institute of Cosmophysical Research and Radio Wave Propagation FEB RAS

Author for correspondence.
Email: tverdyi@ikir.ru
ORCID iD: 0000-0001-6983-5258

PhD (Phys. & Math.), Researcher, Electromagnetic Radiation Laboratory

Russian Federation, 684034, Paratunka village, Mirnaya str., 7

Evgeny O. Makarov

Federal Research Center «Unified Geophysical Service of the Russian Academy of Sciences»

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

PhD (Phys. & Math.), Senior Researcher, Acoustic and Radon Monitoring Laboratory, Kamchatka Branch

Russian Federation, 683023, Petropavlovsk-Kamchatsky, Piipa Boulevard st., 9

References

  1. Nakhushev A. M. Fractional calculus and its application. Moscow: Fizmatlit, 2003, 272 pp., isbn: 5-9221-0440-3 (In Russian)
  2. Uchaikin V. V. Fractional Derivatives for Physicists and Engineers. Vol. I. Background and Theory. Berlin/Heidelberg, Springer, 2013, 373 pp. 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, 2006, 523 pp., isbn: 978-0444518323.
  4. Samko S. G., Kilbas A. A., Marichev O. I. Integraly i proizvodnye drobnogo poryadka i nekotorye ih prilozheniya [Fractional integrals and derivatives and some of their applications]. Science and tech: Minsk, 1987, 688 pp.(In Russian)
  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 ’equations int’egro-diff’erentielles 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. Tverdyi D. A., Makarov E. O., Parovik R. I. Identification of parameters of the mathematical α-model of radon transport in the accumulation chamber based on data from the Karymshina site in Kamchatka, Bulletin KRASEC. Physical and Mathematical Sciences, 2024, vol. 48, no. 3, pp. 95–119. doi: 10.26117/2079-6641-2024-48-3-95-119.(In Russian)
  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. Firstov P.P., Makarov E. O. Dynamics of subsurface radon in Kamchatka and strong earthquakes. Petropavlovsk-Kamchatsky, Vitus Bering Kamchatka State University, 2018, 148 pp., isbn: 978-5-7968-0691-3 (In Russian)
  15. Firstov P.P., Rudakov V.P. Results from observations of subsurface radon in 1997-2000 at the Petropavlovsk-Kamchatskii geodynamic site. Journal of Volcanology and Seismology, 2003, no. 1, pp. 26–41 (In Russian)
  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. Biryulin S. V., Kozlova I. A., Yurkov A. K. Investigation of informative value of volume radon activity in soil during both the stress build up and tectonic earthquakes in the South Kuril region, Bulletin of KRASEC. Earth Sciences, 2019, vol. 4, no. 44, pp. 73–83. doi: 10.31431/1816-5524-2019-4-44-73-83.
  18. Gerasimov A. N. Generalization of linear deformation laws and their application to internal friction problems, Applied Mathematics and Mechanics, 1948, vol. 12, pp. 529–539.
  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. Tverdyi D. A., Parovik R. I. The optimization problem for determining the functional dependence of the variable order of the fractional derivative of the Gerasimov-Caputo type, Bulletin KRASEC. Physical and Mathematical Sciences, 2024, vol. 47, no. 2, pp. 35–57. doi: 10.26117/2079-6641-2024-47-2-35-57.(In Russian)
  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

Supplementary files

Supplementary Files
Action
1. JATS XML
2. [Figure 1. File structure of the PRPHMM 1.0 software package, in particular the branch containing subroutines for solving the inverse problem ]

Download (910KB)
3. [Figure 2 The result of the PRPHMM 1.0 software package. Visualisation of experimental and model data [11].]

Download (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») на элемент с текстом «Принять и продолжить».