Recherche…


Remarques

  • Le texte d'aide peut être situé avant ou après la ligne de function , tant qu'il n'y a pas de code entre la ligne de fonction et le début du texte d'aide.
  • La mise en majuscule du nom de la fonction ne marque que le nom et n'est pas obligatoire.
  • Si une ligne est précédée de See also , tous les noms de la ligne correspondant au nom d'une classe ou d'une fonction sur le chemin de recherche seront automatiquement liés à la documentation de cette classe / fonction.
    • Les fonctions globales peuvent être désignées ici en précédant leur nom par un \ . Sinon, les noms vont d'abord essayer de résoudre les fonctions membres.
  • Les hyperliens de la forme <a href="matlab:web('url')">Name</a> sont autorisés.

Documentation de fonction 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 fournit alors:

mymult Multiplie deux nombres.

output = mymult (a, b) multiplie a et b.

Voir aussi, foo, péché.

Pour plus d'informations, voir Google .

fft et sin automatiquement fft à leur texte d'aide respectif, et Google est un lien vers google.com . foo ne liera aucune documentation dans ce cas, tant qu'il n'y a pas de fonction / classe documentée par le nom de foo sur le chemin de recherche.

Documentation de fonction locale

Dans cet exemple, la documentation de la fonction locale baz (définie dans foo.m ) est accessible soit par le lien résultant dans help foo , soit directement via 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

Obtenir une signature de fonction

Il est souvent utile que MATLAB imprime la 1ère ligne d’une fonction, car celle-ci contient généralement la signature de la fonction, y compris les entrées et les sorties:

dbtype <functionName> 1

Exemple:

>> dbtype fit 1

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

Documenter une fonction avec un exemple de script

Pour documenter une fonction, il est souvent utile d'avoir un exemple de script qui utilise votre fonction. La fonction de publication dans Matlab peut ensuite être utilisée pour générer un fichier d'aide contenant des images, du code, des liens, etc. intégrés. La syntaxe de documentation de votre code peut être trouvée ici .

La fonction Cette fonction utilise une FFT "corrigée" dans Matlab.

function out_sig = myfft(in_sig)

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

end

L'exemple de script Il s'agit d'un script distinct qui explique les entrées, les sorties et donne un exemple expliquant pourquoi la correction est nécessaire. Merci à Wu, Kan, l'auteur original de cette fonction.

%% 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]);

L' option de publication se trouve sous l'onglet "Publier", mis en évidence dans l'image Documentation de fonction simple ci-dessous.

PublishImage

Matlab exécutera le script et enregistrera les images affichées, ainsi que le texte généré par la ligne de commande. La sortie peut être enregistrée dans différents types de formats, y compris HTML, Latex et PDF.

La sortie du script d'exemple ci-dessus peut être vue dans l'image ci-dessous.

Exemple de sortie



Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow