Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import ips
- import numpy as np
- def get_values(f):
- return f.lower0, f.lower50, f.median, f.upper50, f.upper0
- def get_lengths(f):
- (a, b, c, d, e) = get_values(f)
- return b - a, c - b, d - c, e - d
- def get_exp(f):
- (a, b, c, d, e) = get_values(f)
- return (b + c + d) / 4 + (a + e) / 8
- def get_interval(f, p):
- (a, b, c, d, e) = get_values(f)
- if p < 0.25:
- smallest = np.argmin(get_lengths(f))
- l, r = 0, 0
- if smallest == 0:
- l, r = a, b
- elif smallest == 1:
- l, r = b, c
- elif smallest == 2:
- l, r = c, d
- elif smallest == 3:
- l, r = d, e
- res_len = (r - l) * 25 * p
- mid = (l + r) / 2
- start, end = mid - (res_len / 2), mid + (res_len / 2)
- return start, end
- # получаем структуру для работы
- ips.debug_psm_file('state-random.json')
- psm = ips.init()
- q = psm.wind[0].forecast
- print(q.lower0)
- print("Exp: ", get_exp(q))
- print("Int 10%", get_interval(q, .10))
Advertisement
Add Comment
Please, Sign In to add comment