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

 채택된 답변

Star Strider
Star Strider 2021년 1월 10일

0 개 추천

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

Paul Rogers
Paul Rogers 2021년 1월 10일
It works for x, but not for y.
y is a different structure I think
Paul Rogers
Paul Rogers 2021년 1월 10일
sorry, it works great, I just recive the error sound and I goot consused, but it works great
Star Strider
Star Strider 2021년 1월 10일
No worries!
Thank you!

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

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Resizing and Reshaping Matrices에 대해 자세히 알아보기

제품

릴리스

R2014b

질문:

2021년 1월 10일

댓글:

2021년 1월 10일

Community Treasure Hunt

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

Start Hunting!

Translated by