【发布时间】:2018-09-17 08:03:03
【问题描述】:
我在 Matlab 中编写了一个 main 函数,它调用其他函数,每个函数都会在一个新图形中生成绘图。尽管每个函数会产生不同的图(不同的颜色、子图的数量等),但它们都有一些共同的特征(字体、字体大小、线宽等)。
为了方便修改上述所有MATLAB图形的共享参数,我在主函数的序言中定义了一个结构体变量如下:
var.font = 'Arial Unicode MS';
var.fontsize = 13;
var.interpreter = 'none' ;
其他字段以此类推。当我以这种方式调用函数时(提供结构作为输入):
function plot1( var , ... )
fig = gcf
fig.Position(3) = var.Position3
fig.Position(4) = var.Position4
end
一切正常,函数将该功能应用于每个图形。但是,如果我尝试使用 varargin 为函数提供可变数量的输入,以这种方式
function plot1( varargin )
fig = gcf;
temp = varargin(1);
fig.Position(3) = temp.Position3;
fig.Position(4) = temp.Position4;
end
提示如下错误信息“Struct contents reference from a non-struct array object。”
【问题讨论】:
标签: matlab data-structures matlab-figure