Ricerca…


Osservazioni

  • Il testo di aiuto può essere posizionato prima o dopo la linea di function , purché non ci sia codice tra la linea di funzione e l'inizio del testo di aiuto.
  • La maiuscola del nome della funzione mette in grassetto il nome e non è richiesta.
  • Se una riga è preceduta da See also , qualsiasi nome sulla riga che corrisponde al nome di una classe o funzione sul percorso di ricerca si collegherà automaticamente alla documentazione di quella classe / funzione.
    • Le funzioni globali possono essere indicate qui precedendo il loro nome con un \ . Altrimenti, i nomi prima tenteranno e risolveranno le funzioni dei membri.
  • I collegamenti ipertestuali del modulo <a href="matlab:web('url')">Name</a> sono consentiti.

Documentazione di funzioni semplici

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 fornisce quindi:

mymult Moltiplica due numeri.

output = mymult (a, b) moltiplica a e b.

Vedi anche fft, foo, sin.

Per ulteriori informazioni, consultare Google .

fft e sin si collegano automaticamente al loro rispettivo testo di aiuto e Google è un link a google.com . foo non si collegherà ad alcuna documentazione in questo caso, purché non ci sia una funzione / classe documentata con il nome di foo sul percorso di ricerca.

Documentazione delle funzioni locali

In questo esempio, è possibile accedere alla documentazione della funzione locale baz (definita in foo.m ) tramite il collegamento risultante in help foo o direttamente tramite 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

Ottenere una firma di funzione

Spesso è utile avere MATLAB stampare il 1 ° linea di una funzione, come questo di solito contiene la firma di funzione, tra cui gli ingressi e le uscite:

dbtype <functionName> 1

Esempio:

>> dbtype fit 1

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

Documentare una funzione con uno script di esempio

Per documentare una funzione, è spesso utile avere uno script di esempio che usi la tua funzione. La funzione di pubblicazione in Matlab può quindi essere utilizzata per generare un file di guida con immagini, codice, collegamenti incorporati, ecc. La sintassi per la documentazione del codice può essere trovata qui .

La funzione Questa funzione utilizza un FFT "corretto" in Matlab.

function out_sig = myfft(in_sig)

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

end

Lo script di esempio Questo è uno script separato che spiega gli input, gli output e fornisce un esempio che spiega perché è necessaria la correzione. Grazie a Wu, Kan, l'autore originale di questa funzione.

%% 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'output L'opzione di pubblicazione può essere trovata nella scheda "Pubblica", evidenziata nell'immagine Documentazione di funzione semplice di seguito.

PublishImage

Matlab eseguirà lo script e salverà le immagini che vengono visualizzate, nonché il testo generato dalla riga di comando. L'output può essere salvato in diversi tipi di formati, inclusi HTML, Latex e PDF.

L'output dello script di esempio sopra riportato può essere visto nell'immagine qui sotto.

OutputExample



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow