MATLAB Language
Funciones de documentacion
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.
- Las funciones globales se pueden consultar aquí precediendo su nombre con una
- 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.
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.