Tartalomjegyzék

b'

\n Teljes Matlab script\n kieg\xc3\xa9sz\xc3\xadt\xc5\x91 f\xc3\xbcggv\xc3\xa9nyekkel.\n

' b'
File: main.m\nDirectory: 4_gyujtemegy/11_CCS/2021_COVID19_analizis/study13_SNMPC_LTV_delta\nAuthor: Peter Polcz (ppolcz@gmail.com)
' b'
Created on 2021. October 12. (2021b)
' b'
Az id\xc5\x91sk\xc3\xa1la h\xc3\xa1rom NAGY r\xc3\xa9szre van osztva: 1. a tartom\xc3\xa1ny, amit kor\xc3\xa1bban\nrekonstru\xc3\xa1ltam \xc3\xa9s m\xc3\xa1r nem akarom v\xc3\xa1ltoztatni; 2. a tartom\xc3\xa1ny, amit\nm\xc3\xbaltnak tekintek, ahol a k\xc3\xb3rh\xc3\xa1zban \xc3\xa1poltak sz\xc3\xa1m\xc3\xa1t rekonstru\xc3\xa1lni\nszeretn\xc3\xa9m; 3. a tartom\xc3\xa1ny, amit j\xc3\xb6v\xc5\x91nek tekintek \xc3\xa9s azt el\xc5\x91re szeretn\xc3\xa9m\njelezni.
' b'
(Ha Date_End_REC == Date_Last_Available_Data, akkor a JOVO == PRED.)  \xe2\x94\x8a\n    \xe2\x94\x95\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\xa5    \xe2\x94\x95\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\xb5\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x95\xae                    \xe2\x94\x8a\n               \xe2\x95\xb0\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x95\xae    \xe2\x94\x8a                    \xe2\x94\x8a\nDate_Start (01-Mar-2020)                      \xe2\x94\x8a    \xe2\x94\x8a                    \xe2\x94\x8a\n\xe2\x94\x95\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\xb5\xe2\x94\x80\xe2\x95\xae Date_Start_MPC (eg. 20-Aug-2020) \xe2\x94\x8a    \xe2\x94\x8a                    \xe2\x94\x8a\n         \xe2\x94\x8a \xe2\x94\x95\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\xb5\xe2\x94\x80\xe2\x95\xae                 \xe2\x94\x8a    \xe2\x94\x8a                    \xe2\x94\x8a\n         \xe2\x94\x8a                \xe2\x94\x8a                 \xe2\x94\x8a    \xe2\x94\x8a                    \xe2\x94\x8a\n         \xe2\x94\x8a<---- Official_data_table (MULT) -\xe2\x94\x8a--->\xe2\x94\x8a<----- JOVO ------->\xe2\x94\x8a\n         \xe2\x94\x8a                \xe2\x94\x8a                 \xe2\x94\x8a    \xe2\x94\x8a                    \xe2\x94\x8a\n         \xe2\x94\x8a<---- PREF -----\xe2\x94\x8a-->\xe2\x94\x8a<--- REC --->\xe2\x94\x8a<----- PRED ------------>\xe2\x94\x8a\n         \xe2\x94\x8a                \xe2\x94\x8a   \xe2\x94\x8a             \xe2\x94\x8a    \xe2\x94\x8a                    \xe2\x94\x8a\nt_All  = [ -N_pref ... -1 \xe2\x94\x8a 0 \xe2\x94\x8a 1 ... N_rec \xe2\x94\x8a N_rec+1 ..... N_recpred ]\nt_recpred =               [ 0 \xe2\x94\x8a             \xe2\x94\x8a    \xe2\x94\x8a          N_recpred ]\n         \xe2\x94\x8a                \xe2\x94\x8a   \xe2\x94\x8a             \xe2\x94\x8a    \xe2\x94\x8a                    \xe2\x94\x8a\nDT_Idx:  [  1  .......... \xe2\x94\x8a ~ \xe2\x94\x8a ......... ~ \xe2\x94\x8a  ~ ]                    \xe2\x94\x8a\n    DT_Idx_Start_MPC\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x95\xaf \xe2\x94\x8a           \xe2\x94\x82 \xe2\x94\x8a  \xe2\x94\x82 \xe2\x94\x8a                    \xe2\x94\x8a\n    DT_Idx_End_REC\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x95\xaf \xe2\x94\x8a  \xe2\x94\x82 \xe2\x94\x8a                    \xe2\x94\x8a\n    DT_Idx_Last_Available_Data == N_Past\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x95\xaf \xe2\x94\x8a                    \xe2\x94\x8a\n                          \xe2\x94\x8a   \xe2\x94\x8a             \xe2\x94\x8a    \xe2\x94\x8a                    \xe2\x94\x8a\nH_ref_All:<---------------\xe2\x94\x8a---\xe2\x94\x8a-------------\xe2\x94\x8a--->\xe2\x94\x8a  (filtered)        \xe2\x94\x8a\nH_ref (Recon. with MPC):  \xe2\x94\x8a   \xe2\x94\x8a<----------->\xe2\x94\x8a    \xe2\x94\x8a  (filtered)        \xe2\x94\x8a\n\xe2\x94\x8d\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x91      \xe2\x94\x8a   \xe2\x94\x8a             \xe2\x94\x8a    \xe2\x94\x8a                    \xe2\x94\x8a\n\xe2\x94\x86 Time span of MPC: \xe2\x94\x86      \xe2\x94\x9d\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\xbf\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\xbf\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\xbf\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\xa5\n\xe2\x94\x95\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x99      \xe2\x94\x8a   \xe2\x94\x8a             \xe2\x94\x8a    \xe2\x94\x8a                    \xe2\x94\x8a\nxx:                       [x0 \xe2\x94\x8a CasADi symvars 1:N_recpred      ~   ~ ]\nuu:                       [u0 \xe2\x94\x8a CasADi symvars 1:N_recpred-1    ~ ]   \xe2\x94\x8a\nPrescr. smoothness for u: \xe2\x94\x8a<--\xe2\x94\x8a-------------\xe2\x94\x8a----\xe2\x94\x8a-----\xe2\x94\x8a--------->\xe2\x94\x8a   \xe2\x94\x8a\nPrescr. reference for u:  \xe2\x94\x8a   \xe2\x94\x8a                        \xe2\x94\x8a<-------->\xe2\x94\x8a   \xe2\x94\x8a\nIndexing of uu and xx     [ 1 \xe2\x94\x8a  Date_Assume_Beta      \xe2\x94\x8a ~      ~ ] ~ \xe2\x94\x8a\n                                 \xe2\x94\x95\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\xb5\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x95\xaf \xe2\x94\x82      \xe2\x94\x82   \xe2\x94\x82 \xe2\x94\x8a\n                                  Idx_Assume_Beta\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x95\xaf      \xe2\x94\x82   \xe2\x94\x82 \xe2\x94\x8a\n                                           N_recpred\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x95\xaf+1\xe2\x94\x80\xe2\x95\xaf \xe2\x94\x8a\n
' b'
addpath ../../../../5_Sztaki20_Main/Utils/casadi_helper\n\nbeta_Alpha = 1/3;\nbeta_Britt = 0.5;\nbeta_Delta = 0.79;\n
' b'

