Taking expectation of 3 dimension matrix
3 views (last 30 days)
Show older comments
Hi,
I am trying to take the expectation of a function on two variables where the probabilities are markov process and it is 3dimension.
E(v(a',b',c'))= Sum(sum(v(a,b,c)*Q(b,b')*Q(c,c'))) where sums are on b and c and Q are the transition matrices.
I found it as below but i need to make it faster.
Nk=100, Nz=5, Ne=4
v_n=rand(Nk,Nz,Ne)
Q_z(Nz,Nz) is 5*5 transition matrix where sum of each row makes 1
Q_e(Ne,Ne) is 3*3 transition matrix where sum of each row makes 1
for ik=1:Nk
for iz=1:Nz
for ie=1:Ne
asd(ik,iz,ie)=dot(Q_e(ie,:),squeeze(v_n(ik,iz,:)));
end
end
end
for ik=1:NkPts
for iz=1:Nz
for ie=1:Ne
expv_n(ik,iz,ie)= dot(Q_z(iz,:),squeeze(asd(ik,:,ie)));
end
end
end
0 Comments
Answers (0)
See Also
Categories
Find more on Markov Chain Models in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!