【问题标题】:Error while solving system of equations求解方程组时出错
【发布时间】:2015-10-07 15:14:31
【问题描述】:

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

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

我想以z 的形式获得xy,但是,唉,我得到了以下错误:

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

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

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

有什么帮助吗?

【问题讨论】:

  • 我无法复制您的错误。我在 MATLAB R2015a 上。
  • @rayryeng 任何替代解决方案?
  • 尝试将变量包装在一个元胞数组中。在以前版本的 MATLAB 中,我必须这样做。

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


【解决方案1】:

尝试使用元胞数组来包装 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,您的代码对我有用。我无法复制您的错误。您可能使用的是以前的版本。

【讨论】:

    【解决方案2】:

    我想我找到了解决问题的方法。

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

    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
    

    谢谢大家。

    【讨论】:

      猜你喜欢
      • 2023-03-27
      • 2020-09-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多