Obtain plot for displacement history.

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)

Réponses (1)

Divyam
Divyam le 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)|');

Catégories

En savoir plus sur Fourier Analysis and Filtering dans Centre d'aide et File Exchange

Produits

Version

R2020a

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by