matlab高斯函数信号代码
时间: 2023-09-12 18:13:22 浏览: 97
下面是一个简单的 MATLAB 高斯函数信号代码示例:
```matlab
% 生成高斯函数信号
t = linspace(-1, 1, 1000); % 时间向量
f = 5; % 信号频率
sigma = 0.1; % 高斯函数标准差
x = exp(-(t.^2)/(2*sigma^2)) .* cos(2*pi*f*t);
% 绘制信号图像
plot(t, x);
title('高斯函数信号');
xlabel('时间');
ylabel('幅度');
```
这段代码首先使用 `linspace` 函数生成一个时间向量 `t`,然后设置了信号频率 `f` 和高斯函数标准差 `sigma`。接着,使用高斯函数和余弦函数生成了高斯函数信号 `x`。最后,使用 `plot` 函数绘制了信号图像,并设置了标题和坐标轴标签。
相关问题
matlab 输出高斯函数信号
在MATLAB中,可以使用`gaussmf`函数来输出高斯函数信号。该函数的语法如下:
`y = gaussmf(x, [sigma, mean])`
其中,`x`为输入向量,`sigma`为高斯函数的标准差,`mean`为高斯函数的均值。函数返回一个与`x`相同的向量`y`,其元素值为对应位置上的高斯函数值。
以下是一个输出高斯函数信号的示例代码:
```matlab
x = -5:0.1:5; % 定义输入向量
sigma = 1; % 定义标准差
mean = 0; % 定义均值
y = gaussmf(x, [sigma, mean]); % 输出高斯函数信号
plot(x, y); % 绘制高斯函数曲线
```
运行该代码,将会绘制出一个标准差为1、均值为0的高斯函数曲线。可以根据需要修改`sigma`和`mean`的值,以输出不同的高斯函数信号。
matlab高斯分布函数代码
在MATLAB中,你可以使用内置函数`normpdf()`或`mvnpdf()`来生成高斯(正态)分布的概率密度函数值。以下是基本的单变量高斯分布的代码示例:
```matlab
% 定义均值(mu)和标准差(sigma)
mu = 0; % 高斯分布的中心点
sigma = 1; % 分布的标准偏差
% 给定一些x值,计算其对应的高斯概率密度
x_values = -5:0.1:5; % 可以自定义x的范围
y_values = normpdf(x_values, mu, sigma); % 使用normpdf计算概率密度
% 可视化结果
figure;
plot(x_values, y_values, 'LineWidth', 2);
xlabel('x');
ylabel('PDF');
title(['单变量高斯分布 (μ = ', num2str(mu), ', σ = ', num2str(sigma), ')']);
```
对于多变量高斯分布(多元正态分布),可以使用`mvnpdf()`函数,它接受一个矩阵X和一个对角协方差矩阵Sigma作为输入:
```matlab
% 设定二维随机变量的均值向量和协方差矩阵
mu = [0; 0]; % 坐标系原点
Sigma = [1 0; 0 1]; % 单位正交矩阵,表示两个变量独立
% 同样定义x矩阵并计算概率密度
x_samples = [-2:0.1:2; -2:0.1:2]; % 二维网格上的样本点
y_values = mvnpdf(x_samples, mu, Sigma);
% 可视化二维高斯分布
imagesc(x_samples(1,:), x_samples(2,:), y_values);
colorbar;
xlabel('\(\mu_1\)');
ylabel('\(\mu_2\)');
title('二维高斯分布');
```
阅读全文