Surface fitting to data
2 views (last 30 days)
Show older comments
Folks,
I have a custom equation with z=a*x*y which I want to fit to some experimental data. The challenge is that
1) The fit z needs to be calculated for 8 different items. For simplicity, we use the same x,y for each item. Then the sum of these 8 items will compared against the experimental data to which I want to fit.
2) Is this possible either through a) SFTOOL and/or B) Programmable approach?
Thanks in advance B
4 Comments
Sean de Wolski
on 11 Oct 2013
It needs to be calculated 8 times for the same x and y on each but a different, z?
Answers (2)
Sean de Wolski
on 11 Oct 2013
Edited: Sean de Wolski
on 11 Oct 2013
The curve/surface fitting tool will work for you application. Design the fit within the application, then go to
File -> Generate Code
This will generate a function that you can then save and call with your new z-data. Each time it will return a fit object based on the new z.
Alternatively, you could use LinearModel.fit in the Statistics Toolbox
doc LinearModel.fit
or lsqcurvefit in the Optimization Toolbox, though this is overkill:
0 Comments
Matt J
on 11 Oct 2013
Edited: Matt J
on 11 Oct 2013
And "a" is the parameter to be fit? sftool seems like overkill for something that can be done as simply as
a=x(:).*y(:)\z(:);
5 Comments
Matt J
on 11 Oct 2013
The solutions x,y for the equation
z=a*x*y
are not unique. You have 1 equation in 2 unknowns. So your problem appears under-specified.
See Also
Categories
Find more on Get Started with Curve Fitting Toolbox in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!