我在插入以下请求时收到了否定的MATLAB响应:
syms x y z
solve (x+y==z,x-2*y==z,[x,y],'ReturnConditions', false)
我希望以x
获得y
和z
,但是,唉,我收到了以下错误:
???使用==>时出错烧焦 无法从逻辑转换为char。
==>中的错误解决> getEqns在160 vc = char(v);
==>中的错误在84处解决 [eqns,vars] = getEqns(varargin {:});
请帮忙吗?
答案 0 :(得分:2)
尝试使用单元格数组来换行x
和y
:
>> 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
谢谢大家。