<< Chapter < Page | Chapter >> Page > |
We use the term m-function to designate a user-defined function as distinct from the basic MATLAB functions which are part of the MATLAB package. For example,the m-function minterm produces the specified minterm vector. An m-procedure (or sometimes a procedure ) is an m-file containing a set of MATLAB commands which carry out a prescribed set of operations. Generally, these will prompt for (or assume) certain data upon whichthe procedure is carried out. We use the term m-program to refer to either an m-function or an m-procedure.
In addition to the m-programs there is a collection of m-files with properly formatted data which can be entered into the workspace by calling the file.
Although the m-programs were written for MATLAB version 4.2, they work for versions 5.1, 5.2, and 7.04. The latter versions offer some new features which may make more efficientimplementation of some of the m-programs, and which make possible some new ones. With one exception (so noted), these are not explored in this collection.
Utilization of MATLAB resources is made possible by a systematic analysis of some features of the basic probability model. In particular, the minterm analysis oflogical (or Boolean) combinations of events and the analysis of the structure of simple random variables with the aid of indicator functions and minterm analysisare exploited.
A number of standard features of MATLAB are utilized extensively. In addition to standard matrix algebra, we use:
a, b
are matrices of the same size, then
a.*b
is the matrix obtained
by multiplying corresponding elements in the two matrices to obtain a new matrix ofthe same size.A = ones(size(A)).*A
,One of the most useful is a special sorting and consolidation operation implemented in the m-function csort . A standard problem arises when each of a non distinct set of values has an associated probability. To obtain the distribution, it is necessary to sort the values and add the probabilities associated with each distinct value. Thefollowing m-function achieves these operations: function [t,p]= csort(T,P). T and P are matrices with the same number of elements. Values of T are sorted and identical values are consolidated; values of P corresponding to identical values of T are added. A number of derivative functions and procedures utilize csort. The following twoare useful.
function [t,p] = csort(T,P)% CSORT [t,p] = csort(T,P) Sorts T, consolidates P% Version of 4/6/97
% Modified to work with Versions 4.2 and 5.1, 5.2% T and P matrices with the same number of elements
% The vector T(:)' is sorted:% * Identical values in T are consolidated;
% * Corresponding values in P are added.T = T(:)';
n = length(T);[TS,I] = sort(T);d = find([1,TS(2:n) - TS(1:n-1)>1e-13]); % Determines distinct valuest = TS(d); % Selects the distinct values
m = length(t) + 1;P = P(I); % Arranges elements of P
F = [0 cumsum(P(:)')];
Fd = F([d length(F)]); % Cumulative sums for distinct values
p = Fd(2:m) - Fd(1:m-1); % Separates the sums for these values
Notification Switch
Would you like to follow the 'Applied probability' conversation and receive update notifications?