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

Image Analyst
Image Analyst 2019년 2월 10일
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.
Ahmed Alsaadi
Ahmed Alsaadi 2019년 2월 10일
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?
Ahmed Alsaadi
Ahmed Alsaadi 2019년 2월 10일
Yes, I tried it but I got an error that says
"No appropriate method, property, or field 'XData' for class 'matlab.graphics.axis.Axes'."

댓글을 달려면 로그인하십시오.

 채택된 답변

Star Strider
Star Strider 2019년 2월 10일

0 개 추천

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.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Specifying Target for Graphics Output에 대해 자세히 알아보기

질문:

2019년 2월 10일

답변:

2019년 2월 10일

Community Treasure Hunt

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

Start Hunting!

Translated by