代码之家  ›  专栏  ›  技术社区  ›  kainaw

八度音阶变换位置

  •  0
  • kainaw  · 技术社区  · 7 年前

    下面是来自Matlab的示例代码。它的音阶不是八度。代码是:

    f = figure;
    b = uicontrol(f,'Style','pushbutton');
    b.Position = [100 100 50 20];
    

    它来自在线文档: https://www.mathworks.com/help/matlab/ref/matlab.ui.control.uicontrol-properties.html

    在八度音阶中,我得到:error:标量不能被索引。

    为了使这个音阶达到八度,必须做什么改变?

    1 回复  |  直到 7 年前
        1
  •  2
  •   Cris Luengo    7 年前

    几年前,MATLAB推出了handle图形系统(HG2)的第二个版本。八度音阶仍然使用旧的系统。

    每次你看到 handle.propery ,您正在处理HG2。在最初的系统中,我们使用 get(handle,'property') 和 set(handle,'property',newvalue) .请注意,MATLAB不会很快否定这种原始语法,在较新版本的MATLAB中使用这两种形式是完全有效的。因此 set 和 get 出于兼容性原因,应首选功能。

    所以你可以替换

    b.Position = [100 100 50 20];
    

    具有

    set(b,'Position',[100 100 50 20]);