<< Chapter < Page Chapter >> Page >

jcalcf.m function [x,y,t,u,px,py,p] = jcalcf(X,Y,P) is a function version of jcalc, which allows arbitrary naming of variables.

function [x,y,t,u,px,py,p] = jcalcf(X,Y,P)% JCALCF [x,y,t,u,px,py,p] = jcalcf(X,Y,P) Function version of jcalc% Version of 5/3/95 % Allows arbitrary naming of variablesif sum(size(P) ~= [length(Y) length(X)])>0 error(' Incompatible vector sizes')end x = X;y = Y; p = P;px = sum(P); py = fliplr(sum(P'));[t,u] = meshgrid(X,fliplr(Y));
Got questions? Get instant answers now!

jointzw.m Sets up joint distribution for Z = g ( X , Y ) and W = h ( X , Y ) and provides calculating matrices as in jcalc. Inputs are P , X , and Y as well as array expressions for g ( t , u ) and h ( t , u ) . Outputs are matrices Z , W , P Z W for the joint distribution, marginal probabilities P Z , P W , and the calculating matrices v , w .

% JOINTZW file jointzw.m Joint dbn for two functions of (X,Y) % Version of 4/29/97% Obtains joint distribution for % Z = g(X,Y) and W = h(X,Y)% Inputs P, X, and Y as well as array % expressions for g(t,u) and h(t,u)P = input('Enter joint prob for (X,Y) '); X = input('Enter values for X ');Y = input('Enter values for Y '); [t,u]= meshgrid(X,fliplr(Y)); G = input('Enter expression for g(t,u) ');H = input('Enter expression for h(t,u) '); [Z,PZ]= csort(G,P); [W,PW]= csort(H,P); r = length(W);c = length(Z); PZW = zeros(r,c);for i = 1:r for j = 1:ca = find((G==Z(j))&(H==W(i))); if ~isempty(a)PZW(i,j) = total(P(a)); endend endPZW = flipud(PZW); [v,w]= meshgrid(Z,fliplr(W)); if (G==t)&(H==u) disp(' ')disp(' Note: Z = X and W = Y') disp(' ')elseif G==t disp(' ')disp(' Note: Z = X') disp(' ')elseif H==u disp(' ')disp(' Note: W = Y') disp(' ')end disp('Use array operations on Z, W, PZ, PW, v, w, PZW')
Got questions? Get instant answers now!

jdtest.m Tests a joint probability matrix P for negative entries and unit total probability..

function y = jdtest(P) % JDTEST y = jdtest(P) Tests P for unit total and negative elements% Version of 10/8/93 M = min(min(P));S = sum(sum(P));if M<0 y = 'Negative entries';elseif abs(1 - S)>1e-7 y = 'Probabilities do not sum to one';else y = 'P is a valid distribution';end
Got questions? Get instant answers now!

Setup for general random variables

tappr.m Uses the density function to set up a discrete approximation to the distribution for absolutely continuous random variable X .

% TAPPR file tappr.m Discrete approximation to ac random variable % Version of 4/16/94% Sets up discrete approximation to distribution for % absolutely continuous random variable X% Density is entered as a function of t r = input('Enter matrix [a b]of x-range endpoints '); n = input('Enter number of x approximation points ');d = (r(2) - r(1))/n; t = (r(1):d:r(2)-d) +d/2;PX = input('Enter density as a function of t '); PX = PX*d;PX = PX/sum(PX); X = t;disp('Use row matrices X and PX as in the simple case')
Got questions? Get instant answers now!

tuappr.m Uses the joint density to set up discrete approximations to X , Y , t , u , and density.

% TUAPPR file tuappr.m Discrete approximation to joint ac pair % Version of 2/20/96% Joint density entered as a function of t, u % Sets up discrete approximations to X, Y, t, u, and densityrx = input('Enter matrix [a b] of X-range endpoints ');ry = input('Enter matrix [c d] of Y-range endpoints ');nx = input('Enter number of X approximation points '); ny = input('Enter number of Y approximation points ');dx = (rx(2) - rx(1))/nx; dy = (ry(2) - ry(1))/ny;X = (rx(1):dx:rx(2)-dx) + dx/2; Y = (ry(1):dy:ry(2)-dy) + dy/2;[t,u] = meshgrid(X,fliplr(Y));P = input('Enter expression for joint density '); P = dx*dy*P;P = P/sum(sum(P)); PX = sum(P);PY = fliplr(sum(P')); disp('Use array operations on X, Y, PX, PY, t, u, and P')
Got questions? Get instant answers now!

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Applied probability. OpenStax CNX. Aug 31, 2009 Download for free at http://cnx.org/content/col10708/1.6
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Applied probability' conversation and receive update notifications?

Ask