mzu Posted February 3, 2010 Report Share Posted February 3, 2010 (edited) There is a model of a physical process formalized in LabVIEW simulation toolkit. It take a set of parameters, and produces time dependencies of observables. I have an experimental data, same time dependencies of observables, but measured on a real system. I would like to get the set of parameters, so that model curves will fit experimental. I have an idea of the initial values of the parameters. Sample of data is provided below: Points are experimental data, curves are the results of manual fitting, using the above mentioned model. Had there been one curve, it would have been easy. I would have used NonlinearCurveFit.vi, and supply it with a reference to a model curve generating VI. What can I do with multiple curves? I really would like to avoid porting the fitting algorithm from the Numerical Recipes. I would also like to avoid writing a wrapper (OriginC <-> LabVIEW) to do a linked fit in Originlab Origin. I can use Matlab, of course, but it will require writing another wrapper. Is there a quick way of doing it, without leaving LabVIEW? (xpost: http://forums.ni.com/ni/board/message?board.id=170&thread.id=472607) (xpost: http://www.labviewportal.eu/viewtopic.php?f=87&t=1794) Edited February 3, 2010 by mzu Quote Link to comment
vugie Posted February 16, 2010 Report Share Posted February 16, 2010 I guess that one parameter may be used in multiple functions. I've implemented something similar using my Waptia genetic optimization library. All you need is to prepare VI which calculates sum of squared distances for all curves for all measurement points and for given set of parameters (well, inverse of the sum, because this is a fitness function). The parameters must be scaled to 0..1 range. Another solution would be to use standard curve fitting, but to create virtual curve which uses part of its domain for each real curve. Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.