/
userBeliefUpdate.m
33 lines (25 loc) · 1.18 KB
/
userBeliefUpdate.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
function nu_Belief = userBeliefUpdate(trMtrAcs, trMtrSen, accessStation, ...
u_Belief, nUserState, nBatteryState, nBaseStation)
nu_Belief = zeros(nUserState, nBatteryState, nBaseStation);
for station = 1: 1: nBaseStation
if accessStation == station % the accessing transition
for start_user = 1: 1: nUserState
for start_battery = 1: 1: nBatteryState
nu_Belief(:, :, station) = nu_Belief(:, :, station) + ...
squeeze( trMtrAcs(start_user, start_battery, :, :, station) ) * ...
u_Belief(start_user, start_battery, station);
end
end
else
for start_user = 1: 1: nUserState
for start_battery = 1: 1: nBatteryState
nu_Belief(:, :, station) = nu_Belief(:, :, station) + ...
squeeze( trMtrSen(start_user, start_battery, :, :, station) ) * ...
u_Belief(start_user, start_battery, station);
end
end
end
% in case numerical error happens
nu_Belief(:, :, station) = nu_Belief(:, :, station) / ...
sum(sum(nu_Belief(:, :, station)));
end