0<=t1<=0.5; 0.15<=t2<=0.35; y1=sin(120*pai*t1); y2=sin(720*pai*t2); y0=y1+y2; 采样点为 1000 个,频率为 2000 写出matlab程序
时间: 2024-12-14 14:16:36 浏览: 5
这是一个关于生成两个正弦波信号并叠加的MATLAB程序示例,采样频率为2000 Hz,共有1000个采样点,并满足给定的时间范围约束。以下是相应的MATLAB代码:
```matlab
% 定义时间范围和采样点
t1 = linspace(0, 0.5, 1000); % t1从0到0.5均匀分布1000个点
t2 = linspace(0.15, 0.35, 1000); % t2从0.15到0.35均匀分布1000个点
% 确保t1和t2的时间范围符合0<=t1<=0.5; 0.15<=t2<=0.35
t1 = t1(t1 >= 0 & t1 <= 0.5);
t2 = t2(t2 >= 0.15 & t2 <= 0.35);
% 定义常数和角度
pi = pi;
freq1 = 120 * pi; % 频率1为120π rad/s (对应于给定的频率120 Hz)
freq2 = 720 * pi; % 频率2为720π rad/s (对应于给定的频率720 Hz)
% 计算每个时间点对应的正弦值
y1 = sin(freq1 .* t1); % y1的计算
y2 = sin(freq2 .* t2); % y2的计算
% 对两个正弦信号求和
y0 = y1 + y2; % y0等于y1和y2的叠加
% 创建时间向量和结果向量
time = linspace(0, 1, length(y0)); % 时间轴从0到1,与2000 Hz采样一致
data = [time'; y0]; % 结果矩阵包含时间和信号值
% 打印结果矩阵(如果需要)
disp(data);
```
运行此代码后,`data`矩阵将包含1000个时间样本对应的`y0`信号。如果需要进一步处理,如绘制图形,可以添加额外的`plot`命令。
阅读全文