surface fitting
13 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
I am using MATLAB 2007. I want to do surface fitting. Any help will be appreciated.
Thanks.
0 Kommentare
Akzeptierte Antwort
Grzegorz Knor
am 29 Nov. 2011
See:
You can also write your own function e.g. by using the Optimization Toolbox.
0 Kommentare
Weitere Antworten (7)
Grzegorz Knor
am 29 Nov. 2011
Add folder which contains this function to search path, and type:
help gridfit
0 Kommentare
Grzegorz Knor
am 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 Kommentare
smp
am 30 Nov. 2011
1 Kommentar
Grzegorz Knor
am 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
am 1 Dez. 2011
2 Kommentare
Walter Roberson
am 1 Dez. 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 ) )
Siehe auch
Kategorien
Mehr zu Get Started with Curve Fitting Toolbox finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!