How to make curve fit equation for 2 variables?
80 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Muhammad Raza
le 21 Mar 2014
Commenté : Muhammad Raza
le 26 Mar 2014
Hello,
I have got a function with respect to 2 different variables. I want to make an equation of that function with respect to both the variables (for example: f(x1,x2) = ax1.x2^2 + bx1 +cx1^2). Is there anyone have an idea how i can make it? please let me know..
I am looking forward
Cheers Raza
0 commentaires
Réponse acceptée
Star Strider
le 21 Mar 2014
Modifié(e) : Star Strider
le 21 Mar 2014
I went into some detail in my answer 2D data fitting - Surface. (It’s easier to hyperlink to it than to repeat it here.)
To use your equation in a regression model, this will work:
f = @(B,XY) B(1).*XY(:,:,1).*XY(:,:,2).^2 + B(2).*XY(:,:,1) + B(3).*XY(:,:,1).^2;
To see what it produces with arbitrary parameters and data:
[X Y] = meshgrid(0:10, 0:10);
XY(:,:,1) = X;
XY(:,:,2) = Y;
B = [3; 5; 7];
figure(1)
mesh(X, Y, f(B,XY))
grid on
xlabel('X')
ylabel('Y')
zlabel('Z')
It creates a surface.
11 commentaires
Star Strider
le 26 Mar 2014
Modifié(e) : Star Strider
le 26 Mar 2014
If you’re simply looking to fit your data to a polynomial surface rather than fit it to a model, I suggest using polyfitn that Image Analyst refers to in his answer.
Plus de réponses (1)
Image Analyst
le 25 Mar 2014
I'll also put in a plug for John D'Errico's polyfitn http://www.mathworks.com/matlabcentral/fileexchange/34765-polyfitn which I use to create a 2D polynomial fit to a surface, for example to create a smooth background image from a noisy, actual, image snapped from a camera.
Attached is a demo that uses it on a standard MATLAB demo image.
0 commentaires
Voir également
Catégories
En savoir plus sur Get Started with Curve Fitting Toolbox dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!