【问题标题】:MATLAB/Octave - Problems with mesh plotMATLAB/Octave - 网格图问题
【发布时间】:2013-09-17 16:30:24
【问题描述】:

我正在尝试在 Octave 中对以下函数进行网格划分:

  function C = istep(x)
      A = x < 0.75
      B = x > 0.25
      C = A & B
  endfunction

  D = rand(10);
  mesh(istep(D));

使用 10x10(随机)矩阵作为输入。然而,网格函数失败并触发

invalid value for array property "zdata"

注意: Meshing D 本身可以正常工作。函数 istep 还返回具有预期值的 10x10“矩阵”。我怀疑错误在于输出的内部格式没有被视为矩阵,而是作为数据“数组”或更抽象的东西。但是,我不确定如何更改它。

此外,将输出乘以 eye(size(D)) 可以解决问题并允许绘制矩阵(我怀疑它会自动将输出转换为矩阵)。我觉得这不是很优雅,如果可能的话,我想避免它。

编辑: spy() 直接在输出上工作正常,不需要乘以 eye()

问题:我应该在代码中进行哪些更改以便能够绘制矩阵 istep(D)?

【问题讨论】:

    标签: matlab octave


    【解决方案1】:

    函数的输出返回逻辑值。所以只需执行以下操作:

      mesh(double(istep(D)));
    

    【讨论】:

      猜你喜欢
      • 2022-01-25
      • 1970-01-01
      • 2012-05-19
      • 1970-01-01
      • 2017-09-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多