如何使用MATLAB编程生成两组相互独立,具有零均值和单位方差的高斯信号?
时间: 2024-12-18 18:19:40 浏览: 9
在MATLAB中,你可以使用内置的`mvnrnd`函数来生成多维正态分布的随机数,该函数可以生成具有给定均值向量和协方差矩阵的随机数组。为了生成两组独立的、具有零均值和单位方差的高斯信号,你只需要设置单维,即一维均值为0,一维方差为1。
以下是步骤:
```Matlab
% 设定生成的样本数量
num_samples = 1000;
% 创建一个单元矩阵作为每个信号的方差
covariance = eye(1); % 单位方差,对角线元素为1
% 分别生成第一组和第二组独立的高斯序列
signal1 = mvnrnd(zeros(1, 1), covariance, [1, num_samples]); % 零均值,单位方差
signal2 = mvnrnd(zeros(1, 1), covariance, [1, num_samples]); % 同样条件
% 确保信号是以列向量形式存储的
signal1 = signal1';
signal2 = signal2';
% 检查信号的均值和方差
disp(['Mean of first signal: ', num2str(mean(signal1))]);
disp(['Variance of first signal: ', num2str(var(signal1))]);
% 显示信号图形
figure;
subplot(2, 1, 1);
plot(signal1, '-o', 'LineWidth', 1.5);
title('Independent Gaussian Signal 1');
xlabel('Index');
ylabel('Amplitude');
subplot(2, 1, 2);
plot(signal2, '-o', 'LineWidth', 1.5);
title('Independent Gaussian Signal 2');
xlabel('Index');
ylabel('Amplitude');
阅读全文