生成频率为10Hz、横坐标长度为1的Ricker子波的Matlab代码
时间: 2024-04-08 18:33:23 浏览: 140
雷克子波matlab代码
5星 · 资源好评率100%
下面是生成频率为10Hz、横坐标长度为1的Ricker子波的Matlab代码:
```matlab
function ricker_wave = generate_ricker_wave(freq, duration, dt)
t = -duration/2:dt:duration/2;
t0 = 1 / (pi * freq);
ricker_wave = (1 - 2 * (pi * freq * t).^2) .* exp(-(pi * freq * t).^2);
end
% 设置参数
freq = 10; % 频率为10Hz
duration = 1; % 横坐标长度为1
dt = 1/1000; % 时间步长,这里假设为1ms
% 生成Ricker子波
ricker_wave = generate_ricker_wave(freq, duration, dt);
% 绘制子波
plot(-duration/2:dt:duration/2, ricker_wave);
xlabel('时间');
ylabel('振幅');
title('Ricker子波');
```
以上代码定义了一个`generate_ricker_wave`函数来生成Ricker子波。在主程序中,设置了频率为10Hz,横坐标长度为1秒,时间步长为1毫秒。最后使用`plot`函数绘制生成的Ricker子波。
阅读全文