surface fitting
11 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I am using MATLAB 2007. I want to do surface fitting. Any help will be appreciated.
Thanks.
0 commentaires
Réponse acceptée
Grzegorz Knor
le 29 Nov 2011
See:
You can also write your own function e.g. by using the Optimization Toolbox.
0 commentaires
Plus de réponses (7)
Grzegorz Knor
le 29 Nov 2011
Add folder which contains this function to search path, and type:
help gridfit
0 commentaires
Grzegorz Knor
le 30 Nov 2011
Gridfit produce only smooth surface that approximates your data.
If you want to calculate the coefficient c from your model look at the example:
[x y] = meshgrid(-1:.1:1);
c = sqrt(2);
z = c*( 2*(x.^2+y.^2)-1 );
z = z + randn(size(z))/5;
plot3(x,y,z,'r.')
f = @(c)norm(z-c*( 2*(x.^2+y.^2)-1));
c1 = fminsearch(f,1);
z1 = c1*( 2*(x.^2+y.^2)-1 );
hold on
surf(x,y,z1,'FaceColor','none')
0 commentaires
smp
le 30 Nov 2011
1 commentaire
Grzegorz Knor
le 30 Nov 2011
If z is a vector, then x and y should be vectors too.
BTW: add dots to this line before ^:
f = @(c)norm(z-c*(2*(x.^2+y.^2)-1))
smp
le 1 Déc 2011
2 commentaires
Walter Roberson
le 1 Déc 2011
See the reference material for mpower ("^") and power (".^") to see when to use one or the other.
Changing the initial value of c to 5 has no effect on the code. The anonymous function f does not use the existing value of c in any way. The anonymous function uses c as a "dummy argument". Nothing would change if you were to instead use
f = @(ThisC)norm(z-ThisC* (2*(x.^2+y.^2)-1 ) )
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!