[英]Solve equation set using MATLAB syms
我已经写了 MATLAB 代码,像这样
syms x x1 x2 x3 y y1 y2 y3 t0 t1 t2 t3 v
[x,y]=solve((x-x1)^2+(y-y1)^2-(v*(t1-t0))^2==0,(x-x2)^2+(y-y2)^2-(v*(t2-t0))^2==0,(x-x3)^2+(y-y3)^2-(v*(t3-t0))^2==0)
但是ans是空的,像这样
x =
Empty sym: 0-by-1
y =
Empty sym: 0-by-1
其实方程组确实有解,所以想知道怎么改码?
文档说
如果求解返回一个空的 object,则不存在解。
稍微清理一下你的问题,
Eq1 = (x-x1)^2+(y-y1)^2-(v*(t1-t0))^2==0;
Eq2 = (x-x2)^2+(y-y2)^2-(v*(t2-t0))^2==0;
Eq3 = (x-x3)^2+(y-y3)^2-(v*(t3-t0))^2==0;
EqSys = [Eq1,Eq2,Eq3]; % create a system of equations
solve(EqSys,x) % <= specify, for which variable the system of equations should be solved
让我觉得你想解决向量而不是不同的变量,对吧? 条目是否独立? 或者解x
确实是一个标量值? 如果不是,求解一个方程
solve(Eq1,x)
确实返回答案
ans =
x1 + (y - y1 + t0*v - t1*v)^(1/2)*(y1 - y + t0*v - t1*v)^(1/2)
x1 - (y - y1 + t0*v - t1*v)^(1/2)*(y1 - y + t0*v - t1*v)^(1/2)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.