Surface fitting to data

5 views (last 30 days)
bugatti79
bugatti79 on 11 Oct 2013
Commented: Matt J on 11 Oct 2013
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
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?
bugatti79
bugatti79 on 11 Oct 2013
Yes, there will be 8 different z values. For example Z1=a1.x.y Z2=a2.x.y Zn=an.x.y Z8=a8.x.y
Ztotal to be fitted to experimental data. Is this clearer now? The coefficients an will be constant but different for each z

Sign in to comment.

Answers (2)

Sean de Wolski
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:

Matt J
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
bugatti79
bugatti79 on 11 Oct 2013
On the other hand I can do it in a spreadsheet but obviously its pure guessing trying to fit the curve especially whennvarying two parameters...
Matt J
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.

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!