Borrar filtros
Borrar filtros

Extract data from MATLAB plots

2 visualizaciones (últimos 30 días)
Kash022
Kash022 el 18 de Mzo. de 2016
Respondida: Ralf el 18 de Mzo. de 2016
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 comentario
Kash022
Kash022 el 18 de Mzo. de 2016
I think I figured it out.
y1 = ydata(100:400);
x1= mean(y1);
Hope this is correct? Thanks!

Iniciar sesión para comentar.

Respuestas (1)

Ralf
Ralf el 18 de Mzo. de 2016
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);

Categorías

Más información sobre Graphics Object Programming en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by