Octave 倍频程变换位置

Octave 倍频程变换位置,octave,uicontrol,Octave,Uicontrol,下面是来自Matlab的示例代码。它没有八度音程。代码是: f = figure; b = uicontrol(f,'Style','pushbutton'); b.Position = [100 100 50 20]; 它来自在线文档: 在倍频程中,我得到:error:标量不能用索引 要使其在倍频程中运行,必须做哪些更改?几年前,MATLAB推出了handle图形系统(HG2)的第二个版本。倍频程仍然使用旧的系统 每次看到handle.propery,您都在处理HG2。在原始系统中,我们使用

下面是来自Matlab的示例代码。它没有八度音程。代码是:

f = figure;
b = uicontrol(f,'Style','pushbutton');
b.Position = [100 100 50 20];
它来自在线文档:

在倍频程中,我得到:error:标量不能用索引


要使其在倍频程中运行,必须做哪些更改?

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

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

所以你可以替换

b.Position=[1005020];

set(b,'Position',[1005020]);

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

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

所以你可以替换

b.Position=[1005020];

set(b,'Position',[1005020]);

谢谢。那很好用。它在Matlab中也可以双向工作。@kainaw的确,旧语法没有被删除,在可预见的将来也不会被删除。我加了一句话来解决这个问题。谢谢。那很好用。它在Matlab中也可以双向工作。@kainaw的确,旧语法没有被删除,在可预见的将来也不会被删除。我加了一句话来解决这个问题。