Post Reply 
Finding quadratic function from two points and known max value
08-31-2017, 12:57 PM
Post: #1
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?
Visit this user's website Find all posts by this user
Quote this message in a reply
08-31-2017, 01:03 PM
Post: #2
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.
Find all posts by this user
Quote this message in a reply
08-31-2017, 01:09 PM
Post: #3
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.
Visit this user's website Find all posts by this user
Quote this message in a reply
08-31-2017, 02:46 PM
Post: #4
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)
Find all posts by this user
Quote this message in a reply
08-31-2017, 05:02 PM
Post: #5
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.
Visit this user's website Find all posts by this user
Quote this message in a reply
08-31-2017, 05:31 PM
Post: #6
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.
Visit this user's website Find all posts by this user
Quote this message in a reply
Post Reply 




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