Extract data from MATLAB plots

1 次查看(过去 30 天)
Kash022
Kash022 2016-3-18
回答: Ralf 2016-3-18
Hello All, I have a figure from which I want to extract data. Please see figure. I need to find the average(y-axes values) for the x-axes between 100 and 400 and 700 and 2000. I have started with the following code snippet but how do I move ahead with this?
>> h=gcf;
>> axesObjs = get(h, 'Children'); %axes handles
dataObjs = get(axesObjs, 'Children');
>> objTypes = get(dataObjs, 'Type');
>> xdata=get(dataObjs,'XData');
>> ydata=get(dataObjs,'YData');
>> my_avg = mean(ydata, [100 400]);
Thanks!
  1 个评论
Kash022
Kash022 2016-3-18
I think I figured it out.
y1 = ydata(100:400);
x1= mean(y1);
Hope this is correct? Thanks!

请先登录,再进行评论。

回答(1 个)

Ralf
Ralf 2016-3-18
Hi ksnf3000,
I doubt that this is correct. This would calculate the mean value of ydata between the 100th and 400th data point of ydata.
As far as I understand you want to calculate the mean value of ydata values, when the corresponding xdata values are between 100 and 400.
For this you would need the following
y1 = ydata((xdata>=100) & (xdata<=400));
x1 = mean(y1);

类别

Help CenterFile Exchange 中查找有关 Annotations 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by