Interpolation and linear algebra

Click For Summary

Discussion Overview

The discussion revolves around the interpolation of data points related to air resistance on a projectile at various velocities. Participants explore the use of polynomial interpolation, specifically comparing higher-degree polynomials to lower-degree ones, and the implications of their choices on accuracy and computational stability.

Discussion Character

  • Exploratory
  • Technical explanation
  • Debate/contested
  • Mathematical reasoning

Main Points Raised

  • One participant describes a method using a sixth-degree polynomial for interpolation based on six data points, yielding a force estimate of 6483.83 lbs at 750 fps.
  • Another participant suggests that using a smaller polynomial, such as a third-degree polynomial, could provide a good approximation while considering only the last four data points.
  • Concerns are raised about the reliability of high-degree polynomials, with one participant noting that they can lead to round-off errors and oscillation issues.
  • Some participants express the idea that smaller coefficients in higher-degree polynomials might indicate that a lower-order polynomial could suffice for interpolation.
  • One participant plans to graph the cubic polynomial and compare it with the fifth-degree polynomial to assess their performance visually.

Areas of Agreement / Disagreement

Participants express differing opinions on the appropriateness of using higher-degree polynomials versus lower-degree ones for interpolation. There is no consensus on which approach is definitively better, and the discussion remains unresolved regarding the optimal polynomial degree for this specific data set.

Contextual Notes

Participants highlight potential issues with polynomial interpolation, such as the effects of degree on accuracy and stability, but do not resolve the mathematical implications of these choices.

mafagafo
Messages
188
Reaction score
12

Homework Statement


As a string in my program.

Homework Equations


Solving a system with the forward phase of row echelon reduction and a consecutive back substitution.
All done by numpy here. (The book suggested MATLAB, etc).

The Attempt at a Solution


Python:
import numpy

""" In a wind tunnel experiment, the force on a projectile due to air
resistance was measured at different velocities:
Velocity (100 ft/sec) 0 2.00 4.00 6.00 8.00 10.00
Force (100 lb)        0 2.90 14.8 39.6 74.3 119.0
Find an interpolating polynomial for these data and estimate the force on the
projectile when the projectile is traveling at 750 ft/sec.
Use p(t) = a0 + a1*t + a2*t^2 + a3*t^3 + a4*t^4 + a5*t^5.
What happens if you try to use a polynomial of degree less than 5?
(Try a cubic polynomial, for instance.)
"""

make_row_for_t = lambda t: [t ** n for n in range(6)]

A = numpy.array([make_row_for_t(t * 100) for t in range(0, 11, 2)])
B = numpy.array([[n] for n in [0, 290, 1480, 3960, 7430, 11900]])

coefficients = numpy.linalg.solve(A, B)

p = numpy.polynomial.Polynomial(coefficients.flatten())

print_p = lambda x: print("{:<8} = {}".format("p(" + str(x) + ")", p(x)))

for n in range(0, 1100, 200):
    print_p(n)

print_p(750)

Code:
p(0)     = 0.0
p(200)   = 290.0000000000015
p(400)   = 1480.0000000000023
p(600)   = 3960.0000000000036
p(800)   = 7430.000000000004
p(1000)  = 11900.00000000001
p(750)   = 6483.837890625005

Did it work? Yes. (Just get the python3 and python3-numpy packages under Linux and it should run in your machine too.)

The book does not have the answer, but mine seems OK, I wanted to get some review on what I did as I am new to numpy and interpolation and thought I would get some useful advice or even corrections.
 
Physics news on Phys.org
The interpolation requires a polynomial in x5, as you have six data points. For 750 fps, you get 6483,83 lbs

With a smaller polynomial, and if you want to consider all the points, you would have to conform yourself with a best-fit (that, in this case, is quite good with a third-degree polynomial...).Since you are asked for the resistance at 750 fps, the sensible thing to do, in my opinion, is to take the last four points and to obtain the interpolation, third-degree polynomial.
 
Very few things are interpolated well using polynomials higher than third order. You fight round-off errors and then the polynomial will want to oscillate. Most data interpolate quite well with either parabolas or cubics.
 
Interesting. Thank you for the answers, will have a somewhat decent graph of the cubic soon. Maybe will compare it with the fifth degree polynomial. My first thought was that really small coefficients and bigger polynomials would just make the interpolation more and more accurate.
 
mafagafo said:
Interesting. Thank you for the answers, will have a somewhat decent graph of the cubic soon. Maybe will compare it with the fifth degree polynomial. My first thought was that really small coefficients and bigger polynomials would just make the interpolation more and more accurate.

If the coefficients of the higher powers of your interpolating polynomial are really small, that can also be an indication that a lower order polynomial will interpolate the data just fine.
 
NTW said:
The interpolation requires a polynomial in x5, as you have six data points. For 750 fps, you get 6483,83 lbs

With a smaller polynomial, and if you want to consider all the points, you would have to conform yourself with a best-fit (that, in this case, is quite good with a third-degree polynomial...).Since you are asked for the resistance at 750 fps, the sensible thing to do, in my opinion, is to take the last four points and to obtain the interpolation, third-degree polynomial.
p(t) = 2.0833e-07*t^3 + 0.012*t^2 + 0.24167*t^1 - 550 // using the last 4 points.
p(t) = 0.0125*t^2 - 0.15*t^1 - 450 // using the last 3 points.
Nice that the graphics (in the region of interest) almost coincide.
upload_2014-12-4_0-12-20.png
 

Similar threads

  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 24 ·
Replies
24
Views
4K
  • · Replies 3 ·
Replies
3
Views
3K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 15 ·
Replies
15
Views
2K
Replies
8
Views
2K
Replies
9
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 21 ·
Replies
21
Views
3K
  • · Replies 9 ·
Replies
9
Views
2K