Thread Subject:
fitting a monotonic polynomial using fmincon

Subject: fitting a monotonic polynomial using fmincon

From: Anand Anand

Date: 3 Oct, 2010 06:00:22

Message: 1 of 3

I am trying to fit a cubic monotonic polymonial between say certain data values of variable G and corresponding variables for B. My objective function was
f=sum(G-a(1)+a(2)*B+a(3)*B.^2+a(4)*B.^3;);
and the non linear inequality constraints for monotonicity were like
a(3).^2-3*a(2)*a(4)<0;
and a(4)>0 which is -a(4)<0;
Is that all?
Nevertheless, I get a monotonic function but it is so different from the one obtained in the technical paper I am working on.any suggestions?

Subject: fitting a monotonic polynomial using fmincon

From: Matt J

Date: 3 Oct, 2010 13:24:04

Message: 2 of 3

"Anand Anand" <tranand3@gmail.com> wrote in message <i8965m$3rb$1@fred.mathworks.com>...


> My objective function was
> f=sum(G-a(1)+a(2)*B+a(3)*B.^2+a(4)*B.^3;);
===============

If this is actually your function, it would explain why you have problems. If you are attempting a least squares solution, the sum should be squared.

Failing that, email the author and tell him his paper is bogus!


> and the non linear inequality constraints for monotonicity were like
> a(3).^2-3*a(2)*a(4)<0;
> and a(4)>0 which is -a(4)<0;
=======

you might also have a look at this tool to see if it's relevant to you

http://www.mathworks.com/matlabcentral/fileexchange/24443-slm-shape-language-modeling

Subject: fitting a monotonic polynomial using fmincon

From: Roger Stafford

Date: 3 Oct, 2010 18:18:04

Message: 3 of 3

"Anand Anand" <tranand3@gmail.com> wrote in message <i8965m$3rb$1@fred.mathworks.com>...
> I am trying to fit a cubic monotonic polymonial between say certain data values of variable G and corresponding variables for B. My objective function was
> f=sum(G-a(1)+a(2)*B+a(3)*B.^2+a(4)*B.^3;);
> and the non linear inequality constraints for monotonicity were like
> a(3).^2-3*a(2)*a(4)<0;
> and a(4)>0 which is -a(4)<0;
> Is that all?
> Nevertheless, I get a monotonic function but it is so different from the one obtained in the technical paper I am working on.any suggestions?
- - - - - - -
  The constraints a(3).^2-3*a(2)*a(4)<0 and a(4)>0 are requirements that your polynomial be strictly monotone increasing over its enter range from minus infinity to plus infinity. That is a much stricter constraint than merely being monotone increasing over the actual range spanned by the B variable. Are you sure you need such a tight constraint on your polynomial?

  There are at most three values of B at which you need to check for the minimum value of the derivative, a(2)+2*a(3)*B+3*a(4)*B^2, of your polynomial: 1) at the minimum value of B, 2) at the maximum value of B, and 3) at the value B = -a(3)/(3*a(4)) if that is within the B range. If each of these three derivative values is positive, then the polynomial is strictly monotone increasing over the entire B range.

Roger Stafford

Tags for this Thread

Everyone's Tags:

Add a New Tag:

Separated by commas
Ex.: root locus, bode

What are tags?

A tag is like a keyword or category label associated with each thread. Tags make it easier for you to find threads of interest.

Anyone can tag a thread. Tags are public and visible to everyone.

Tag Activity for This Thread
Tag Applied By Date/Time
monotonic polynomi... Anand Anand 3 Oct, 2010 02:04:05
rssFeed for this Thread

Contact us