Matlab包含许多绘图函数,它们将可选参数作为绘制轴的句柄.在线有许多解决方案可以为用户定义的函数添加可选参数(varargin,inputParser),但是它们通常要求可选参数仅在强制参数之后,而在matlab中绘制函数通常是
plot(optional, mandatory, optional)
Run Code Online (Sandbox Code Playgroud)
也就是说,可选参数可以在强制参数之前和之后出现.
我想为自定义绘图类型复制此行为,以便它遵循与内置绘图函数相同的样式.以下用例表示仅检查参数的数量不足以实现所需的行为:
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
Run Code Online (Sandbox Code Playgroud)
我的问题是,我们可以使用哪些技术来模拟这种行为?