优秀的编程知识分享平台

网站首页 > 技术文章 正文

用MATLAB拟合正态分布(matlab拟合正态分布函数)

nanyue 2024-08-31 23:56:16 技术文章 17 ℃

在MATLAB中,可以使用 normfit 函数来拟合一组数据到一个正态分布。normfit 函数会提供正态分布的参数估计,包括均值(mean)和标准差(standard deviation)。以下是一个使用normfit函数的简单例子:


假设有一组数据data

data = randn(1000,1); 生成一个标准正态分布的随机样本数据

使用normfit函数拟合正态分布

[mu, sigma] = normfit(data);

显示拟合得到的均值和标准差

disp(['均值 = ', num2str(mu)]);

disp(['标准差 = ', num2str(sigma)]);

可以使用normpdf函数生成拟合的正态分布的概率密度函数(PDF)值

x = linspace(min(data), max(data), 100);

pdf_fitted = normpdf(x, mu, sigma);

绘制原始数据的直方图和拟合得到的正态分布曲线

histogram(data, 30, 'Normalization', 'pdf'); 数据的PDF直方图

hold on; 保持图像,以便在同一图上绘制

plot(x, pdf_fitted, 'r', 'LineWidth', 2); 绘制拟合的正态分布曲线

hold off; 释放图像


在上述代码中,randn 函数生成了一个标准正态分布的随机样本。在实际操作中,可以使用自己的数据集替换data变量。normfit函数返回数据集的均值mu和标准差sigma,是正态分布的参数。

我们可以用normpdf函数和这些参数来生成拟合的正态分布的PDF,并将其与原始数据的直方图一起绘制出来。

需要注意的是,确保在使用这些函数之前,的MATLAB环境中已经安装了统计和机器学习工具箱,因为normfit函数是这个工具箱的一部分。

最近发表
标签列表