Plotting FRF with imaginary and real numbers

10 次查看(过去 30 天)
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

采纳的回答

Star Strider
Star Strider 2019-8-19
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 个评论
Star Strider
Star Strider 2019-9-14
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.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Vibration Analysis 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by