求解方程组时出错

时间:2015-10-06 20:21:39

标签: matlab error-handling type-conversion equation-solving

我在插入以下请求时收到了否定的MATLAB响应:

syms x y z
solve (x+y==z,x-2*y==z,[x,y],'ReturnConditions', false)

我希望以x获得yz,但是,唉,我收到了以下错误:

  

???使用==>时出错烧焦   无法从逻辑转换为char。

     

==>中的错误解决> getEqns在160     vc = char(v);

     

==>中的错误在84处解决   [eqns,vars] = getEqns(varargin {:});

请帮忙吗?

2 个答案:

答案 0 :(得分:2)

尝试使用单元格数组来换行xy

>> syms x y z
>> X = solve (x+y==z,x-2*y==z,{x,y},'ReturnConditions', false);
>> X.x
ans =
z
>> X.y
ans =
0

这是以前版本的MATLAB所必需的。但是,我目前正在使用R2015a,您的代码适用于我。我无法复制你的错误。您可能正在使用以前的版本。

答案 1 :(得分:1)

我想我找到了问题的回击。

对于求解两个方程和两个变量的系统,我们使用输入矩阵,输出必须是sprecified。

b=[x+y-z;x-3*y-z;]
b =

x + y - z
x - 3*y - z
[e t]=solve(b,x,y)
e =

z


t =

0

谢谢大家。