- select the second plot then click "more proprieties" you will find your data in xdata and ydata
- do the same to the third plot
Transfer data from a figure to variable
2 次查看(过去 30 天)
显示 更早的评论
Hi,
I'm using Matlab Simulink to simulate the behavior of a electric circuit.
I obtain the average transfer function by using "averaging spectrum analyzer" block. What i need to do is to obtain the data of this average transfer function. I mean, i want to obtain in a vector x the range of frequency and in a vector y the range of gain.
How can i do it?
Thanks in advanced, Néstor
0 个评论
采纳的回答
Azzi Abdelmalek
2012-9-6
编辑:Azzi Abdelmalek
2012-9-7
open axes proprieties of your figure,then click "more proprieties"
be sur that you select the plot (not only the box)
x=get(gco,'XData');y=get(gco,'YData');
5 个评论
Azzi Abdelmalek
2012-10-27
Néstor, be sur to click on the plot, not just on the windows, you will see your points highlighted. when you are done go to matlab command and write
x=get(gco,'XData');y=get(gco,'YData');
更多回答(1 个)
Robert Cumming
2012-9-7
to do it without interacting with the mouse at all you can get to the data through the children of the axes handle: e.g.
figure;
plot ( magic(10) );
axes_children = get ( gca, 'children' );
axes_lines = findobj ( axes_children, 'type', 'line' );
xdata = get ( axes_lines, 'xdata' )
ydata = get ( axes_lines, 'ydata' )
4 个评论
Robert Cumming
2012-9-7
Ok - I've never used that so wouldn't know... You learn something new everyday :)
另请参阅
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!