Fit surface to data set
Ältere Kommentare anzeigen
So, I've got this data set with 3 vars (attached), time, temperature and percentage conversion. It's from a FAMEs chemical reaction, and i've been using fruitessly cftool, to get a surface function that fits to data. Any suggestions on how to do this?
The aim is to predict percentage conversion by setting temp and time based on experimental data :D
Thanks!
Akzeptierte Antwort
Weitere Antworten (1)
John D'Errico
am 25 Jun. 2014
0 Stimmen
Nonlinear models are difficult. They are often difficult to choose in 1-d. It gets nastier in 2-d.
For this reason, people often choose polynomial models. And, well, they have their dramatic downsides too. But you can always use my polyfitn, found on the file exchange.
Given a complete lack of an intelligent choice for a model, gridfit is a decent option. It is also found on the file exchange.
5 Kommentare
Juan Carlos
am 25 Jun. 2014
John D'Errico
am 26 Jun. 2014
Bad extrapolation is a classic behavior of polynomials. Don't go too high an order though, as polynomials can do strange things then too. It is a balancing act that can sometimes work. Look at the resulting surface to make sure it does not have problems.
Star Strider
am 26 Jun. 2014
There is no such thing as good extrapolation with such empirical curve fitting. If you have a model that you know represents the physical process and for which you are estimating the parameters, (such as a kinetic model), you can safely extrapolate. But with empirical fitting, the rule is to never extrapolate beyond the region of fit.
Juan Carlos
am 26 Jun. 2014
Star Strider
am 26 Jun. 2014
I got the impression you were estimating the model parameters. It is statistically permissible to extrapolate the fit of a kinetic model if you understand the model and the validity of the numbers you are calculating from it.
If you need help fitting the model with nlinfit or lsqcurvefit, post it and some data here (at least as many data sets as you have parameters in your model). I’ll do my best to help.
I only use polynomial fits when I want to get some idea of what noisy data ‘look like’, or if I want to interpolate intermediate estimates. I never use them to extrapolate, because it is impossible to know what the data are in the region you have not measured. No matter what the polynomial does, you have no idea that what you extrapolate reflects the actual behaviour of the system you are measuring. The polynomial could be dead-on or wildly off-course.
Kategorien
Mehr zu Linear and Nonlinear Regression finden Sie in Hilfe-Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!