surface fitting
12 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
I am using MATLAB 2007. I want to do surface fitting. Any help will be appreciated.
Thanks.
0 Commenti
Risposta accettata
Grzegorz Knor
il 29 Nov 2011
See:
You can also write your own function e.g. by using the Optimization Toolbox.
0 Commenti
Più risposte (7)
Grzegorz Knor
il 29 Nov 2011
Add folder which contains this function to search path, and type:
help gridfit
0 Commenti
Grzegorz Knor
il 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 Commenti
smp
il 30 Nov 2011
1 Commento
Grzegorz Knor
il 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
il 1 Dic 2011
2 Commenti
Walter Roberson
il 1 Dic 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 ) )
Vedere anche
Categorie
Scopri di più su Get Started with Curve Fitting Toolbox in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!