How can I perform multivariable polynomial curve fitting?

131 次查看(过去 30 天)
Hey Community! I am looking to perform a polynomial curve fit on a set of data so that I get a multivariable polynomial. I have successfully been able to fit a variable on an independent set using polyfit(). In my case, that was "voltage as a function of current." I want to be able to perform a fit that gives me a function for something like, "voltage as a function of current and temperature." Any ideas?
Cheers!

采纳的回答

Shashank Prasanna
Shashank Prasanna 2013-5-15
You can use the curve fitting toolbox (cftool) or the statistics toolbox (regress, LinearModel.fit, NonLinearModel.fit) to perform multiple linear regression.
If you don't have any of those toolboxes then you can set up your own optimization problem to fit your function as below:
  2 个评论
Mitchell
Mitchell 2013-5-15
So surface fitting gives me a 3D graph with x,y,z axis. From the looks of the help cftool file it seems like it is z as a function of x and y? Am I interpreting this correctly?
On another note, the temperature vector (call it y) will not be the same length as the current vector (call it x) since the experiment will be performed a discrete temperatures (say 5) and current will be ramped giving thousands of data-points. Will this be a problem?
Shashank Prasanna
Shashank Prasanna 2013-5-15
编辑:Shashank Prasanna 2013-5-15
1) Yes Z = f(X,Y)
2) If you don't have same size data, you may have to interpolate.

请先登录,再进行评论。

更多回答(2 个)

cr
cr 2013-5-15
I dont think basic Matlab has got that ability. You will need curve fitting toolbox to do surface fitting. See this link: http://www.mathworks.in/help/curvefit/surface-fitting.html
Regards.

David Graff
David Graff 2015-4-27
Use the excellent polyfitn package at http://www.mathworks.com/matlabcentral/fileexchange/34765-polyfitn . I love it and use it all the time.

类别

Help CenterFile Exchange 中查找有关 Get Started with Curve Fitting Toolbox 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by