www.gusucode.com > stats 源码程序 matlab案例代码 > stats/ComputeCumulativeProbabilitiesOverRegionsExample.m

    %% Compute Cumulative Probabilities Over Regions
%

% Copyright 2015 The MathWorks, Inc.


%%
% Since the bivariate normal distribution is defined on the plane, you can
% also compute cumulative probabilities over rectangular regions.

%%
% Compute the probability contained within the unit square, and create a
% contour plot of the results.
mu = [0 0];
Sigma = [.25 .3; .3 1];
x1 = -3:.2:3; x2 = -3:.2:3;
[X1,X2] = meshgrid(x1,x2);
F = mvnpdf([X1(:) X2(:)],mu,Sigma);
F = reshape(F,length(x2),length(x1));

mvncdf([0 0],[1 1],mu,Sigma);
contour(x1,x2,F,[.0001 .001 .01 .05:.1:.95 .99 .999 .9999]);
xlabel('x'); ylabel('y');
line([0 0 1 1 0],[1 0 0 1 1],'linestyle','--','color','k');

%%
% Computing a multivariate cumulative probability requires significantly
% more work than computing a univariate probability. By default, the
% |mvncdf| function computes values to less than full machine precision,
% and returns an estimate of the error as an optional second output.
[F,err] = mvncdf([0 0],[1 1],mu,Sigma)