Interpolation and linear algebra

  • #1
188
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.
 

Answers and Replies

  • #2
NTW
302
26
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.
 
  • #3
SteamKing
Staff Emeritus
Science Advisor
Homework Helper
12,796
1,670
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.
 
  • #4
188
12
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.
 
  • #5
SteamKing
Staff Emeritus
Science Advisor
Homework Helper
12,796
1,670
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.
 
  • #6
188
12
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
 

Related Threads on Interpolation and linear algebra

  • Last Post
Replies
1
Views
28K
  • Last Post
Replies
0
Views
821
  • Last Post
Replies
1
Views
836
Replies
2
Views
766
  • Last Post
Replies
1
Views
1K
  • Last Post
Replies
1
Views
2K
  • Last Post
Replies
1
Views
10K
Replies
13
Views
2K
Top