surface fitting
조회 수: 12 (최근 30일)
이전 댓글 표시
I am using MATLAB 2007. I want to do surface fitting. Any help will be appreciated.
Thanks.
댓글 수: 0
채택된 답변
Grzegorz Knor
2011년 11월 29일
See:
You can also write your own function e.g. by using the Optimization Toolbox.
댓글 수: 0
추가 답변 (7개)
Grzegorz Knor
2011년 11월 29일
Add folder which contains this function to search path, and type:
help gridfit
댓글 수: 0
Grzegorz Knor
2011년 11월 30일
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
smp
2011년 11월 30일
댓글 수: 1
Grzegorz Knor
2011년 11월 30일
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
2011년 12월 1일
댓글 수: 2
Walter Roberson
2011년 12월 1일
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 ) )
참고 항목
카테고리
Help Center 및 File Exchange에서 Get Started with Curve Fitting Toolbox에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!