MATLAB: Determining polynomial coefficients by known derivatives


Hello community, I'm trying to create a cubic polynomial function, I know these: y(0)=1 y(30)=0.5 dy(0)/dx=-1 dy(30)/dx=-1 Can I determine the values for coefficients ?

Best Answer

  • Yes. Just in case this is homework, I will give an example to get you started.
    Let's say you have the case below (I will start with the case where we do not have derivatives at a location).
    We are trying to solve for A, B, and C
    y(x) = A*x^2 + B*x + C
    x1 = 0; y1 = 1;
    x2 = 3; y2 = 6;
    x3 = 7; y3 = 7;
    So we can construct an inverse problem of the form G * m = d, where:
    G = [x1^2,x1,1; x2^2,x2,1; x3^2,x3,1];
    d = [y1; y2; y3];
    We determine m (equal to [A; B; C] in our example) by:
    m = G\d;
    And we get:
    plot(-1:10,polyval(m,-1:10),'r-', [x1,x2,x3],[y1,y2,y3],'k+')