解决:无法找到显式解决方案

时间:2015-07-06 10:26:13

标签: matlab symbolic-math

我正在努力使用Matlab R2011a符号工具箱来解决系统方程。该系统属于已经存在的机制,我想计算其基本坐标点,在方程式上我有13个未知变量,14个方程和1个不等式。在我执行下面的代码后,Matlab的答案是

  

无法找到明确的解决方案

我猜是可能系统需要更多的信息,独立的方程式或我发现的称为“假设”的东西,但我不知道如何解释这个答案...看看我看到的另一个问题“mupad Notebook “,但我看到的命令窗口相同,但更漂亮(我读的更精确,但对于我的问题,我认为它不会有帮助),不是吗?所以,基本上我的问题是这个Matlab的答案究竟是什么意思,我如何修复或帮助Matlab解决它。

S = solve(...
        '(xa-x0)^2+(ya-y0)^2-l2^2',...
        '(xa-x0)*(xc-xa)+(ya-y0)*(yc-ya)-l2*lac*cos(alpha1)',...
        '(xa-x0)*(xb-xa)+(ya-y0)*(yb-ya)-l2*lab*cos(alpha2)',...
        '(xg-xa)^2+(yg-ya)^2-lag^2',...
        '(xf-xc)^2+(yf-yc)^2-l6^2',...
        '(xd-xb)^2+(yd-yb)^2-l3^2',...
        '(xe-xa)^2+(ye-ya)^2-lae^2',...
        '(xe-xd)*(xf-xe)+(ye-yd)*(yf-ye)-lef*lde*cos(alpha3)',...
        '(xf-xe)*(xd-xf)+(yf-ye)*(yd-yf)-lef*ldf*cos(alpha4)',...
        '(xd-xf)*(xe-xd)+(yd-yf)*(ye-yd)-ldf*lde*cos(alpha5)',...
        '(xg-xa)*(xe-xg)+(yg-ya)*(ye-yg)-lag*leg*cos(alpha6)',...
        '(xe-xg)*(xa-xe)+(ye-yg)*(ya-ye)-leg*lae*cos(alpha7)',...
        '(xa-xe)*(xg-xa)+(ya-ye)*(yg-ya)-lae*lag*cos(alpha8)',...
        '(xe-xg)^2+(ye-yg)^2-leg^2',...
        'xg>0',...
        'xa', 'ya', 'xb', 'yb', 'xc', 'yc', 'xd', 'yd', 'xe', 'ye', 'xf', 'yf', 'xg'...
        );

Warning: 15 equations in 13 variables. 
> In C:\Program Files\MATLAB\R2011a\toolbox\symbolic\symbolic\symengine.p>symengine at 52
  In mupadengine.mupadengine>mupadengine.evalin at 96
  In mupadengine.mupadengine>mupadengine.feval at 137
  In solve at 77
  In Chassis_coordinates_equations at 45
Warning: Explicit solution could not be found. 
> In solve at 83
  In Chassis_coordinates_equations at 45

1 个答案:

答案 0 :(得分:0)

阅读警告:您已经过度定义了系统(方程式多于变量),这意味着除非几对方程实际上是相同的函数,否则没有解决方案。这是线性代数的基本部分。

你没有说明你在哪里或如何提出这些方程式,但看起来你看起来确实有一个定义不明确的系统。尝试重新组织您建议的系统。