首先,我们可以定义简谐振动的参数:

N = 5; % 简谐振动的个数
A_0 = 10; % 振幅
omega = 0.5*pi; % 角频率
delta_phi = pi/3; % 相位差

然后,我们可以创建一个时间向量 t,以及一个初始的位移向量 x,用于存储每个简谐振动的位移值。

t = linspace(0, 2*pi, 1000); % 时间向量
x = zeros(N, length(t)); % 位移向量

接下来,我们使用循环来计算每个简谐振动的位移,并将其累加到总位移向量 x 中。

for i = 1:N
    x(i,:) = A_0*cos(omega*t + (i-1)*delta_phi);
end
x_total = sum(x); % 合振动的位移

最后,我们使用 subplot 函数来创建子图,并绘制每个简谐振动及合振动的 x-t 图。

figure
subplot(N+1, 1, 1)
plot(t, x_total)
xlabel('时间')
ylabel('位移')
title('合振动')
grid on

for i = 1:N
    subplot(N+1, 1, i+1)
    plot(t, x(i,:))
    xlabel('时间')
    ylabel('位移')
    title(['简谐振动 ', num2str(i)])
    grid on
end

运行以上代码,即可在 MATLAB 的命令行窗口中显示多个简谐振动合成后的 x-t 图。每个简谐振动及合振动的图像都包括横坐标注释、纵坐标注释和网格线


原文地址: https://www.cveoy.top/t/topic/h1ro 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录