MATLAB Answers

3

How do I get object data from a FIG file, such as X and Y data?

Asked by uncung fgv on 14 Aug 2012
Latest activity Edited by MathWorks Support Team on 9 Nov 2018
i search on matlab searching question but not found it.
I have a graph with a curve. I want to know the Y value from my graph
example X = 10
how to find Y?
thx.

  2 Comments

%example
X = 1:0.1:20;
Y = sin(X);
index = find(X==10);
Y_point = Y(index)
% See graphically
plot(X,Y,X(index),Y_point,'o');
not this what i man, i have no X, Y data. I only have hiperbolic curve in matlab graph/file.

Sign in to comment.

3 Answers

Answer by Julian Laackmann on 14 Aug 2012
Edited by MathWorks Support Team on 9 Nov 2018
 Accepted Answer

Open the figure using “openfig” and return the “Figure” object as an output argument, such as "fig". Then use “fig” to access the underlying objects in the figure.
fig = openfig('MySavedPlot.fig')
For example, if the figure contains a line plot, you might want to get the X and Y data for the line. You can get the X and Y data using the XData and YData properties of the "Line" object. You can access the "Line" object through the "Children" property of the axes. You can access the "Axes" object through the “Children” property of the figure.
ax = fig.Children
ln = ax.Children;
X = ln.XData;
Y = ln.YData;

  3 Comments

my plot in matlab file. actually the curve is hyperbolic. X data is heigh
Y is velocity
so I want to find E=1/2 mv^2.
I have m data it is ok to find one by one Y data. by using Data Cursor. I want find many Y data from this plot.
i mean how to get data from figure file.
So all you have is a .fig file with the saved figure? You have absolutely no way to get the original data that was plotted to make the figure? There are submissions in the File Exchange to help you digitize values off a picture, such as http://www.mathworks.com/matlabcentral/fileexchange/36904-matlab-script-for-digitizing-a-published-graph

Sign in to comment.



Answer by asma chaudhry on 11 Sep 2018

Use Matlab's data cursor to find the first intersection of the line y=x with the graph of y=tan(x) in the first quadrant. Enter your answer as a decimal with 3 decimal places

  0 Comments

Sign in to comment.