Obtain plot for displacement history.
2 views (last 30 days)
Show older comments
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)
Answers (1)
Divyam
on 2 Jan 2025
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 Comments
See Also
Categories
Find more on Filter Analysis in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!