Plotting FRF with imaginary and real numbers

13 visualizzazioni (ultimi 30 giorni)
Hello, I have a file of all the FRF functions of an experiment, and it is computed in complex numbers + real part. I would like to know if it is possible to plot the graphic of it (resulting in the natural frequencies and stuff) only having this data?
it is like this:
-0.0915237963199616 + 0.00000000000000i -0.0666214004158974 - 0.0629538968205452i -0.0647708997130394 - 0.0962110981345177i 0.000384484999813139 - 0.189506992697716i 0.104717001318932 - 0.171706005930901i 0.145686000585556 - 0.117163002490997i 0.148408994078636 - 0.0817890018224716i 0.150115996599197 - 0.0637563988566399i 0.149434000253677 - 0.0457847006618977i 0.151601999998093 - 0.0343611985445023i 0.144703000783920 - 0.0156481992453337i 0.134606003761292 - 0.00748514989390969i 0.119563996791840 - 0.00314980000257492i and so on

Risposta accettata

Star Strider
Star Strider il 19 Ago 2019
I would like to know if it is possible to plot the graphic of it (resulting in the natural frequencies and stuff) only having this data?
It is.
However you also need to have the associated frequency vector if you want to make any sense of it.
  7 Commenti
Star Strider
Star Strider il 14 Set 2019
I actually have no idea, because none of those numbers were in your original question.
Try this:
FRF = [ -0.0915237963199616 + 0.00000000000000i; -0.0666214004158974 - 0.0629538968205452i; -0.0647708997130394 - 0.0962110981345177i; 0.000384484999813139 - 0.189506992697716i; 0.104717001318932 - 0.171706005930901i; 0.145686000585556 - 0.117163002490997i; 0.148408994078636 - 0.0817890018224716i; 0.150115996599197 - 0.0637563988566399i; 0.149434000253677 - 0.0457847006618977i; 0.151601999998093 - 0.0343611985445023i; 0.144703000783920 - 0.0156481992453337i; 0.134606003761292 - 0.00748514989390969i; 0.119563996791840 - 0.00314980000257492i];
Fv = linspace(0, 1, numel(FRF))*8000; % Frequency Vector
figure
plot(Fv, abs(FRF))
grid
xlabel('Frequency')
ylabel('Amplitude')
Fvi = linspace(0, 1, max(Fv)/10)*max(Fv); % New Frequency Vector
FRFi = interp1(Fv, abs(FRF), Fvi, 'pchip'); % Interpolate
figure
plot(Fvi, FRFi)
grid
xlabel('Frequency')
ylabel('Amplitude')
Experiment to get the result you want.
Ana Bianco
Ana Bianco il 16 Set 2019
Sorry about it, but ok, I'll try it! Thanks!

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Vibration Analysis in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by