Buscar..


Observaciones

  • El texto de ayuda puede ubicarse antes o después de la línea de function , siempre que no haya código entre la línea de función y el inicio del texto de ayuda.
  • El uso de mayúsculas en el nombre de la función solo muestra el nombre en negrita y no es obligatorio.
  • Si una línea está precedida por See also , cualquier nombre en la línea que coincida con el nombre de una clase o función en la ruta de búsqueda se vinculará automáticamente a la documentación de esa clase / función.
    • Las funciones globales se pueden consultar aquí precediendo su nombre con una \ . De lo contrario, los nombres primero intentarán resolver las funciones miembro.
  • Se permiten los hipervínculos del formulario <a href="matlab:web('url')">Name</a> .

Documentación de función simple

function output = mymult(a, b)
% MYMULT Multiply two numbers.
%   output = MYMULT(a, b) multiplies a and b.
%
%   See also fft, foo, sin.
%
%   For more information, see <a href="matlab:web('https://google.com')">Google</a>.
    output = a * b;
end

help mymult luego proporciona:

mymult Multiplica dos números.

output = mymult (a, b) multiplica a y b.

Véase también fft, foo, pecado.

Para obtener más información, consulte Google .

fft y sin enlazan automáticamente a su respectivo texto de ayuda, y Google es un enlace a google.com . foo no enlazará con ninguna documentación en este caso, siempre que no haya una función / clase documentada con el nombre de foo en la ruta de búsqueda.

Documentación de la función local

En este ejemplo, se puede acceder a la documentación para la función local baz (definida en foo.m ) mediante el enlace resultante en help foo , o directamente a través de help foo>baz .

function bar = foo
%This is documentation for FOO.
% See also foo>baz

% This wont be printed, because there is a line without % on it.
end

function baz
% This is documentation for BAZ.
end

Obtención de una firma de función.

A menudo es útil que MATLAB imprima la primera línea de una función, ya que generalmente contiene la firma de la función, incluidas las entradas y salidas:

dbtype <functionName> 1

Ejemplo:

>> dbtype fit 1

1  function [fitobj,goodness,output,warnstr,errstr,convmsg] = fit(xdatain,ydatain,fittypeobj,varargin)

Documentar una función con un script de ejemplo

Para documentar una función, a menudo es útil tener un script de ejemplo que use su función. La función de publicación en Matlab se puede usar para generar un archivo de ayuda con imágenes, códigos, enlaces, etc. incrustados. La sintaxis para documentar su código se puede encontrar aquí .

La función Esta función utiliza un FFT "corregido" en Matlab.

function out_sig = myfft(in_sig)

out_sig = fftshift(fft(ifftshift(in_sig)));

end

La secuencia de comandos de ejemplo Esta es una secuencia de comandos independiente que explica las entradas, salidas y da un ejemplo que explica por qué es necesaria la corrección. Gracias a Wu, Kan, el autor original de esta función.

%% myfft
% This function uses the "proper" fft in matlab. Note that the fft needs to
% be multiplied by dt to have physical significance.
% For a full description of why the FFT should be taken like this, refer
% to: Why_use_fftshift(fft(fftshift(x)))__in_Matlab.pdf included in the
% help folder of this code. Additional information can be found:
% <https://www.mathworks.com/matlabcentral/fileexchange/25473-why-use-fftshift-fft-fftshift-x----in-matlab-instead-of-fft-x-->
%
%% Inputs
% *in_sig* - 1D signal
% 
%% Outputs
% *out_sig* - corrected FFT of *in_sig*
% 
%% Examples
% Generate a signal with an analytical solution. The analytical solution is
% then compared to the fft then to myfft. This example is a modified
% version given by Wu, Kan given in the link aboce.
%%
% Set parameters
fs = 500;           %sampling frequency
dt = 1/fs;          %time step
T=1;                %total time window
t = -T/2:dt:T/2-dt; %time grids
df = 1/T;           %freq step
Fmax = 1/2/dt;      %freq window
f=-Fmax:df:Fmax-df; %freq grids, not used in our examples, could be used by plot(f, X)
%%
% Generate Gaussian curve
Bx = 10; A = sqrt(log(2))/(2*pi*Bx);    %Characteristics of Gaussian curve
x = exp(-t.^2/2/A^2);                   %Create Gaussian Curve
%% 
% Generate Analytical solution
Xan = A*sqrt(2*pi)*exp(-2*pi^2*f.^2*A^2); %X(f), real part of the analytical Fourier transform of x(t)

%%
% Take FFT and corrected FFT then compare
Xfft = dt *fftshift(fft(x));    %FFT
Xfinal = dt * myfft(x);         %Corrected FFT
hold on
plot(f,Xan);
plot(f,real(Xfft));
plot(f,real(Xfinal),'ro');
title('Comparison of Corrected and Uncorrected FFT');
legend('Analytical Solution','Uncorrected FFT','Corrected FFT');
xlabel('Frequency'); ylabel('Amplitude');
DT = max(f) - min(f);
xlim([-DT/4,DT/4]);

La salida La opción de publicación se puede encontrar en la pestaña "Publicar", resaltada en la imagen Documentación de la función simple a continuación.

PublishImage

Matlab ejecutará el script y guardará las imágenes que se muestran, así como el texto generado por la línea de comandos. La salida se puede guardar en muchos tipos diferentes de formatos, incluidos HTML, Latex y PDF.

La salida de la secuencia de comandos de ejemplo proporcionada anteriormente se puede ver en la imagen de abajo.

Ejemplo de salida



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow