
Writing Results of a Curve Fit to a Notebook


hrodstein
// SendGaussianFitResultsToNB(nb, comment, dataWave, W_coef, W_sigma) // Demonstrates writing the results of a Gaussian curve fit to a notebook. // To try it, paste the functions below into the procedure window of a new experiment. // Now execute this on the command line: // Demo() Function SendGaussianFitResultsToNB(nb, comment, dataWave, W_coef, W_sigma) String nb // Name of notebook, e.g., "Notebook0" String comment // Comment to be added to the notebook Wave dataWave // The wave that was fit Wave W_coef // Output from the CurveFit operation Wave W_sigma // Output from the CurveFit operation // If notebook does not exist, create it if (WinType(nb) == 0) NewNotebook /N=$nb /F=1 endif String text = "" String temp text += "\r" // Blank line to separate from previous run text += comment + "\r" // Handle y0 coefficient sprintf temp, "y0 = %g +/- %g\r", W_coef[0], W_sigma[0] text += temp // Handle amplitude coefficient sprintf temp, "A = %g +/- %g\r", W_coef[1], W_sigma[1] text += temp // Handle x0 coefficient sprintf temp, "x0 = %g +/- %g\r", W_coef[2], W_sigma[2] text += temp // Handle width coefficient sprintf temp, "width = %g +/- %g\r", W_coef[3], W_sigma[3] text += temp // Insert text in notebook Notebook $nb, text = text End Function Demo() // Create data Make/O/N=100 gaussian // Set X scaling SetScale x -3, 3, gaussian // Fill with sample data Wave gaussian gaussian = exp(-x^2) + gnoise(.1) // Display in graph DoWindow/F GaussianGraph if (V_flag == 0) // Graph does not yet exist Display /N=GaussianGraph gaussian endif // Do the curve fit CurveFit gauss gaussian /D Wave W_coef, W_sigma // These are outputs from the fit // Change the color of the destination wave ModifyGraph rgb(fit_gaussian) = (0, 0, 65535) // Add results to the notebook (after creating it if necessary) String comment = "Fit performed on " + date() + " at " + time() SendGaussianFitResultsToNB("FitResultsNotebook", comment, gaussian, W_coef, W_sigma) End

Forum

Support

Gallery
Igor Pro 9
Learn More
Igor XOP Toolkit
Learn More
Igor NIDAQ Tools MX
Learn More