Chris thank you for the forum etiquette reminder. The posts were fast given we we had discovered the algo at the exact same time i replied and implemented it in code, i've attached our algo. i think you might be on to something as far as making it a scaling variable that can change as the flight conditions change.
using System; namespace Quad.Net.Commons.Utilities { public class Scale { private readonly double[] _coefficients; private readonly double _offset; public Scale(double offset, params double[] coefficients) { _coefficients = coefficients; _offset = offset; } public double Calculate(double value) { double output = 0; for (int i = 0; i < _coefficients.Length; i++) { output += Math.Pow(value + _offset, i) * _coefficients[_coefficients.Length - i - 1]; } return output; } } } namespace Quad.Net.Tests { [TestFixture] public class ScaleTests { [Test] public void TestQuadratics() { Scale scale = new Scale(-1500, 0.0000008, 0, 0, 0); Assert.AreEqual(scale.Calculate(1000),-100); } } }