高斯函数计算。编写一个 MATLAB 函数,计算给定向量x处高斯分布 (m,S)的值。MATLAB代码
时间: 2024-10-12 14:05:57 浏览: 33
在MATLAB中,你可以创建一个函数来计算给定向量 `x` 和高斯分布的参数 `(m, S)` 的值。高斯分布,也称为正态分布,其数学表达式为:
\[ f(x; m, S) = \frac{1}{\sqrt{2\pi S^2}} e^{-\frac{(x - m)^2}{2S^2}} \]
其中,`m` 是均值,`S` 是标准差。
以下是一个简单的MATLAB函数来实现这个计算:
```matlab
function pdf = gaussian_pdf(x, m, S)
% GAUSSIAN_PDF 计算向量x在高斯分布(m, S)下的概率密度函数值
% 输入:
% x: 待评估的向量
% m: 平均值
% S: 标准差
% 检查输入是否合法
if nargin < 2 || nargin > 3
error('Invalid input! Please provide at least m and S.');
end
% 如果只提供m,假设标准差为0(单点分布)
if nargin == 2
S = 0;
end
% 应用高斯公式
pdf = 1 ./ sqrt(2 * pi * S^2) .* exp(-((x - m).^2) / (2 * S^2));
end
```
使用此函数的例子:
```matlab
x_values = -5:0.1:5; % 创建一组x值
m = 0; % 均值
S = 1; % 标准差
pdf_values = gaussian_pdf(x_values, m, S);
disp(pdf_values); % 显示每个x值对应的PDF值
```
阅读全文