Matlab包括许多绘图函数,这些函数可以设置一个可选参数,用于指定要绘制到的轴的句柄。有很多在线解决方案可以向用户定义的函数中添加可选参数(例如varargin、inputParser),但通常要求这些可选参数必须在必选参数之后,而Matlab中的绘图函数通常是这种形式。
plot(optional, mandatory, optional)
也就是说,可选参数可以在必填参数之前或之后出现。
我想为自定义图表类型复制这个行为,使其与内置图表函数遵循相同的风格。下面列出了一些使用情况,以说明仅检查参数数量是无法实现所需行为的:
x = [1:10];
y = x.^2;
ax(1) = subplot(1, 2, 1);
ax(2) = subplot(1, 2, 2);
myplot(x, y); %Mandatory
myplot(x, y, 'r+'); %Mandatory, optional
myplot(ax(1), x, y); %Optional, mandatory
myplot(ax(2), x, y, 'r+'); %Optional, mandatory, optional
我的问题是,我们可以使用哪些技术来模拟这种行为?