我在matlab中找不到一个能够获取正态分布均值和标准差并绘制其概率密度函数和累积分布函数的函数。
我担心我下面实现的这两个函数有所遗漏,因为我得到了pdfNormal
的最大值大于1的结果。
function plotNormPDF(u,s,color)
mu = u;
sigma = s;
x = (mu - 5 * sigma) : (sigma / 100) : (mu + 5 * sigma);
pdfNormal = normpdf(x, mu, sigma);
string = 'the maximal pdfNormal is';
string = sprintf('%s :%d', string,max(pdfNormal));
disp(string)
plot(x, pdfNormal/max(pdfNormal),color);
end
对于CDF规范
function plotNormCDF(u,s,color)
mu = u;
sigma = s;
x = (mu - 5*sigma) : (sigma / 100) : (mu + 5*sigma);
pdfNormal = normpdf(x, mu, sigma);
plot(x,cumsum(pdfNormal)./max(cumsum(pdfNormal)),color)
end
以下是同时使用它们的示例:
plotNormCDF(0.2, 0.1,'r')
plotNormPDF(0.2, 0.1,'r')