How to do curve fitting on data with inflection point?

조회 수: 14 (최근 30일)
Benjamin
Benjamin 2021년 1월 14일
댓글: Benjamin 2021년 1월 15일
Hello
Dear experts,
I have a scatter plot of data of x and y and I need to fit a curve on them. However, it is obvious that there is no function that can fit the whole range of these data (blue line of the attached picture). So, I need to fit two curves (dashed red line): one is on the data that are less than the inflection point (yellow point), and one for data that are larger than the inflection point. The inflection point can visually be guessed as 0.25, but is there any way that I can calculate the inflection point from the original scatter plot?
Note that I know how to do the curve fitting, and my question is only regarding the inflection point.
Hope this is the appropriate forum to ask this question.
Thank you very much.
  댓글 수: 1
Adam Danz
Adam Danz 2021년 1월 14일
편집: Adam Danz 2021년 1월 14일
Why not fit the entire curve to a sigmoid and then extract values less than or greater than x=.25?
Alternatively, but inferior to the suggestion above, would be to separate the curves first and then fit each half to a sigmoid but I can't imagine it would be as good of a fit as fitting the full curve.

댓글을 달려면 로그인하십시오.

채택된 답변

Cris LaPierre
Cris LaPierre 2021년 1월 14일
편집: Cris LaPierre 2021년 1월 14일
Why do you think there is no equation that can fit this data? This looks like a sigmoid E max model to me. A similar shape is obtained from the Hill equation, too.
Here's a simple example using the Hill equation and trying to match your curve.
mx = 0;
mn = 1;
ec50 = 0.25;
n=5;
x=0:.01:1;
y = mn + (mx-mn)*ec50^n./(ec50^n+x.^n);
plot(x,y)
grid on
  댓글 수: 6
Cris LaPierre
Cris LaPierre 2021년 1월 14일
It is possible to numerically integrate it. I'll leave it to others to propose a closed-form solution.
Define your x values, calculate the corresponding y values, and use trapz to numercally integrate.
ec50 = 0.25;
n=5;
x=0:.01:1;
y = 1-ec50^n./(ec50^n+x.^n);
A = trapz(x,y)
A = 0.7330
Benjamin
Benjamin 2021년 1월 15일
Thanks Cris. I was able to numerically integrate the Hill function, then I fitted a curve on the integration results and by doing so, I was able to find a closed-form solution.
Your help is appreciated.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Linear and Nonlinear Regression에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by