|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
椭球方程为一般二次曲面方程:f=a*x*x+b*y*y+c*z*z+d*2*x*y+e*2*x*z+f*2*y*z+p*2*x+q*2*y+*r*2*z+g;4 Z5 N4 r; c" F- E/ ~) z
需要拟合出系数[a b c d e f p q r g];
$ d9 O# l3 X! B1 o% ?: J; X6 [已知测量数据x y z:
# p( {# e" h7 P1 I1 e+ \- y 76.561 -125.92 187.94
( t& X' a& N9 {$ T/ ~ 321.38 193.05 133.07
$ e# j! e: A( J4 J* ~9 P 2.3395 439.42 94.38
| | z8 T9 a* ~4 K: z2 o -201.23 119.15 138.615 W' J( ~& |0 d/ [+ C0 P& R
352.77 422.41 -86.1621 ~+ c' C1 _9 u) ]* y+ C0 O: x
371.4 119.72 167.81 E- M5 l+ d' U8 Y! G
361.08 -106.7 -136.33
9 c* c: G. w0 C0 i5 P' C/ V( n- { 320.15 195.71 -414.88+ T( l& E$ k, x) @( Z. J
66.5 -105.1 -423.75
. ?8 X) ?% W* V- S' T/ n0 ^ 283.17 -214.49 -45.219
5 O* T, ]/ q2 K& l2 V# X2 A" O' P -14.378 -109.17 175.697 J! L# r) |; C& Y$ l5 O
-215.19 -79.986 -163.08
1 V' V% O! H1 P- @" [6 b$ K. T4 m" |' V8 j8 u
程序如下:1 B% o+ g9 F2 p* f" z0 K2 r
xdata = [m(:,2) m(:,3) m(:,4)];. L5 Q/ F1 t% e4 ?
ydata = [0 0 0 0 0 0 0 0 0 0 0 0]';6 |( T/ w' u- [2 J6 Q$ k# q
k=[0 0 0 0 0 0 0 0 0 0];+ ?' `( }$ s" G# ]. y
F = @(k,xdata) k(1)*xdata(:,1).*xdata(:,1) + k(2)*xdata(:,2).*xdata(:,2) + k(3)*xdata(:,3).*xdata(:,3) + k(4)*2*xdata(:,1).*xdata(:,2) + k(5)*2*xdata(:,1).*xdata(:,3) + k(6)*2*xdata(:,2).*xdata(:,3) + k(7)*2*xdata(:,1) + k(8)*2*xdata(:,2) + k(9)*2*xdata(:,3) + k(10);7 S- k5 d/ K5 q2 O& k1 x k @2 g
k0=ones(1,10);. W8 `/ m. ?. H t: y" x/ C- N
[k,resnorm]=lsqcurvefit(F,k0,xdata,ydata);
2 e3 F, t, t" {9 I. B9 F. S( o
& V. W3 ^) W' O' W% x; q最后结果趋近于零,为什么?求指教$ \& j: L" `1 S
|
|