Exemple #1
0
 public void MakeFitEfficiency(Wave[] waves)
 {
     try
     {
         var fitCoeff = MathNet.Numerics.Fit.Polynomial(waves.Where(w => w.Efficiency != 0).Select(w => w.lambda).ToArray(),
                                                        waves.Where(w => w.Efficiency != 0).Select(w => w.Efficiency).ToArray(), 2);
         m_EfficiencyFit = new ApproxymationCurve()
         {
             isExist = true,
             a       = fitCoeff[2],
             b       = fitCoeff[1],
             c       = fitCoeff[0]
         };
     }
     catch
     {
         m_EfficiencyFit = new ApproxymationCurve()
         {
             isExist = false
         };
     }
 }
Exemple #2
0
 public void MakeFitMagnification(Wave[] waves)
 {
     try
     {
         var fitCoeff = MathNet.Numerics.Fit.Polynomial(waves.Where(w => !double.IsNaN(w.Magnification)).Select(w => w.lambda).ToArray(),
                                                        waves.Where(w => !double.IsNaN(w.Magnification)).Select(w => w.Magnification).ToArray(), 2);
         m_MagnificationFit = new ApproxymationCurve()
         {
             isExist = true,
             a       = fitCoeff[2],
             b       = fitCoeff[1],
             c       = fitCoeff[0]
         };
     }
     catch
     {
         m_MagnificationFit = new ApproxymationCurve()
         {
             isExist = false
         };
     }
 }