How do I extract points from a plot for further computation?

4 visualizzazioni (ultimi 30 giorni)
I have this set of points: (time, voltage). I plotted the data and now I need to pick 2 time points between which I need to make an average of voltage values. I tried using this:
[x,y] = ginput(2)
But it is not getting me time in the x vector. Any suggestion? Thank you for your time and help!
  2 Commenti
Matthew Eicholtz
Matthew Eicholtz il 12 Ott 2017
What is it giving you in the x vector? I just tried it and got what I expected from ginput.
Andreia dos Santos
Andreia dos Santos il 12 Ott 2017
I just got this, for example: [0.750900921658986;1.385002304147465]. I could select anything, even if it was out of the plotted curve...

Accedi per commentare.

Risposta accettata

Matthew Eicholtz
Matthew Eicholtz il 12 Ott 2017
Try using the Brush/Select Data tool. Here's an example...
Generate and plot some random data:
t = 1:1000;
x = randn(size(t))+sin(0.05*t);
plot(t,x);
Now click on the Brush/Select Data tool in the figure:
Draw a rectangle around the data of interest by click-and-drag:
Right-click on the selected data and choose "Create Variable" in the popup menu:
Follow the prompt to name the variable that stores the selected data, and you're good to go. The output in this example would be an Nx2 array in which the first column contains the x-axis data (time) and the second column contains the y-axis data (called x here).
Hope this helps.
  1 Commento
Andreia dos Santos
Andreia dos Santos il 12 Ott 2017
Thank you! I actually needed the variables created by the brush to be further used on a script, but I found a way to make that happen. I named my plot as "f" and after plotting my data, I wrote:
waitfor(f);
Then I used the brush and named the variable created. I closed the plot figure, and the script continued working with the variable created.

Accedi per commentare.

Più risposte (0)

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by