public void NewtonGaussFit(Comb.mzI[] experimentalData, Comb.mzI[] intensities, int charge, double deltaR, fitDataStrt initialParams) { //Clone the data to the class expData = (Comb.mzI[])experimentalData.Clone(); iCharge = charge; dDeltaR = deltaR; intensPeaks = (Comb.mzI[])intensities.Clone(); //Assign parameters HAY QUE CAMBIAR ESTO PARA QUE SEA AJUSTABLE DESDE FUERA alpha = 0.01; PRS = 1e-8; RSH = 1e-4; //assign initial parameters to the parameters' matrix mB[1] = initialParams.A; //Amount of A mB[2] = initialParams.alpha; //leptokurtosis mB[3] = initialParams.B; //Amount of B mB[4] = initialParams.deltaMz; //experimental mass/charge deviation mB[5] = initialParams.f; //efficiency mB[6] = initialParams.sigma; //Gaussian width mB[7] = initialParams.signoise; //signal/noise relation nIterations = 0; //assign initial parameters as new parameters for (int i = 1; i <= mB.GetUpperBound(0); i++) { mA[i] = mB[i]; } //Calculate the initial fit fitData = Gaussians.calEnvelope(intensities, expData, initialParams, charge, deltaR); //first chi^2 test. sumSQ1 = sumSquares(expData, fitData); //control form of the iterations if (controlFit.IsDisposed) { controlFit = null; controlFit = new OPctrFit(); } controlFit.Show(); controlFit.Activate(); //controlFit.Owner = this; controlFit.iterAdd(nIterations, initialParams, sumSQ1, false); }
public int[] Classify(double[][] observations) { return(Gaussians.Nearest(observations)); }
public int Classify(double[] observation, out double[] responses) { return(Gaussians.Nearest(observation, out responses)); }