How to determine concavity point?
13 views (last 30 days)
Show older comments
Ali Almakhmari
on 8 May 2023
Edited: John D'Errico
on 8 May 2023
I have a bunch of data that when plotted look similar to this:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1377449/image.jpeg)
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)?
0 Comments
Accepted Answer
John D'Errico
on 8 May 2023
Edited: John D'Errico
on 8 May 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')
[x(ipt),y(ipt)]
hold on
plot(x(ipt),y(ipt),'ro')
0 Comments
More Answers (0)
See Also
Categories
Find more on Annotations in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!