You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何向信号添加噪声未达预期效果?附Matlab代码及异常图

问题分析与修正方案

你的代码存在两个核心问题,直接导致了图像混乱:

  • 维度不匹配:x是行向量(1×801),但r是列向量(801×1)。Matlab中旧版本不支持行、列向量的自动广播相加,会触发维度错误;即使新版本支持广播,也会因维度逻辑不符导致绘图异常。
  • 变量f未定义:代码里使用了频率参数f但没有赋值,Matlab会抛出未定义变量错误,或在残留旧值的环境下生成异常频率的正弦信号,最终导致图像混乱。

修正后的代码

% 先显式定义正弦信号的频率,示例设为1Hz
f = 1;
x = 0:0.005:4;
% 直接用size(x)生成和信号同维度的噪声,避免手动计算出错
r = 0.1.*randn(size(x));
y = 2.5 * sin(2 * pi * f * x);

plot(x, y);
hold on;
plot(x, r + y);
hold off; % 建议添加,避免后续绘图受当前hold状态影响

额外说明

  • 用size(x)替代手动计算长度,能确保噪声向量和信号向量的维度、长度完全匹配,彻底规避维度问题。
  • 必须给f设置具体数值(比如1、2等),正弦信号才能按预期生成。

内容的提问来源于stack exchange,提问作者erzis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 21:40:32