Cell-Matrix, I can't extract values

2 views (last 30 days)
I have the figure in attached and I need to extract values.
I run this code:
F = openfig('phi_1.fig');
ax = gca;
lines = findobj(ax, 'Type','Line');
for k = 1:numel(lines)
x{1,:} = lines(k).XData;
y{k,:} = lines(k).YData;
end
the problem is that I don't get a vector, but a matrix with other matrix inside and I don't know how to extract the values.
For the x I don't have problems, I type:
time=cell2mat(x);
but for the y I don't know

Accepted Answer

Star Strider
Star Strider on 10 Jan 2021
Change the code slightly to:
F = openfig('phi_1.fig');
ax = gca;
lines = findobj(ax, 'Type','Line');
for k = 1:numel(lines)
x{k} = lines(k).XData; % Force Row Vector
y{k} = lines(k).YData; % Force Row Vector
end
xv = cell2mat(x); % Extract From Cell Array
yv = cell2mat(y); % Extract From Cell Array
[xvs,idx] = sort(xv); % Sort Ascending
yvs = yv(idx); % Sort According To ‘xvs’
figure
plot(xvs, yvs)
grid
That should do what you want.
  3 Comments
Paul Rogers
Paul Rogers on 10 Jan 2021
sorry, it works great, I just recive the error sound and I goot consused, but it works great

Sign in to comment.

More Answers (0)

Categories

Find more on Programming in Help Center and File Exchange

Products


Release

R2014b

Community Treasure Hunt

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

Start Hunting!