Steinhart-Hart equation and a dataset

24 views (last 30 days)
Joel22
Joel22 on 29 Oct 2020
Commented: Wilmer Schroer on 4 Feb 2021
I have a set of 21 data points of tempurate(T) and resistance(R). I need to calculate the coefficients for the Steinhart-Hart equation:

Answers (1)

Rishabh Mishra
Rishabh Mishra on 4 Nov 2020
Hi,
Based on your description of the issue, I would like to make some assumptions stated below:
  • R = Column vector consisting resistance values
  • T = Column vector consisting temperature values
  • A,B,C = co-efficient of the equation
Use the code below:
p = polyfit( log(R) , 1./T , 4);
p(4), p(3) & p(1) are the calculated values for A, B & C respectively.
Hope this helps.
  2 Comments
Wilmer Schroer
Wilmer Schroer on 4 Feb 2021
This answer is false. The Steinhart-Hart equation has no 2nd degree polynominal. When you use polyfit, it will fit a curve with the first, second, third and fourth polynominal. The resulting fit is thus not the Steinhart-Hart fit but just a regular 4th degree polynominal fit.
When using polyfit, you should use polyfit(log( R ), 1./T, 3). This is because it calculates N+1 polynomials instead of N (so N has to be three).
Wilmer Schroer
Wilmer Schroer on 4 Feb 2021
I suggest you use the cftool add on and fit a custom function

Sign in to comment.

Categories

Find more on Interpolation in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!