Suche…


Bemerkungen

  • Hilfetext kann vor oder hinter der function , solange zwischen der Funktionszeile und dem Start des Hilfetextes kein Code steht.
  • Die Großschreibung des Funktionsnamens macht nur den Namen und ist nicht erforderlich.
  • Wenn eine Zeile mit See also vorangestellt wird, werden alle Namen in der Zeile, die dem Namen einer Klasse oder Funktion im Suchpfad entsprechen, automatisch mit der Dokumentation dieser Klasse / Funktion verknüpft.
    • Auf globale Funktionen kann hier verwiesen werden, indem ihrem Namen ein \ vorangestellt wird. Andernfalls werden die Namen zuerst versucht und in Mitgliederfunktionen aufgelöst.
  • Hyperlinks des Formulars <a href="matlab:web('url')">Name</a> sind zulässig.

Einfache 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 bietet dann:

mymult Multipliziere zwei Zahlen.

output = mymult (a, b) multipliziert a und b.

Siehe auch fft, foo, sin.

Weitere Informationen finden Sie unter Google .

fft und sin verknüpfen automatisch den jeweiligen fft , und Google ist ein Link zu google.com . foo in diesem Fall keine Verknüpfung zu einer Dokumentation her, solange im Suchpfad keine dokumentierte Funktion / Klasse mit dem Namen foo .

Lokale Funktionsdokumentation

In diesem Beispiel kann auf die Dokumentation für die lokale Funktion baz (in foo.m definiert) entweder über den entsprechenden Link in help foo oder direkt über help foo>baz zugegriffen werden.

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

Erhalten einer Funktionssignatur

Es ist oft hilfreich MATLAB die 1. Zeile einer Funktion gedruckt zu haben, wie dies in der Regel die Funktion Signatur enthält, einschließlich Ein- und Ausgänge:

dbtype <functionName> 1

Beispiel:

>> dbtype fit 1

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

Eine Funktion mit einem Beispielskript dokumentieren

Um eine Funktion zu dokumentieren, ist es oft hilfreich, ein Beispielskript zu haben, das Ihre Funktion verwendet. Mit der Publish-Funktion in Matlab können Sie dann eine Hilfedatei mit eingebetteten Bildern, Code, Links usw. erstellen. Die Syntax zur Dokumentation Ihres Codes finden Sie hier .

Die Funktion Diese Funktion verwendet eine "korrigierte" FFT in Matlab.

function out_sig = myfft(in_sig)

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

end

Das Beispielskript Dies ist ein separates Skript, das die Ein- und Ausgänge erläutert und ein Beispiel gibt, warum die Korrektur erforderlich ist. Dank an Wu, Kan, den ursprünglichen Autor dieser 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]);

Die Ausgabe Die Veröffentlichungsoption befindet sich auf der Registerkarte "Veröffentlichen", die in der folgenden Abbildung der einfachen Funktionsdokumentation hervorgehoben ist .

PublishImage

Matlab führt das Skript aus und speichert die angezeigten Bilder sowie den von der Befehlszeile generierten Text. Die Ausgabe kann in vielen verschiedenen Formaten gespeichert werden, darunter HTML, Latex und PDF.

Die Ausgabe des oben angegebenen Beispielskripts ist in der Abbildung unten zu sehen.

Ausgabebeispiel



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow