|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
写的MATLAB代码,最小二乘求距离出现错误,麻烦大神帮忙看看,非常感谢!
4 K6 w8 I! B* B! u& u
- H% i1 U5 Q! L" T' [% c+ O8 aclc;! }- i2 U0 c5 e# I
clear all;7 m% |. J4 Y' P( s9 u# Y7 n
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];
7 d7 P5 L* N5 C; n7 VP=[1 2 3 4 5 6 7 9 11 81 2 9 32 21 5 6 7 9 11 81 2];3 D2 @, ^+ j+ f& f# c; Z9 m2 K
. P( m0 ~: U5 V! Z% G# \c=3*10^8;$ `' [/ E5 i6 f/ \
X=zeros(4,1);. |% H& k" L4 L2 N" j( b" S/ k
x=zeros(4,1);
% f* A0 a$ @7 E$ y }2 Vfor i=1:1:21' z: V+ x% a( V3 c4 [ w# m# j
Ri=sqrt((A(i,1)-x(1,1)).^2+(A(i,2)-x(2,1)).^2+(A(i,3)-x(3,1)).^2);
; y# j+ n. U! Y! P! I1 _ p(i,1)=Ri+x(4,1)-P(i,1);
9 S G" E* k, }8 k4 `9 W0 ]
- p% T' c9 i% ~ fxi=(A(i,1)-x(1,1))/Ri;
2 [1 i) h' n2 W fyi=(A(i,2)-x(2,1))/Ri;: \4 v2 H9 \* D4 L. z% Q
fzi=(A(i,3)-x(3,1))/Ri;
: n! j& b% @& D( S% R/ L F(i,: )=[fxi fyi fzi -c];
3 c' {, Y2 O' O. F- F K( N. E) M0 z7 U% a2 w
syms x0 y0 z0 t0 real;5 {, y- k# a. v/ \* B) Y& V3 u
X=[x0 y0 z0 t0]';
' ], E& s7 F" Q' n+ C& C$ K7 M
9 I+ c8 t( @$ K' K! z p(i,1)=F(i,: )*X;
$ ~/ A- P4 b I3 w$ u' b( f# Q- w
; k& ^/ L6 Y6 Y. h) W x(1,1)=x(1,1)+x0;
b0 h O4 K' e, t" K, p x(2,1)=x(2,1)+y0;3 x) ^; ]5 }0 w; @6 I% a( h
x(3,1)=x(3,1)+z0;
, ^7 y9 o" p- a4 ] x(4,1)=x(4,1)+t0;
* p) n& [/ `9 u5 z1 @end2 n# R3 T6 y1 F! _1 b
/ A" J5 v6 ]) V. T$ G9 L/ bfigure(1);2 n. k8 r! q) {2 k. q5 z
plot(x0,'r-');
" w+ E, j1 n& Shold on;
; F- [/ } O7 p7 J3 h5 Rfigure(2);( m7 L+ o7 V1 s6 q* g# T
plot(y0,'g*');; r3 }6 e* ^" L/ Y& E
hold on;
; w# s; n6 y( G" Ofigure(3);
8 I9 c) Z$ F/ v/ b4 Y) ]: f/ c" qplot(z0,'b-');
: Z2 J6 d& n$ Phold on;* | o" {) ^9 S. E" b4 n% g F
xlabel('X');3 a) G- Y4 x$ l
xlabel('Y');- }; d0 \$ H, {/ e
legend('measurement');
) g, H% [& P$ E) n) C7 g
6 T$ ]+ ?2 r, M$ y8 y `: [# R1 s i0 Q% |! M, B
) V2 |( U, F# @4 P* Q1 W编译出现错误:
+ `5 p- G1 h* R" h& F错误使用 symengine (line 58)
; K/ n! a N7 h8 S# W( s) G2 yDOUBLE cannot convert the input expression into a double array.
+ G# A' J2 U# C0 K% S( WIf the input expression contains a symbolic variable, use VPA.9 n8 M) `, c8 d: K( `
6 ^" \+ L* V! Q0 A M出错 zxec (line 21)
! T% V0 n& Q2 u7 N p(i,1)=F(i,: )*X;
5 e6 f* C' ~3 H3 D" w5 y# d |
|