Sök…


Anmärkningar

  • Hjälptext kan finnas före eller efter function , så länge det inte finns någon kod mellan funktionsraden och starttexten.
  • Använda stora bokstäver av funktionsnamnet vet bara namnet och krävs inte.
  • Om en rad förhindras med See also , kommer alla namn på linjen som matchar namnet på en klass eller funktion på sökvägen automatiskt att länka till dokumentationen för den klassen / funktionen.
    • Här kan hänvisas till globala funktioner genom att föregå deras namn med en \ . Annars kommer namnen först att försöka lösa medlemsfunktioner.
  • Hyperlänkar i formuläret <a href="matlab:web('url')">Name</a> är tillåtna.

Enkel funktionsdokumentation

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 ger sedan:

mymult Multiplicera två siffror.

output = mymult (a, b) multiplicerar a och b.

Se även fft, foo, synd.

Mer information finns i Google .

fft and sin länkar automatiskt till respektive hjälptext och Google är en länk till google.com . foo kommer inte att länka till någon dokumentation i detta fall, så länge det inte finns en dokumenterad funktion / klass med namnet på foo på sökvägen.

Lokal funktionsdokumentation

I detta exempel kan dokumentation för den lokala funktionen baz (definierad i foo.m ) nås antingen genom den resulterande länken i help foo , eller direkt genom 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

Få en funktionssignatur

Det är ofta bra att ha MATLAB ut 1: a raden av en funktion, eftersom det innehåller vanligtvis funktionen signaturen, inklusive in- och utgångar:

dbtype <functionName> 1

Exempel:

>> dbtype fit 1

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

Dokumentera en funktion med ett exempelmanus

För att dokumentera en funktion är det ofta bra att ha ett exempelskript som använder din funktion. Publiceringsfunktionen i Matlab kan sedan användas för att generera en hjälpfil med inbäddade bilder, kod, länkar osv. Syntaxen för att dokumentera din kod kan hittas här .

Funktionen Denna funktion använder en "korrigerad" FFT i Matlab.

function out_sig = myfft(in_sig)

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

end

Exempelskriptet Detta är ett separat skript som förklarar ingångar, utgångar och ger ett exempel som förklarar varför korrigering är nödvändig. Tack vare Wu, Kan, den ursprungliga författaren till denna funktion.

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

Utdatan Publiceringsalternativet finns under fliken "Publicera", markerad i bilden Enkel funktionsdokumentation nedan.

PublishImage

Matlab kommer att köra skriptet och spara bilderna som visas samt texten som genereras av kommandoraden. Utgången kan sparas i många olika typer av format, inklusive HTML, Latex och PDF.

Utgången från exempelskriptet som ges ovan kan ses på bilden nedan.

OutputExample



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow