SMCTP2STAT Stationary distributions for a switching MCTP. CALL: [ro,ro_min,ro_max] = smctp2stat(P,F); [ro,ro_min,ro_max,Ro_min,Ro_max] = smctp2stat(P,F); ro = Stationary distribution of regime process. [1xr] ro_min = Stationary distr. of minima for subloads. {r}[1xn] ro_max = Stationary distr. of maxima for subloads. {r}[1xn] Ro_min = Stationary distr. of minima for joint MCTP. [1xnr] Ro_max = Stationary distr. of maxima for joint MCTP. [1xnr] P = Transition matrix for regime process. [rxr] F = Cell array of min-Max and Max-min matrices {rx2} F{i,1} = min-Max matrix, process i [nxn] F{i,2} = Max-min matrix, process i [nxn] See also mctp2stat, smctp2joint
Converts a matrix to a transition matrix. | |
Calculates the stationary distribution for a Markov chain. | |
Calculates the stationary distribution for a MCTP. | |
Calculates the joint MCTP for a SMCTP. | |
Display message and abort function. |
Quick test of the routines in module 'markov' |
001 function [ro,ro_min,ro_max,Ro_min,Ro_max,QQ] = mctp2stat(P,F) 002 % SMCTP2STAT Stationary distributions for a switching MCTP. 003 % 004 % CALL: [ro,ro_min,ro_max] = smctp2stat(P,F); 005 % [ro,ro_min,ro_max,Ro_min,Ro_max] = smctp2stat(P,F); 006 % 007 % ro = Stationary distribution of regime process. [1xr] 008 % ro_min = Stationary distr. of minima for subloads. {r}[1xn] 009 % ro_max = Stationary distr. of maxima for subloads. {r}[1xn] 010 % Ro_min = Stationary distr. of minima for joint MCTP. [1xnr] 011 % Ro_max = Stationary distr. of maxima for joint MCTP. [1xnr] 012 % 013 % P = Transition matrix for regime process. [rxr] 014 % F = Cell array of min-Max and Max-min matrices {rx2} 015 % F{i,1} = min-Max matrix, process i [nxn] 016 % F{i,2} = Max-min matrix, process i [nxn] 017 % 018 % See also mctp2stat, smctp2joint 019 020 % Tested on Matlab 5.3 021 % 022 % History: 023 % Updated by PJ 18-May-2000 024 % updated for WAFO 025 % Created by PJ (Pär Johannesson) 1999 026 027 % Check input arguments 028 029 ni = nargin; 030 no = nargout; 031 error(nargchk(2,2,ni)); 032 033 % Define 034 035 r = length(P); % Number of regime states 036 n = length(F{1,1}); % Number of levels 037 038 % Check that the rowsums of P are equal to 1 039 040 P = mat2tmat(P); 041 042 % Normalize the rowsums of F{1,1},...,F{r,1} to 1 043 % ==> QQ{1,1},...,QQ{r,1} 044 045 for i = 1:r 046 QQ{i,1} = F{i,1}; 047 QQ{i,1} = mat2tmat(QQ{i,1},1); 048 end 049 050 % Normalize the rowsums of F{1,2},...,F{r,2} to 1 051 % ==> QQ{1,2},...,QQ{r,2} 052 053 for i = 1:r 054 055 if isempty(F{i,2}) % Time-reversible 056 QQ{i,2} = F{i,1}'; 057 else % F{i,2} is given 058 QQ{i,2} = F{i,2}; 059 end 060 061 QQ{i,2} = mat2tmat(QQ{i,2},-1); 062 063 end 064 065 % Stationary distribution (=ro) for regime process. 066 067 ro = mc2stat(P); 068 069 % Stationary distribution (=ro) of local minima with transition matrix 070 % Qt = Q*Qh = "Transition matrix for min-to-min" 071 072 for i = 1:r 073 [ro_min{i},ro_max{i}] = mctp2stat(F(i,:)); 074 end 075 076 [Q,QQ] = smctp2joint(P,F) 077 078 [Ro_min,Ro_max] = mctp2stat(Q); 079 080 081
Comments or corrections to the WAFO group