equationsToMatrix:我如何获得变量的值?
问题描述:
当使用equationsToMatrix你解决一组线性方程的如在实施例(包括在溶液)equationsToMatrix:我如何获得变量的值?
syms x y z;
[A, b] = equationsToMatrix([x + y - 2*z == 0, x + y + z == 1, 2*y - z + 5 == 0], [x, y, z])
%solution of the equation set
A =
[ 1, 1, -2]
[ 1, 1, 1]
[ 0, 2, -1]
b =
0
1
-5
矢量B返回所讨论的变量的值:x,y和z。但是,如果我输入x,那么MATLAB返回x而不是0,这是这种情况下方程的解。这也会在不添加syms选项的情况下发生。
另一个问题是,如果我键入b(1)或b(2),我没有得到任何值:我期望b包含x,y和z的值。 什么我需要的是让这样的事情到底
b(1) = 0
或
x = 0
我应该怎么做的只是输入X,Y得到的x,y,z的值, Z'
答
你有什么是通过提取系数矩阵将符号线性方程转换成数字系统的方法。为了解决你需要做的
sol = A\b;
系统,现在你可以在另一个表达式
subst(expr, {x,y,z}, {sol(1),sol(2),sol(3));
使用的值,例如
A =
1 1 -2
1 1 1
0 2 -1
b =
0
1
-5
>> A\b
ans =
3.0000
-2.3333
0.3333
为了解决您需要将系统做'ans = A \ b'。 – ja72 2013-03-14 10:22:16
@ ja72完成了它,但它返回了错误消息 – ragnar 2013-03-14 10:26:11
并且错误是??? ??? – ja72 2013-03-14 10:27:12