How to find the curvature of a surface plot?

8 views (last 30 days)
I made a surface plot that look like the screenshot below. I want to evaluate the curvature of the top region. The view showed here is a tilted one. If I put in view(0,90), it will look like the second picture attached.. That is the surface where I want to evaluate the curvature. The curve it too small as it is visible... But I want a way to quantify this curve. Is there any way like, put a line diagonally through the surface on view(0,90) and evaluate the curve?
surf(X,Y, Data)
colormap jet;
colorbar
view(0,90)

Accepted Answer

Image Analyst
Image Analyst on 24 Jun 2022
Youi have to define where the "top part" is, particularly if the whole thing is curved, just to a greater or lesser degree. Is it rotationally symmetric? How about if you just thresholded at some level, like 95% of the max value and took a profile through that and then fit it to a quadratic function? Or if you wanted the sharpenss/curvature of the "edge" you can fit a cross section to a sigmoid function like the rate equation (demo attached).
  2 Comments
aneps
aneps on 24 Jun 2022
top part, I mean, the surface plot view (0,90) as it is shown in the second screenshot. It is rotationally symmetric.
Thanks for the suggestion. I will learn the demo you attached and will try my best if I can do it. There is a problem for me in the demo you attached that I dont have machine learning toolbox. 'fitnlm' requires machine learning tool box. Will research if there is an alternative way. If you have any suggestion, that would be so helpful. Thank you.
Image Analyst
Image Analyst on 25 Jun 2022
I'm not sure you need to fit to a sigmoid shape anyway. Why can't you just take a profile after the surface has bent over and started to flatten out?
And you keep forgetting to attach your data, probably because you never read the posting guidelines :

Sign in to comment.

More Answers (0)

Products


Release

R2019b

Community Treasure Hunt

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

Start Hunting!