Parameters of the dynamical model

' b'
sigma2_pm_perc = @(var,nr_sigma,perc) ( var * perc / 100 / nr_sigma )^2;\n\nError_perc = 10;\n\n% Population in Hungary\nNp = 9800000;\n\n% Inverse of pre-symptomatic infectious period [1/days]\nmu_p = 1/3;\n% sigma2_p = sigma2_pm_perc(mu_p,2,30);\nsigma2_p = sigma2_pm_perc(mu_p,2,10);\n\n% Probability of developing symptoms\n% q = 0.75\nmu_q = 0.6;\n% sigma2_q = sigma2_pm_perc(mu_q,2,20);\nsigma2_q = sigma2_pm_perc(mu_q,2,10);\n\n% Inverse of infectious period [1/days]\nmu_rhoI = 1/4;\n% sigma2_rhoI = sigma2_pm_perc(mu_rhoI,2,30);\nsigma2_rhoI = sigma2_pm_perc(mu_rhoI,2,10);\n\n% Inverse of infectious period [1/days]\nmu_rhoA = 1/4;\n% sigma2_rhoA = sigma2_pm_perc(mu_rhoA,2,30);\nsigma2_rhoA = sigma2_pm_perc(mu_rhoA,2,10);\n\n% Inverse of latent period [1/days]\nmu_alpha = 1/2.5;\n% sigma2_alpha = sigma2_pm_perc(mu_alpha,2,30);\nsigma2_alpha = sigma2_pm_perc(mu_alpha,2,10);\n\n% Hospitalization probability of symptomatic cases\n% (Felt\xc3\xa9telezhet\xc5\x91, hogy ezt el\xc3\xa9g pontosan tudjunk)\nmu_eta = 0.076;\nsigma2_eta = sigma2_pm_perc(mu_eta,2,10);\n\n% Inverse of average hospitalization length [1/days]\n% (Felt\xc3\xa9telezhet\xc5\x91, hogy ezt el\xc3\xa9g pontosan tudjunk)\nmu_h = 1/10;\nsigma2_h = sigma2_pm_perc(mu_h,2,10);\n\n% Probability of fatal outcome in hospital\n% mu_mu = 0.145;\n% mu_mu = 0.185;\nmu_mu = 0.205; % 2021.09.28. (szeptember 28, kedd), 11:16\nsigma2_mu = sigma2_pm_perc(mu_mu,2,10);\n\n% Relative transmissibility of asymptomatic\nmu_delta = 0.75;\n% sigma2_delta = sigma2_pm_perc(mu_delta,2,20);\nsigma2_delta = sigma2_pm_perc(mu_delta,2,10);\n\n% Vaccination success percentage\nmu_vsp = 0.85;\nsigma2_vsp = sigma2_pm_perc(mu_vsp,2,10);\n\nbeta_Alpha = 1/3;\nbeta_Britt = 0.5;\nbeta_Delta = 0.79;\n\nMp = [\n    mu_p\n    mu_q\n    mu_rhoI\n    mu_rhoA\n    mu_alpha\n    mu_eta\n    mu_h\n    mu_mu\n    mu_delta\n    mu_vsp\n    ];\n\nSp = diag([\n    sigma2_p\n    sigma2_q\n    sigma2_rhoI\n    sigma2_rhoA\n    sigma2_alpha\n    sigma2_eta\n    sigma2_h\n    sigma2_mu\n    sigma2_delta\n    sigma2_vsp\n    ]);\n\n% Ezek kozul mi az ami tenylegesen bizonytalan\nUncertain = logical([\n    1 % p       Inverse of pre-symptomatic infectious period [1/days]\n    1 % q       Probability of developing symptoms\n    1 % rhoI    Inverse of infectious period [1/days]\n    1 % rhoA    Inverse of infectious period [1/days]\n    1 % alpha   Inverse of latent period [1/days]\n    1 % eta     Hospitalization probability of symptomatic cases\n    1 % h       Inverse of average hospitalization length [1/days]\n    1 % mu      Probability of fatal outcome in hospital\n    1 % delta   Relative transmissibility of asymptomatic\n    1 % vsp     Vaccination success percentage\n    ]);\n\n%{\n    A recovered parametererzekenysege?\n%}\n
' b'

