Obtain plot for displacement history.
2 次查看(过去 30 天)
显示 更早的评论
Y = fft(diff(strainoption2));
L = size(diff(strainoption2));
L = L(1);
P2 = abs(Y/L);
P1 = P2(1:L/2+1);
P1(2:end-1) = 2*P1(2:end-1);
f = Fs*(0:(L/2))/L;
figure()
plot(f,P1)
回答(1 个)
Divyam
2025-1-2
The approach for obtaining the plot for displacement history in the question is correct. For the sake of clarity I have added descriptions for the plot and checks for the single sided spectrum P1.
% Assuming strainoption2 is defined and Fs is the sampling frequency
strain_diff = diff(strainoption2);
Y = fft(strain_diff);
% Determine the length of the differentiated strain data since data is 1D
L = length(strain_diff);
P2 = abs(Y/L);
P1 = P2(1:floor(L/2)+1);
P1(2:end-1) = 2*P1(2:end-1);
f = Fs * (0:floor(L/2)) / L;
% Plot the single-sided amplitude spectrum
figure();
plot(f, P1);
title('Single-Sided Amplitude Spectrum of Displacement History');
xlabel('Frequency (Hz)');
ylabel('|P1(f)|');
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Filter Analysis 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!