Advertisement
Guest User

Untitled

a guest
Mar 23rd, 2018
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.50 KB | None | 0 0
  1.     def print_arma_model(self):
  2.         if not self.is_model_exists():
  3.             print("Model ARMA({0},{1}) does not exist.".format(self.__m, self.__n))
  4.             print("Error norm: {:.30f}".format(self.__norm))
  5.         else:
  6.             r = "\u0072"
  7.             xi = "\u03BE"
  8.             eta = "\u03B7"
  9.             alpha = "\u03B1"
  10.             beta = "\u03B2"
  11.             epsilon = "\u03B5"
  12.             subscript_n = "\u2099"
  13.             subscript_minus = "\u208B"
  14.  
  15.             print("Auto Regressive Moving Average model ARMA({0},{1}):".format(self.__m, self.__n))
  16.             print("{0}{1} = ".format(eta, subscript_n), end="")
  17.  
  18.             for i in range(self.__m):
  19.                 print("{0}{1}{2}{3} + ".
  20.                       format(beta,
  21.                              get_subscript_number(i + 1),
  22.                              eta,
  23.                              subscript_n + subscript_minus + get_subscript_number(i + 1)),
  24.                       end="")
  25.  
  26.             for i in range(self.__n + 1):
  27.                 index = get_subscript_number(i)
  28.                 print("{0}{1}{2}{3}".
  29.                       format(alpha,
  30.                              get_subscript_number(i),
  31.                              xi,
  32.                              subscript_n + (subscript_minus + index if i != 0 else "")), end="")
  33.                 if i != self.__n:
  34.                     print(" + ", end="")
  35.                 else:
  36.                     print()
  37.  
  38.             for i in range(self.__m):
  39.                 print("{0}{1} = {2:.4f}".format(beta,
  40.                                                 get_subscript_number(i + 1),
  41.                                                 self.__beta[i]))
  42.  
  43.             if not self.is_model_stable():
  44.                 print("Model ARMA({0},{1}) is not stable.".format(self.__m, self.__n))
  45.                 print("Error norm: {:.30f}".format(self.__norm))
  46.             else:
  47.                 for i in range(self.__n + 1):
  48.                     print("{0}{1} = {2:.4f}".format(alpha,
  49.                                                     get_subscript_number(i),
  50.                                                     self.__alpha[i]))
  51.  
  52.                 print("{0}{1} = {2:.6f}".format(epsilon,
  53.                                                 get_superscript_number(2),
  54.                                                 self.standard_deviation_criterion()))
  55.                 print("Error norm: {:.30f}".format(self.__norm))
  56.  
  57.                 print("Stability criterion:")
  58.                 print("1", end="")
  59.  
  60.                 for i in range(1, self.__m + 1):
  61.                     print(" - {0}{1}z{2}".format(beta,
  62.                                                  get_subscript_number(i),
  63.                                                  get_superscript_number(-i)), end="")
  64.  
  65.                 print(" = 0")
  66.  
  67.                 for i in range(len(self.__z)):
  68.                     print(type(self.__z[i]))
  69.                     if isinstance(self.__z[i], Float):
  70.                         print("z{0} = {1:.4f}".format(get_subscript_number(i + 1),
  71.                                                       self.__z[i]))
  72.                     else:
  73.                         print("z{0} = {1:.4f} {2} {3:.4f}*I".format(get_subscript_number(i + 1),
  74.                                                                     re(self.__z[i]),
  75.                                                                     "+" if sign(im(self.__z[i])) > 0 else "-",
  76.                                                                     abs(im(self.__z[i]))))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement