Polynomial approximation to find function values

AI Thread Summary
To find the constants a and b from the given temperature and resistance data, the approach involves taking the natural logarithm of the resistance equation R = a * e^(b/T). By plotting ln(R) against 1/T, a linear relationship can be established, where the slope corresponds to b and the y-intercept relates to ln(a). The MATLAB "polyfit" function can be used to obtain polynomial coefficients, which can then be interpreted to derive values for a and b. Specifically, the output of polyfit provides coefficients that can be used to identify ln(a) and b through further calculations. Ultimately, this method allows for a clear determination of the constants needed for the original equation.
Maxo
Messages
160
Reaction score
1

Homework Statement


If we have the following data

Code:
T = [296 301 306 309 320 333 341 349 353];
R = [143.1 116.3 98.5 88.9 62.5 43.7 35.1 29.2 27.2];
(where T = Temperature (K) and R = Reistance (Ω) and each temperature value corresponds to the resistor value at the same position)

Homework Equations


We know that
R=a \cdot e^{b/T}
The question of the problem is the following: How can we, from these data and the given equation, find the values of the constants a and b?

The Attempt at a Solution


In the assignment it is suggested one draws a diagram that shows ln(R/Ω) as a function of 1/T and then use MATLAB "polyfit" function which gives a polynom approximation of this line and then use that polynom to find the values of a and b.

I have used the polyfit function in MATLAB to get a polynom approximation, but how does that polynom give me the constants a and b?
 
Last edited:
Physics news on Phys.org
Polyfit outputs polynomial coefficients, so I think what you'd have to do is plot ln(R) = ln(a) + b/T, and look for b = 0. Now you will know what value a is. From there, divide your polyfit matrix by a, and you will have the coefficients to the power series of eb/T. With the power series representation, you may have to do some approximating to find a value for b, but I would imagine the coefficients won't change much after the second order term.
 
So MATLAB gives me this polynomial:

Code:
1.0e+03 * 

3.0412   -0.0053
which I assume means the same as a polynomial like
y=10^{3}\cdot 3.0412x-0.0053 = 3041.2x - 5.3
I assume then, that -5.3 is the value of ln(a)?

If I divide then the polynomial with -5.3 I get the following matrix:
Code:
[-0.0018    1.0000]
Correct so far?

If so I wonder what does it means that these are the coefficients for the power series of e^(b/T)? I guess that should be a Maclaurin or Taylor series? How can I determine b from such a series?
 
We know that
R=a⋅eb/T

The question of the problem is the following: How can we, from these data and the given equation, find the values of the constants a and b?
If I were in your position, I would take logarithms of both sides of that equation, and plot a graph of your data. The y-intercept and the slope lead you to values for a and b. You will then know the approximate values for those constants, and can recognize when MATLAB is giving you nonsense.
 
Maxo said:
I assume then, that -5.3 is the value of ln(a)?
Right (I'd go with at least 3 significant figures).

You'd like to fit your data to:
<br /> \ln(R) = b \frac{1}{T} + \ln(a)<br />
and MATLAB has provided you with:
<br /> \ln(R_\mathrm{fit}) = p_1 \frac{1}{T} + p_2<br />
You're basically done at this point. How does ##p_1## and ##p_2## relate to ##b## and ##a##, respectively?
 
Thanks, that's how I figured also. Onwards
 
Back
Top