How do I extract data from MATLAB figures? (some error)

2 views (last 30 days)
I want to extract 'y data' value from a fig file.
I input the following code in Matlab R2018b:
ezplot('y*(0.6326*log(y)+4.419*y + 30.48) - 80*sin(x)^2',[-5 5 -1 4])
>> h= gcf;
axObjs = h.Children
dataObjs = axObjs.Children
x = dataObjs(1).XData
y = dataObjs(1).YData
but I get the value for 'x axis' and 'y axis'. I don't need y axis. I only want to get the value of y date.
No matter what i do i can't make this to work. It's very strange. Any help will be greatly appreciated. Thanks in advance.

Accepted Answer

Ameer Hamza
Ameer Hamza on 7 Oct 2020
Edited: Ameer Hamza on 7 Oct 2020
ezplot() is being depreciated. Also, it generates a contour object, which is not so helpful to extract the data. Use fimplicit instead.
f = fimplicit(@(x, y) y.*(0.6326*log(y)+4.419*y + 30.48) - 80*sin(x).^2, [-5 5 -1 4]);
h= gcf;
axObjs = h.Children;
dataObjs = axObjs.Children;
x = dataObjs(1).XData;
y = dataObjs(1).YData;
  4 Comments

Sign in to comment.

More Answers (0)

Categories

Find more on Graphics Objects in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!