Symbolic dynamical model description

' b'
if Uncertain( 1), p = SX.sym(\'p\');          else, p = mu_p;          end\nif Uncertain( 2), q = SX.sym(\'q\');          else, q = mu_q;          end\nif Uncertain( 3), rhoI = SX.sym(\'rhoI\');    else, rhoI = mu_rhoI;    end\nif Uncertain( 4), rhoA = SX.sym(\'rhoA\');    else, rhoA = mu_rhoA;    end\nif Uncertain( 5), alpha = SX.sym(\'alpha\');  else, alpha = mu_alpha;  end\nif Uncertain( 6), eta = SX.sym(\'eta\');      else, eta = mu_eta;      end\nif Uncertain( 7), h = SX.sym(\'h\');          else, h = mu_h;          end\nif Uncertain( 8), mu = SX.sym(\'mu\');        else, mu = mu_mu;        end\nif Uncertain( 9), delta = SX.sym(\'delta\');  else, delta = mu_delta;  end\nif Uncertain(10), vsp = SX.sym(\'vsp\');      else, vsp = mu_vsp;      end\n\n% Parameters (theta)\nparams = [\n    p\n    q\n    rhoI\n    rhoA\n    alpha\n    eta\n    h\n    mu\n    delta\n    vsp\n    ];\n
' b''