How to determine concavity point?

5 visualizaciones (últimos 30 días)
Ali Almakhmari
Ali Almakhmari el 8 de Mayo de 2023
Editada: John D'Errico el 8 de Mayo de 2023
I have a bunch of data that when plotted look similar to this:
I want to know how I can use MATLAB to determine the corner or vertex or sometimes called concavity point (there are two in this plot that I have, one in the red data and one in the blue data)?

Respuesta aceptada

John D'Errico
John D'Errico el 8 de Mayo de 2023
Editada: John D'Errico el 8 de Mayo de 2023
You give no data, so I'll need to make some up for an example.
x = linspace(-30,30,500);
y = cumsum((atan(x - 10)/2 + 1));
plot(x,y)
grid on
So a simple enough curve. Can we locate the point where there is a change? As long as the stride between points is constant, then a tool like findchangepts might help.
ipt = findchangepts(y,'Stat','linear')
ipt = 331
[x(ipt),y(ipt)]
ans = 1×2
9.6794 88.9733
hold on
plot(x(ipt),y(ipt),'ro')

Más respuestas (0)

Categorías

Más información sobre Surface and Mesh Plots en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by