代码如下所示:
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
为什么这不管用?
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冲突,因此您的系统没有有效的解决方案。
z - y == 0.5
1条答案
按热度按时间jjjwad0x1#
让我们将您的问题重塑为数值线性代数问题:
除了结果之外,您还会收到一条警告:
这应该会告诉你答案:你的系统是不可解的。您可以通过从第二个方程式中减去第一个方程式来手动确定相同的值:
这与
z - y == 0.5
冲突,因此您的系统没有有效的解决方案。