surface fitting
Mostrar comentarios más antiguos
I am using MATLAB 2007. I want to do surface fitting. Any help will be appreciated.
Thanks.
Respuesta aceptada
Más respuestas (7)
smp
el 29 de Nov. de 2011
0 votos
Grzegorz Knor
el 29 de Nov. de 2011
Add folder which contains this function to search path, and type:
help gridfit
smp
el 30 de Nov. de 2011
Grzegorz Knor
el 30 de Nov. de 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')
smp
el 30 de Nov. de 2011
1 comentario
Grzegorz Knor
el 30 de Nov. de 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
el 1 de Dic. de 2011
2 comentarios
Walter Roberson
el 1 de Dic. de 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 ) )
smp
el 1 de Dic. de 2011
smp
el 1 de Dic. de 2011
0 votos
Categorías
Más información sobre Get Started with Curve Fitting Toolbox en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!