-2

大家好,我想从图中找到所有点并将其保存在数组中

例如我有这个图我想要从线的开头到结尾的所有点

% Drawing a Trajectory
prompt={'Enter The Number Of Lines:'};  % Enter statements at the Command Window to accept input from you.
title='Draw Line '; % Name the Command Window
n=inputdlg(prompt); % Create and open input dialog box
A = sscanf(n{1}, '%d'); % Convert from String to Int
[x,y] = ginput(A); % Graphical input from mouse or cursor
plot(x,y)
posth = [x,y];  % Save 'x' and 'y' as Array 
4

1 回答 1

1

如果您想在事后仅获得情节,在这种情况下,您可以执行以下操作xy

line_handles = get(gca,'Children');
x = get(line_handles,'XData');
y = get(line_handles,'YData');

其中gca指的是当前图形的当前轴(您可以将其替换为图的句柄h, 即,将您的代码更改为h = plot(x,y))。如果只有一行,x并且y将是向量。如果有多行,它们将是元胞数组。

您还可以通过以下方式输出xy同时作为单元阵列:

xy = get(get(gca,'Children'),{'XData','YData'});

在哪里

x = xy{1,:};
y = xy{2,:};
于 2013-07-08T21:21:43.180 回答