matlab最大似然估计代码
时间: 2023-07-10 19:19:32 浏览: 57
下面是一个用 MATLAB 实现最大似然估计的示例代码。假设我们有一组观测数据 $X=\{x_1,x_2,...,x_n\}$,服从正态分布 $N(\mu,\sigma^2)$,其中 $\mu$ 和 $\sigma$ 是未知参数。我们要通过最大似然估计来估计这两个参数。
```matlab
% 生成样本数据
mu_true = 2; % 真实的 mu 值
sigma_true = 1; % 真实的 sigma 值
n = 100; % 样本容量
X = normrnd(mu_true, sigma_true, n, 1); % 生成样本数据
% 最大似然估计
mu_hat = mean(X); % mu 的估计值
sigma_hat = std(X); % sigma 的估计值
% 检验参数估计的有效性
figure;
histogram(X, 'Normalization', 'pdf'); % 绘制样本的直方图
hold on;
x = linspace(min(X), max(X), 100);
y = normpdf(x, mu_hat, sigma_hat); % 计算正态分布的概率密度函数
plot(x, y, 'r', 'LineWidth', 2); % 绘制正态分布的概率密度函数
legend('样本直方图', '正态分布');
```
上述代码中,我们首先生成了一组样本数据 $X$,然后通过 MATLAB 的 `mean` 和 `std` 函数来求解最大似然估计的参数值 $\hat{\mu}$ 和 $\hat{\sigma}$。接着,我们用 `histogram` 函数绘制了样本的直方图,并用 `normpdf` 函数计算了正态分布的概率密度函数,最后用 `plot` 函数绘制了正态分布的概率密度函数。通过观察直方图和概率密度函数的趋势,我们可以初步判断参数估计的有效性。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)