求matlab编程问题

来源:百度知道 编辑:UC知道 时间:2024/05/11 03:19:20
如今我有如下参数
u1=2764;v1=6216;u2=5526;v2=-1803;u3=-1504;v3=426.5;
u4=1547;v4=6000;u5=7070;v5=-148.3;u6=67.31;v6=-680.5;
equ1=(u2-u3)*u0+(v2-v3)*v0*t1-v1*(v2-v3)*t1-u1*(u2-u3);
equ2=(u1-u3)*u0+(v1-v3)*v0*t1-v2*(v1-v3)*t1-u2*(u1-u3);
equ3=(u5-u6)*u0+(v5-v6)*v0*t1-v4*(v5-v6)*t1-u4*(u5-u6);
equ4=(u4-u6)*u0+(v4-v6)*v0*t1-v5*(v4-v6)*t1-u6*(u4-u6);
未知数为 u0 v0 t1
但是不知道该如何用以上四个方程组求解!
我用其中三个就可以解出答案程序如下:
syms u0 v0 t1 t2
u1=2764;v1=6216;u2=5526;v2=-1803;u3=-1504;v3=426.5;
u4=1547;v4=6000;u5=7070;v5=-148.3;u6=67.31;v6=-680.5;
equ1=(u2-u3)*u0+(v2-v3)*v0*t1-v1*(v2-v3)*t1-u1*(u2-u3);
equ2=(u1-u3)*u0+(v1-v3)*v0*t1-v2*(v1-v3)*t1-u2*(u1-u3);
equ3=(u5-u6)*u0+(v5-v6)*v0*t1-v4*(v5-v6)*t1-u4*(u5-u6);
equ4=(u4-u6)*u0+(v4-v6)*v0*t1-v5*(v4-v6)*t1-u6*(u4-u6);
[t1,u0,v0]=solve(equ1,equ2,equ3,t1,u0,v0);
T1=vpa(t1,4);
U0=vpa(u0,4);
V0=vpa(v0,4);
equ5=(u1-U0)*(u2-U0)+T1*(v1-V0)*(v2-V0)+t2;
[t2]=solve(equ5,t2);

方程数多于自变量数,有专门的解法,不过我只知道线性的,非线性就不晓得了。
取平均值不知可不可以。

syms u0 v0 t1 t2
u1=2764;v1=6216;u2=5526;v2=-1803;u3=-1504;v3=426.5;
u4=1547;v4=6000;u5=7070;v5=-148.3;u6=67.31;v6=-680.5;
equ1=(u2-u3)*u0+(v2-v3)*v0*t1-v1*(v2-v3)*t1-u1*(u2-u3)
equ2=(u1-u3)*u0+(v1-v3)*v0*t1-v2*(v1-v3)*t1-u2*(u1-u3)
equ3=(u5-u6)*u0+(v5-v6)*v0*t1-v4*(v5-v6)*t1-u4*(u5-u6)
equ4=(u4-u6)*u0+(v4-v6)*v0*t1-v5*(v4-v6)*t1-u6*(u4-u6)
[t11,u01,v01]=solve(equ1,equ2,equ3,t1,u0,v0);
t11=eval(t11)
[t12,u02,v02]=solve(equ2,equ3,equ4,t1,u0,v0);
t12=eval(t12)
[t13,u03,v03]=solve(equ1,equ3,equ4,t1,u0,v0);
t13=eval(t13)
[t14,u04,v04]=solve(equ1,equ2,equ4,t1,u0,v0);
t14=eval(t14)
t1=(t11+t12+t13+t14)/4

结果:
t11 =

0.7349

t12 =

1.7096

t13 =

0.4297

t14 =

3.9944

t1 =

1.7172