|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
写的MATLAB代码,最小二乘求距离出现错误,麻烦大神帮忙看看,非常感谢!
" g9 Z& D c0 v; \2 K1 h- F' U/ I& [& \# p) Q
clc;
3 E' K6 ?* p3 z: Iclear all;7 E1 a) G" Z! _' K' a* K
A=[1 2 3;3 4 5;6 7 8;6 7 8;6 7 8;11 12 14;22 23 43;1 2 3;3 4 5;6 7 8;6 7 8;6 7 8;11 12 14;22 23 43;1 2 3;3 4 5;6 7 8;6 7 8;6 7 8;11 12 14;22 23 43];& m) g% r3 z; ?" o; a4 A3 ~5 C, Q
P=[1 2 3 4 5 6 7 9 11 81 2 9 32 21 5 6 7 9 11 81 2];" ]5 z2 @6 d6 ?, ?5 o4 ?; L
1 [7 c* f( L1 C& d- e$ k Y' d4 Ic=3*10^8;
/ I7 v/ L% _6 G/ PX=zeros(4,1);
; Y' w9 t; X: Jx=zeros(4,1);
( X4 R. W, G* r8 M& qfor i=1:1:21
" Q" A) n; @$ l) N7 d5 L Ri=sqrt((A(i,1)-x(1,1)).^2+(A(i,2)-x(2,1)).^2+(A(i,3)-x(3,1)).^2);
5 H Z0 E& m4 W4 I) v p(i,1)=Ri+x(4,1)-P(i,1);
- z) Z2 h9 \9 _8 S t# d+ r
6 E2 m) L) J8 f s fxi=(A(i,1)-x(1,1))/Ri;
+ ^9 v5 p y- R; R5 U; k, ~ fyi=(A(i,2)-x(2,1))/Ri;
; z- j$ y+ g2 _, g B fzi=(A(i,3)-x(3,1))/Ri;* j9 t4 _! K" k( A1 ^; Y
F(i,: )=[fxi fyi fzi -c];1 j# E. Z& @! u4 }2 |
5 W: p( C& W9 l: J syms x0 y0 z0 t0 real;( I& E: o; }4 D/ S" c% N
X=[x0 y0 z0 t0]';
8 n2 R* i2 O0 N! \1 e
' G' X C1 M' s: Q6 b& c p(i,1)=F(i,: )*X;
& s4 Z1 s0 G: p- }: U& i; G" X) \# z# W
8 H, Z5 v) ~) q9 [ x(1,1)=x(1,1)+x0;
8 M8 O9 G4 D r( s- Y: { x(2,1)=x(2,1)+y0;* ]: Q* Q1 X) G; d; ]% {
x(3,1)=x(3,1)+z0;0 C |" O! X$ ?/ J, G
x(4,1)=x(4,1)+t0;* \2 K) G+ x' ]! r1 h4 J5 [- d+ Z
end
7 K t) ]1 L1 @5 K" d0 F" m0 [. i1 Z& f- J& P6 F
figure(1);
8 K* E/ d8 F% iplot(x0,'r-');$ [0 }- Q2 _" u
hold on;
: e. w3 {0 K4 j* L/ T3 dfigure(2);
1 W# B3 [& ?9 T& m8 v+ B, W+ ^4 Jplot(y0,'g*');
" Y7 v; H. {8 p7 hhold on;/ x2 O- k1 l& Y9 Y( I8 ~/ @/ E% t
figure(3);
3 D- h, u* H# v M7 Qplot(z0,'b-');
' u! H5 U' s/ v, |hold on;$ Q- g' l0 G2 v$ P2 R
xlabel('X');
6 Y; c: E! r; y- [; w d& nxlabel('Y');0 z4 B7 g- ]3 ~% c$ D
legend('measurement');
" s) o* h5 l0 x7 T3 k
& i3 Z" y' ^$ O& w' A# y+ c7 P" v+ x" N; \* i% a
0 j6 K0 H) Z5 E+ j# i0 x+ p
编译出现错误:
3 `; h9 e. F$ [错误使用 symengine (line 58)
+ V7 I+ _9 M% ?9 s% r1 dDOUBLE cannot convert the input expression into a double array.+ L. X8 V, n9 h; V
If the input expression contains a symbolic variable, use VPA.
( v4 x4 c( l% m" Q% X. |! U$ P7 P
出错 zxec (line 21)& K" B7 o/ b9 w& u8 z3 t% ]! f4 O
p(i,1)=F(i,: )*X;1 [% e( R% Y# \1 L
|
|