Puedo llegar hasta allí sin editar 'Sintaxis' que funciona en versiones actuales, aunque un poco embarradas.
La siguiente función toma un rango de pares de nombre-valor requeridos, opcionales y opcionales para las entradas. Deseo que la información sobre herramientas brinde información al usuario sobre las entradas requeridas y opcionales. varargin siempre existe incluso si no se le pasan variables, y inputParser funciona bastante bien cuando se entrega varargin. Voy a aprovechar esto dejando mis entradas opcionales en la llamada a la función, pero luego las apilaré en varagin antes de trabajar con ellas.
punta de la herramienta mostrará MYFUN (frecuencia, gain_optional, phase_optional, ...)
function myFun(frequency, gain_optional, phase_optional, varargin)
%% Get mandatory and optional Inputs using inputParser
p = inputParser;
% mandatory inputs
argName = 'frequency';
validation = @(x) validateattributes(x, {'numeric'}, {'2d','positive'});
p.addRequired(argName, validation);
% optional inputs
% start by packaging all optional inputs into varargin. The two optional
% inputs were kept out of varargin so they will display in the tooltip
if nargin > 2
varargin = [{phase_optional} , varargin];
end
if nargin > 1
varargin = [{gain_optional} , varargin];
end
% add optional inputs into inputParser
argName = 'gainLinear';
default = [];
validation = @(x) validateattributes(x, {'numeric'}, {'2d','positive'});
p.addOptional(argName, default, validation);
argName = 'phaseDeg';
default = [];
validation = @(x) validateattributes(x, {'numeric'}, {'2d','positive'});
p.addOptional(argName, default, validation);
% name-value pairs
argName = 'model';
default = [];
validation = @(x) validateattributes(x, {'numeric'}, {'vector','positive'});
p.addParameter(argName, default, validation);
argName = 'order';
default = [];
validation = @(x) validateattributes(x, {'numeric'}, {'scalar','integer','>',0,'<',3});
p.addParameter(argName, default, validation);
% pull out all passed data with the inputParser and stash into input struct
p.parse(frequency, varargin{:});
input = p.Results
Estoy confundido por su pregunta. Ya está allí. Esto funciona para cualquier archivo m en su ruta de búsqueda. –
Tiene toda la razón, edité la pregunta para mayor claridad. –
Recientemente descubrí que la información sobre herramientas para una función se puede llamar mediante Ctrl + F1 en el editor MATLAB. ¡Guay! – yuk