I have an application where I’m given 100’s of sets of data. Each set has 20 coordinate pairs. Each pair consists of a voltage and current (data is taken from an I-V curve). I need to take this data and compare it to a standard set of data. The idea is to find the closest match (out of the data inputted) to that standard curve. None of the inputted data will EVER be a 100% match to the standard data. I was thinking of inputting all of the data into Mathematica from Excel, then using FindFormula to get a formula for each set of data. Does anyone know if Mathematica has any built in functions/algorithms that will compare two functions ? Would it be easier If I tried comparing sets of data instead of functions? If not, can anyone suggest any starting points for doing this with other built in functions?
As Frank says, the square sum of differences is an error function expressing the “distance” between any two curves. Or equivalently, the Norm of the difference in the y-values, where the y-values of a curve are treated as a vector representing the curve, and the norm of the difference is a metric.
Of course, this only works directly if each curve has the same set of x-values. However, if that is not the case, the data set can be resampled within a domain which is common to all the curves, and then the method applied to the resampled data.
The attached notebook illustrates this with some made-up data. It is a bit verbose. Most of it could be compressed into a few lines of dense code. But then it would look like chickens had been pecking on the keyboard.
David,
Thank you for elaborating. I was a little confused when I first looked through the notebook you attached. I hadn’t seen some of the syntax you used (like /@), so that was a good learning experience for me! It was very easy to follow once I got the syntax down. Really appreciate you taking the time to create the example file. I am a total statistics newbie so it was a big help to me.