EDA365电子论坛网
标题:
写的MATLAB代码,最小二乘求距离出现错误?
[打印本页]
作者:
SallyDai2
时间:
2020-10-23 19:21
标题:
写的MATLAB代码,最小二乘求距离出现错误?
写的MATLAB代码,最小二乘求距离出现错误,麻烦大神帮忙看看,非常感谢!
! v. ?3 \ u0 v( h: ~
' R) g7 ^1 ?, S
clc;
9 |: ~9 x$ L% b, w, l7 V% c
clear all;
& ?/ P: z( Z* C8 z4 T
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];
/ x! d( y- c5 k) s
P=[1 2 3 4 5 6 7 9 11 81 2 9 32 21 5 6 7 9 11 81 2];
( {* U: @9 }* n5 V8 Y% u
# S, T8 b$ g0 b; E
c=3*10^8;
2 T; I* \/ q4 e5 G3 b- K
X=zeros(4,1);
9 f* R+ X1 {7 r% A7 Q1 Z; I
x=zeros(4,1);
' \: i$ m! q' \1 f2 Y1 R3 F
for i=1:1:21
2 }1 n9 x7 r3 d2 f! l3 E
Ri=sqrt((A(i,1)-x(1,1)).^2+(A(i,2)-x(2,1)).^2+(A(i,3)-x(3,1)).^2);
" ?: g* n2 ?4 Y
p(i,1)=Ri+x(4,1)-P(i,1);
: F' Y9 m+ H0 B) I
. y3 _- r ?' j. t M4 u
fxi=(A(i,1)-x(1,1))/Ri;
- {7 _5 X, W9 c! E' W
fyi=(A(i,2)-x(2,1))/Ri;
2 @: J1 g$ j& C3 a3 M( n
fzi=(A(i,3)-x(3,1))/Ri;
( x) Y% x. _2 s) h
F(i,: )=[fxi fyi fzi -c];
; f3 v" F3 p4 J. _$ R% v
4 ]% R/ q3 J& n+ ^
syms x0 y0 z0 t0 real;
k: c3 Z' @% Y) {7 ]
X=[x0 y0 z0 t0]';
; E6 F+ w* x- a C, ?6 \
% f$ H& z0 V0 K% Q! x! g0 G
p(i,1)=F(i,: )*X;
) V! U$ e( n% \5 N$ x0 b
1 L* D. q/ ^! U3 z/ T: z4 D
x(1,1)=x(1,1)+x0;
$ V0 G" d6 \( q
x(2,1)=x(2,1)+y0;
5 @/ ?0 J6 F+ |/ B, B7 ^2 u
x(3,1)=x(3,1)+z0;
+ t3 T( p0 o4 Q4 e3 y
x(4,1)=x(4,1)+t0;
) S J+ M' D' d" H
end
4 k# I1 R, F/ J9 r
! m3 |) w& _9 ]( q2 n
figure(1);
* j' @; m" H) W" K- F0 h1 I0 M
plot(x0,'r-');
! H% s! b! u; v+ a; k
hold on;
1 M8 N9 K6 I$ d. o& M% i
figure(2);
, J+ H* Y8 ~+ l$ b4 T
plot(y0,'g*');
( Q7 _: \2 N; q: W7 J
hold on;
; |9 u" z' K! j9 o0 i; Y! r
figure(3);
. e9 @1 g* v* a# t L |9 Z
plot(z0,'b-');
7 V+ G0 E- q0 ^& Q' I# B
hold on;
* i: Y9 r6 c, R' V
xlabel('X');
0 j1 s- T' ?% }1 Q& |' I3 x
xlabel('Y');
1 s' }1 _# N B8 r' R, [, c8 w
legend('measurement');
" q# h9 k( ~" u+ G+ \4 g) d
2 {+ M0 v1 I+ q; e/ ]9 Q* j
/ @9 _' i& ]4 a" e I# D
6 v7 k% i; |, q9 a1 u$ Z4 u/ d
编译出现错误:
8 }, b/ O9 x5 z+ r" h
错误使用 symengine (line 58)
: u. i/ ?1 _5 f3 o7 Y7 s' x& Q
DOUBLE cannot convert the input expression into a double array.
; Y9 _/ ?1 v+ K( o2 e
If the input expression contains a symbolic variable, use VPA.
, u2 S C# L8 _( W
2 w+ _) z- W1 O5 F) ]9 t6 [$ O
出错 zxec (line 21)
% V7 j. \7 x+ W6 u O
p(i,1)=F(i,: )*X;
( H; Y% E# H, Q) F6 I t( N: ~ C3 m
作者:
wu68aq
时间:
2020-10-23 19:35
你的代码有问题。
欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/)
Powered by Discuz! X3.2