using System.Collections.Generic;
public static void Main()
List<double> resistanceErrors = new List<double>();
List<double> temperatureErrors = new List<double>();
var celsisuRange = Enumerable.Range(0, 30000);
var testCelsius = celsisuRange.Select(c => c/1000d);
foreach (var c in testCelsius) {
var r = CalculateResistance(k);
var k1 = CalculateKelvins(Math.Round(r));
temperatureErrors.Add(Math.Abs(c1-c));
Console.WriteLine("Min: " + temperatureErrors.Min());
Console.WriteLine("Max: " + temperatureErrors.Max());
Console.WriteLine("Average temperature error: " + temperatureErrors.Average());
private const int b = 3380;
private const double rInf = 0.11929d;
public static double CalculateKelvins(double resistance)
return b / Math.Log(resistance / rInf);
public static double CalculateResistance(double kelvins)
return rInf * Math.Exp(b / kelvins);