From 7436a44e16aacfa455c0ad6a90b0a4e25d88a335 Mon Sep 17 00:00:00 2001 From: Shashank Athreya Date: Fri, 19 Nov 2021 19:13:00 +0100 Subject: [PATCH] =?UTF-8?q?Calculated=20the=20correct=20vaues=20of=20?= =?UTF-8?q?=CF=80*=20and=20=C3=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assignment2.py | 7 +++++-- assignment2_SA.py | 46 ++++++++++++++++++++++++++++------------------ 2 files changed, 33 insertions(+), 20 deletions(-) diff --git a/assignment2.py b/assignment2.py index 6d0129d..3a2b5f0 100644 --- a/assignment2.py +++ b/assignment2.py @@ -1,3 +1,4 @@ +#%% import numpy as np @@ -40,12 +41,14 @@ def stationary(): x = np.linalg.solve(A, r) print(x) + print(sum(x)) - +#%% if __name__ == '__main__': T = 10000 N = 1000 # deteriorate(T, N) - stationary() \ No newline at end of file + stationary() +# %% diff --git a/assignment2_SA.py b/assignment2_SA.py index 11ec7bc..9f8cc7f 100644 --- a/assignment2_SA.py +++ b/assignment2_SA.py @@ -1,35 +1,45 @@ #%% +import numpy as np + beta = 0.01 initial_rate = 0.1 states=91 #%% -def p(i): + +def pπ(i): return(initial_rate+beta*i) +def prob(i): + return(initial_rate+beta*i,1-(initial_rate+beta*i)) #%% -sum2 = 0 -for j in range(1,states): - prod = 1 - for i in range(1,j+1): - prod*=p(i) - sum2+=prod +p = np.zeros((states,states)) +for x in range(len(p[0])-1): + p[0][x],p[x+1][x] = prob(x) +p[0][90]=1 + +#%% +cost = p[0] + +#%% +#calculating stationary Distribution 'π' +πp = [] +πp.append(1) +πp.append(0.9) +for i in range(2,states): + πp.append(πp[i-1]*(πp[1]-(0.01*(i-1)))) π = [] -π.append(1/(1+sum2)) +π.append(1/sum(πp)) print(π) for j in range(1,states): - prod = 1 - for i in range(0,j): - prod*=p(i+1) - π.append(prod*π[0]) - -# %% -print(sum(π)) -# %% + π.append(π[0]*πp[j]) print(π) +print(sum(π))#checking if it's 1 # %% +#calculating ø = ∑ π•c ø=0 -for i in range(len(π)-1): - ø+=(i+1)*π[i] +for i in range(states): + ø += cost[i]*π[i] print(ø) + # %%