Fit curve to data with constraints

2 次查看(过去 30 天)
Justin Solomon
Justin Solomon 2012-11-27
I have some function, f(x) that I want to fit to some measured data. Say for example that f(x)=a*x^2+b*x+c. Is there a way to constrain the fit such that f(x)>=0? In other words, any combination of a,b,c that will result in f(x) being negative (within limits of x that I define) I don't want.
Here I have given a simple example where f(x) is just a second order polynomial of one variable. In this simple case above I could set limits on a,b, and c such that f(x)>0, however, the f(x) that I am actually fitting to the data is much more complex. I am currently using the cftool to do the fit. I also have some experience using the fit(), and lsqnonlin(). Any suggestions or ideas?

回答(1 个)

Matt J
Matt J 2012-11-27
编辑:Matt J 2012-11-27
This FEX function claims to be able to provide such constraints, though I haven't verified it first hand
It requires the Optimization Toolbox, however, and it forces you to do the fit using spline models.
  1 个评论
Justin Solomon
Justin Solomon 2012-12-3
Thanks for the suggestion. It looks like this function is only able to do fits with one independent variable. I have several (i.e., f(x1,x2,x3,...). Otherwise, I think this might work.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Get Started with Curve Fitting Toolbox 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by