Finding a Program to Fit a Polynomial to Data

Click For Summary
SUMMARY

This discussion focuses on fitting a polynomial to a dataset derived from varying currents (Ix, Iy) and measuring temperature (T). The polynomial model is defined as T = a + b(Ix) + c(Iy) + d(Ix)^4 + e(Iy)^4. The user identifies DataFit from curvefitting.com as a suitable program for fitting multi-variable polynomials. Additionally, the discussion highlights the use of linear algebra to solve for coefficients in polynomial equations, specifically through the method of least squares.

PREREQUISITES
  • Understanding of polynomial functions and their coefficients
  • Familiarity with linear algebra concepts, particularly matrix operations
  • Experience with data fitting software, specifically DataFit
  • Knowledge of extrapolation techniques in data analysis
NEXT STEPS
  • Research the capabilities of DataFit for multi-variable polynomial fitting
  • Learn about the method of least squares in linear algebra
  • Explore polynomial regression techniques in Python using libraries like NumPy and SciPy
  • Study extrapolation methods for predicting values outside the range of observed data
USEFUL FOR

Researchers, data analysts, and engineers involved in experimental data analysis, particularly those working with polynomial modeling and temperature measurements in electrical experiments.

el_hijoeputa
Messages
19
Reaction score
0
Please tell me if some of you know of a way, or program that I can download or use to fit a given polynomial to a set of data.

I have done an experiment in which I varied two currents thru wires (Ix, Iy) and measured the Temperature at a given point (T). The polynomial is known from a model (I still don't know it for sure), but let's say that it is:

T = a+ b(Ix) + c(Iy) + d(Ix)^4 + e(Iy)^4

I need to obtain the value of this polynomial, because the current where measured (Ix from 0 to 8, Iy from 0 to 8), and I need values in the range of Ix=8, Iy=10 (Extrapolate).

Most of the programs I used for data manipulation fit polynomial for 2D curves (only one variable), not surfaces.
 
Physics news on Phys.org
I found a program that does it. DataFit, from http://www.curvefitting.com/

Now I only need to work on the model.

Where and what can I read to solve the problem of obtaining the temperature at a distance from a wire with a current passing thru it?
 


Well, you could try to use linear algebra... let's say you need to fit the points

(5,2,3)
(9,2,4)
(10,-3,7)
(-3,2,6)
(9,8,2)

Suppose your function is in the form

z = Ax + By + C

So, we have three variables, but 5 equations. If you consider the matrix

[tex] M = <br /> \begin{bmatrix}<br /> 5&2&1\\<br /> 9&2&1\\<br /> 10&-3&1\\<br /> -3&2&1\\<br /> 9&8&1<br /> \end{bmatrix}[/tex]

and the matrix

[tex] b = <br /> \begin{bmatrix}<br /> 3\\<br /> 4\\<br /> 7\\<br /> 6\\<br /> 2\\<br /> \end{bmatrix}[/tex]

you'll find that the equation

[tex]Ax = b[/tex]

where

[tex]x = <br /> <br /> \begin{bmatrix}<br /> A\\<br /> B\\<br /> C\\<br /> \end{bmatrix}[/tex]

models the situation in terms of simultaneous equations which we are trying to solve. Now obviously, we can't find A,B,C such that all of these equations are satisfied. So, we will try to find the best values for A,B,C. This works if we solve

[tex]M^T M x = M^T b[/tex]

Note that the left hand side yields a square matrix which is invertible while the right hand side yields a column vector. If we solve this, we get: A = -0.102656, B = -0.454035, C = 6.01481. Thus, this plane best models the given points: Ax + By + C = z, where I just stated the values for A, B, C. Now, a question you may have is, why did I multiply both sides by M transpose? This has to do with the projection of rowspaces onto other subspaces. Read a linear algebra book to find out why :P The cool part about this is you can extend the models to n dimensions and in addition, your models don't necessarily have to be lines, or planes. It could even be something like

[tex]z = Ax^23 - Be^x + C \sin x - D[/tex]
 

Similar threads

Replies
33
Views
6K
  • · Replies 11 ·
Replies
11
Views
3K
  • · Replies 6 ·
Replies
6
Views
2K
Replies
4
Views
2K
  • · Replies 2 ·
Replies
2
Views
1K
  • · Replies 1 ·
Replies
1
Views
1K
  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 6 ·
Replies
6
Views
1K
Replies
86
Views
3K
  • · Replies 3 ·
Replies
3
Views
1K