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 Center および File ExchangeAnnotations についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by