<< Chapter < Page | Chapter >> Page > |
dquant.m
function t = dquant(X,PX,U)
determines the values of the
quantile function for a simple random variable with distribution
at the probability values
in row vector
U . The probability vector
U is often determined by a random number generator.
function t = dquant(X,PX,U)
% DQUANT t = dquant(X,PX,U) Quantile function for a simple random variable% Version of 10/14/95
% U is a vector of probabilitiesm = length(X);
n = length(U);F = [0 cumsum(PX)+1e-12];F(m+1) = 1; % Makes maximum value exactly one
if U(n)>= 1 % Prevents improper values of probability U
U(n) = 1;end
if U(1)<= 0
U(1) = 1e-9;end
f = rowcopy(F,n); % n rows of Fu = colcopy(U,m); % m columns of U
t = X*((f(:,1:m)<u)&(u<= f(:,2:m+1)))';
dquanplot.m Plots as a stairs graph the quantile function for a simple random variable X . The plot is the values of X versus the distribution function F X .
% DQUANPLOT file dquanplot.m Plot of quantile function for a simple rv
% Version of 7/6/95% Uses stairs to plot the inverse of FX
X = input('Enter VALUES for X ');PX = input('Enter PROBABILITIES for X ');
m = length(X);F = [0 cumsum(PX)];XP = [X X(m)];stairs(F,XP)
gridtitle('Plot of Quantile Function')
xlabel('u')ylabel('t = Q(u)')
hold onplot(F(2:m+1),X,'o') % Marks values at jumps
hold off
dsample.m Calculates a sample from a discrete distribution, determines the relative frequencies of values, and compares with actual probabilities. Input consists of value andprobability matrices for X and the sample size n . A matrix U is determined by a random number generator, and the m-function dquant is used to calculate the corresponding sample values. Variousdata on the sample are calculated and displayed.
% DSAMPLE file dsample.m Simulates sample from discrete population
% Version of 12/31/95 (Display revised 3/24/97)% Relative frequencies vs probabilities for
% sample from discrete population distributionX = input('Enter row matrix of VALUES ');
PX = input('Enter row matrix of PROBABILITIES ');n = input('Sample size n ');
U = rand(1,n);T = dquant(X,PX,U);
[x,fr]= csort(T,ones(1,length(T)));
disp(' Value Prob Rel freq')disp([x; PX; fr/n]')ex = sum(T)/n;
EX = dot(X,PX);vx = sum(T.^2)/n - ex^2;
VX = dot(X.^2,PX) - EX^2;disp(['Sample average ex = ',num2str(ex),])disp(['Population mean E[X] = ',num2str(EX),])
disp(['Sample variance vx = ',num2str(vx),])
disp(['Population variance Var[X]= ',num2str(VX),])
quanplot.m Plots the quantile function for a distribution function F X . Assumes the procedure dfsetup or acsetup has been run. A suitable set U of probability values is determined and the m-function dquant is used to determine corresponding values of the quantile function. The results are plotted.
% QUANPLOT file quanplot.m Plots quantile function for dbn function
% Version of 2/2/96% Assumes dfsetup or acsetup has been run
% Uses m-function dquantX = input('Enter row matrix of values ');
PX = input('Enter row matrix of probabilities ');h = input('Probability increment h ');
U = h:h:1;T = dquant(X,PX,U);
U = [0 U 1];
Te = X(m) + abs(X(m))/20;T = [X(1) T Te];plot(U,T) % Plot rather than stairs for general case
gridtitle('Plot of Quantile Function')
xlabel('u')ylabel('t = Q(u)')
Notification Switch
Would you like to follow the 'Applied probability' conversation and receive update notifications?