<< Chapter < Page | Chapter >> Page > |
canonic.m The procedure determines the distribution for a simple random variable in affine form, when the minterm probabilities are available. Input data are a row vector of coefficientsfor the indicator functions in the affine form (with the constant value last) and a row vector of the probabilities of the minterm generated by the events. Results consist of a row vector of values and arow vector of the corresponding probabilities.
% CANONIC file canonic.m Distribution for simple rv in affine form
% Version of 6/12/95% Determines the distribution for a simple random variable
% in affine form, when the minterm probabilities are available.% Uses the m-functions mintable and csort.
% The coefficient vector must contain the constant term.
% If the constant term is zero, enter 0 in the last place.c = input(' Enter row vector of coefficients ');
pm = input(' Enter row vector of minterm probabilities ');n = length(c) - 1;
if 2^n ~= length(pm)error('Incorrect minterm probability vector length');
endM = mintable(n); % Provides a table of minterm patterns
s = c(1:n)*M + c(n+1); % Evaluates X on each minterm[X,PX] = csort(s,pm); % s = values; pm = minterm probabilitiesXDBN = [X;PX]';disp('Use row matrices X and PX for calculations')
disp('Call for XDBN to view the distribution')
canonicf.m
function [x,px] = canonicf(c,pm)
is a function version of canonic,
which allows arbitrary naming of variables.
function [x,px] = canonicf(c,pm)% CANONICF [x,px] = canonicf(c,pm) Function version of canonic% Version of 6/12/95
% Allows arbitrary naming of variablesn = length(c) - 1;
if 2^n ~= length(pm)error('Incorrect minterm probability vector length');
endM = mintable(n); % Provides a table of minterm patterns
s = c(1:n)*M + c(n+1); % Evaluates X on each minterm[x,px] = csort(s,pm); % s = values; pm = minterm probabilities
jcalc.m Sets up for calculations for joint simple random variables. The matrix P of $P(X={t}_{i},Y={u}_{j})$ is arranged as on the plane (i.e., values of Y increase upward). The MATLAB function meshgrid is applied to the row matrix X and the reversed row matrix for Y to put an appropriate X -value and Y -value at each position. These are in the “calculating matrices” t and u , respectively, which are used in determining probabilities and expectations of various functions of $t,u$ .
% JCALC file jcalc.m Calculation setup for joint simple rv
% Version of 4/7/95 (Update of prompt and display 5/1/95)% Setup for calculations for joint simple random variables
% The joint probabilities arranged as on the plane% (top row corresponds to largest value of Y)
P = input('Enter JOINT PROBABILITIES (as on the plane) ');X = input('Enter row matrix of VALUES of X ');
Y = input('Enter row matrix of VALUES of Y ');PX = sum(P); % probabilities for X
PY = fliplr(sum(P')); % probabilities for Y[t,u] = meshgrid(X,fliplr(Y));disp(' Use array operations on matrices X, Y, PX, PY, t, u, and P')
Notification Switch
Would you like to follow the 'Applied probability' conversation and receive update notifications?