Finding quadratic function from two points and known max value
08-31-2017, 12:57 PM
Post: #1
 Dave Britten Senior Member Posts: 1,928 Joined: Dec 2013
Finding quadratic function from two points and known max value
I need to work this into a C# program for generating points along an arc, and the math is making me cross-eyed.

Essentially, I know two points on the parabola, I know the y value of the maximum (but not x), and I know that the second derivative is negative, i.e. the coefficient of x^2 is negative. All the typical approaches of treating it as a system of 3 linear equations seem to rely on having three known points, but I've got two, plus an additional equation 2*a*x_3+b=0 where x_3 is unknown.

Is there a straight-forward way of tackling this without pulling a bunch of numeric and matrix libraries into the program?
08-31-2017, 01:03 PM
Post: #2
 grsbanks Senior Member Posts: 1,219 Joined: Jan 2017
RE: Finding quadratic function from two points and known max value
Short answer: nope.

Just like a linear function can be defined with 2 points, a quadratic function needs 3 points to be defined.

The best you can get is a family of functions that pass through the two points you know and have the known maximum.

In the more general case, a polynomial of order n (ax^n+bx^(n-1)+cx^(n-2)...) requires n+1 points and you end up solving a system of n+1 simultaneous equations to get your coefficients.
08-31-2017, 01:09 PM
Post: #3
 Dave Britten Senior Member Posts: 1,928 Joined: Dec 2013
RE: Finding quadratic function from two points and known max value
Well, I've got two points, plus a known maximum value. Intuitively, I think that uniquely defines a parabola, though I could be wrong.
08-31-2017, 02:46 PM
Post: #4
 Nigel (UK) Senior Member Posts: 404 Joined: Dec 2013
RE: Finding quadratic function from two points and known max value
I think that there are two possible solutions, but I could be wrong too!

Let the maximum y-value be $$c$$ and let this occur at $$x=b$$, where $$b$$ is as yet unknown. Then the parabola's equation can be written as
$$y=c-a(x-b)^2,$$
where $$a$$ is another unknown.

We know two points $$(x_1, y_1)$$ and $$(x_2, y_2)$$ on the curve. Substituting these into the equation above gives
\eqalign{y_1=c-a(x_1-b)^2\cr y_2=c-a(x_2-b)^2\cr}.
Rearranging gives
$${x_1-b\over x_2-b}=\pm\sqrt{c-y_1\over c-y_2}.$$
The value of $$b$$ is between $$x_1$$ and $$x_2$$ if the right-hand side is negative and outside this range otherwise; this is where the ambiguity comes in. Since $$c$$, $$y_1$$, and $$y_2$$ are known the right hand side can be computed and a sign chosen; this means that $$b$$ can be found, and then either of the previous equations can be used to give $$a$$.

Is this what you are looking for?

Nigel (UK)
08-31-2017, 05:02 PM
Post: #5
 Dave Britten Senior Member Posts: 1,928 Joined: Dec 2013
RE: Finding quadratic function from two points and known max value
Oh yes, I see what you mean. In the cases I'm dealing with, the x value of the vertex will always lie between the two known points, so that narrows it down to a single possible function.
08-31-2017, 05:31 PM
Post: #6
 Dave Britten Senior Member Posts: 1,928 Joined: Dec 2013
RE: Finding quadratic function from two points and known max value
Yup, right on the money. Just find b with "b = (x2 * sqrt((c - y1)/(c - y2)) + x1) / (sqrt((c - y1)/(c - y2)) + 1)", then find a with "a = (c - y1)/(x1 - b)^2". Then you've got your a, b, and c for the vertex form, and you can calculate y values. Thanks Nigel.
 « Next Oldest | Next Newest »

User(s) browsing this thread: 1 Guest(s)