MATLAB Language
Funkcje dokumentowania
Szukaj…
Uwagi
- Tekst pomocy może znajdować się przed linią
function
lub za nią, o ile nie ma kodu między linią funkcyjną a początkiem tekstu pomocy. - Wielkie litery nazwy funkcji pogrubiają ją i nie są wymagane.
- Jeśli wiersz jest poprzedzony opcją
See also
, wszelkie nazwy w linii, które pasują do nazwy klasy lub funkcji na ścieżce wyszukiwania, automatycznie połączą się z dokumentacją tej klasy / funkcji.- Do funkcji globalnych można odwoływać się tutaj, poprzedzając ich nazwę znakiem
\
. W przeciwnym razie nazwy najpierw spróbują przekształcić się w funkcje składowe.
- Do funkcji globalnych można odwoływać się tutaj, poprzedzając ich nazwę znakiem
- Hiperłącza w postaci
<a href="matlab:web('url')">Name</a>
są dozwolone.
Prosta dokumentacja funkcji
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
zapewnia wtedy:
mymult Pomnóż dwie liczby.
output = mymult (a, b) mnoży a i b.
Zobacz także fft, foo, sin.
Aby uzyskać więcej informacji, zobacz Google .
fft
i sin
automatycznie łączą się z odpowiednim tekstem pomocy, a Google to link do google.com . W tym przypadku foo
nie będzie foo
się z żadną dokumentacją, o ile na ścieżce wyszukiwania nie ma udokumentowanej funkcji / klasy o nazwie foo
.
Dokumentacja funkcji lokalnych
W tym przykładzie dostęp do dokumentacji dla funkcji lokalnej baz
(zdefiniowanej w foo.m
) można uzyskać albo poprzez wynikowy link w help foo
, albo bezpośrednio poprzez 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
Uzyskiwanie podpisu funkcji
Często pomocne jest, aby MATLAB wydrukował pierwszy wiersz funkcji, ponieważ zwykle zawiera on podpis funkcji, w tym dane wejściowe i wyjściowe:
dbtype <functionName> 1
Przykład:
>> dbtype fit 1
1 function [fitobj,goodness,output,warnstr,errstr,convmsg] = fit(xdatain,ydatain,fittypeobj,varargin)
Dokumentowanie funkcji za pomocą przykładowego skryptu
Aby udokumentować funkcję, często przydatny jest przykładowy skrypt korzystający z tej funkcji. Funkcji publikowania w Matlabie można następnie użyć do wygenerowania pliku pomocy z osadzonymi obrazkami, kodem, linkami itp. Składnię do dokumentowania kodu można znaleźć tutaj .
Funkcja Ta funkcja używa „poprawionego” FFT w Matlabie.
function out_sig = myfft(in_sig)
out_sig = fftshift(fft(ifftshift(in_sig)));
end
Przykładowy skrypt Jest to osobny skrypt, który objaśnia dane wejściowe, wyjściowe i podaje przykład wyjaśniający, dlaczego korekta jest konieczna. Dzięki Wu, Kan, autorowi tej funkcji.
%% 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]);
Wyjście Opcja publikowania znajduje się w zakładce „Publikuj”, podświetlonej na obrazku Dokumentacja funkcji prostej poniżej.
Matlab uruchomi skrypt i zapisze wyświetlane obrazy, a także tekst wygenerowany z wiersza poleceń. Dane wyjściowe można zapisać w wielu różnych formatach, w tym HTML, Lateks i PDF.
Dane wyjściowe przykładowego skryptu podane powyżej można zobaczyć na poniższym obrazku.