matlab 空sym:0x1

ryevplcw  于 2022-11-15  发布在  Matlab
关注(0)|答案(1)|浏览(283)

代码如下所示:

syms x y z
eqns = [x + y == 1, x + z == 2, z - y == 0.5];
vars = [x y z];
[solx, soly, solz] = solve(eqns,vars)

但结果是这样的:

solx =
 
Empty sym: 0-by-1
 
 
soly =
 
Empty sym: 0-by-1
 
 
solz =
 
Empty sym: 0-by-1

为什么这不管用?

jjjwad0x

jjjwad0x1#

让我们将您的问题重塑为数值线性代数问题:

A = [1 1 0; 1 0 1; 0 -1 1];
b = [1; 2; 0.5];
result = A\b
result =

   1.00000
   0.16667
   0.83333

除了结果之外,您还会收到一条警告:

warning: matrix singular to machine precision

这应该会告诉你答案:你的系统是不可解的。您可以通过从第二个方程式中减去第一个方程式来手动确定相同的值:

x + z == 2
- x + y == 1
-------------
  z - y == 1

这与z - y == 0.5冲突,因此您的系统没有有效的解决方案。

相关问题