Extract data from matlab default plots

I have this code that plots the response of a structure to an excitation signal. MATLAB has two functions that do the work, as you may see in my code that I am using those function (modalfrf and modalfit). I want to extract the data in those plots and re-plot them against other variables. My question is "How can I extract the x-axis and y-axis data from those default plots?"
I have attached my code along with two .mat files that are needed to run the code.
Fs = 4000
modalfrf(ex_signal(1:1024) ,ACC,Fs,1000);
[frf,fff] = modalfrf(ex_signal(1:1024),ACC,Fs,1000);
modalfit(frf,fff,Fs,15,'FitMethod','lsrf');

4 Commenti

Why do you need to extract them from the plot when you still have the original data?
If you did, I believe you can ask the axes for the xdata and ydata properties.
MATLAB functions process the data, the output of (modalfrf and modalfit) is different from the input. I need to extract the output of those functions. I tried findobj but it didn't work.
Did you try
ax = gca;
xdata = ax.XData;
or something like that?
Yes, I tried it but I got an error that says
"No appropriate method, property, or field 'XData' for class 'matlab.graphics.axis.Axes'."

Accedi per commentare.

 Risposta accettata

Call it with as many outputs as you need, then use the outputs in your subsequent calculations:
[frf,f,coh] = modalfrf(___)
You can also plot the outputs, or call modalfit separately without outputs to do the plot you want.

Più risposte (0)

Categorie

Scopri di più su Specifying Target for Graphics Output in Centro assistenza e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by