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

如何在Matlab中生成区间[-T/2, T/2]的归一化半正弦波

解决方法

调整时间范围后,原有的正弦表达式不再适配新的区间,需要重新推导波形公式,修改后的完整代码如下:

Rc = 1e3;      
T = 1/Rc;      
Fs = 2e3;      % 采样频率
dt = 1/Fs;
over = Fs/Rc;   % 采样因子 - 2
sps = 10;  
time = -T/2 : dt/sps : T/2;  % 调整时间范围到 [-T/2, T/2]
% 重新推导半正弦波形:将time映射到[0, T]区间,对应角度[0, pi]
half_Sine = sin(pi*(time + T/2)/T).^3; 
figure(1);
plot(time./T, half_Sine, 'b--o');  % 时间轴用 time/T 表示
grid on
xlabel('time/T','FontSize',13); 
ylabel('a(t)','FontSize',13);

关键调整说明:

  • 时间向量:直接设置为-T/2 : dt/sps : T/2,覆盖目标时间范围。
  • 波形表达式:原公式sin(pi*time/(2*T)).^3是基于time∈[0,2T]设计的,对应角度范围[0,pi]。现在通过time + T/2将时间平移到[0,T],再用pi*(...)/T映射到[0,pi],让波形在-T/2处从0开始,到0处达到峰值1,再到T/2处回到0,符合半正弦形态。
  • 时间轴显示:绘图时用time./T作为x轴数据,将时间轴归一化到[-0.5, 0.5],满足要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 23:01:09