Plotting FRF with imaginary and real numbers
5 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Ana Bianco
am 19 Aug. 2019
Kommentiert: Ana Bianco
am 16 Sep. 2019
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
0 Kommentare
Akzeptierte Antwort
Star Strider
am 19 Aug. 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 Kommentare
Star Strider
am 14 Sep. 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.
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Vibration Analysis finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!