Cell-Matrix, I can't extract values

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

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

It works for x, but not for y.
y is a different structure I think
sorry, it works great, I just recive the error sound and I goot consused, but it works great
No worries!
Thank you!

Sign in to comment.

More Answers (0)

Categories

Products

Release

R2014b

Community Treasure Hunt

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

Start Hunting!