How to select the starting point of a curve and tare all x, y plot data to this point
32 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Rachel Cahalane
el 5 de Abr. de 2021
Comentada: Rachel Cahalane
el 6 de Abr. de 2021
Hi all,
I am looking to select the starting point of my curve and tare all x,y data to this point.
I tried using the 'findchangepts' function but this doesn't always select the correct point.
Is there an automated function to do this or a way to select the correct point directly from the plot?
T = readtable('sample1.xlsx');
X=T{:,1};
Y=T{:,2};
figure(1)
plot(X, Y)
4 comentarios
Respuesta aceptada
Chad Greene
el 5 de Abr. de 2021
Perhaps you could find the index of the location where the chage in Y exceeds some critical threshold. You'll have to manually tune the threshold, but consider this case:
X = 1:6;
Y = [0 0 0 1 2 3];
plot(X,Y,'o-')
Find the index of the first location where the change in Y begins:
ind = find(gradient(Y)>0.1,1)
That says the curve begins at the third element. Now I'm not sure what you mean by 'tare', but you can subtract the values at the start of the curve to put the origin at zero, like this:
X = X - X(ind);
Y = Y - Y(ind);
plot(X,Y,'o-')
Or you could delete the first values from the arrays:
X(1:(ind-1)) = [];
Y(1:(ind-1)) = [];
plot(X,Y,'o-')
Más respuestas (0)
Ver también
Categorías
Más información sobre 2-D and 3-D Plots 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!