Wie definiert man häufig verwendete Variablen im Pseudocode?

Wie definiert man häufig verwendete Variablen im Pseudocode?

alg_pic

Um den obigen Pseudocode zu generieren, habe ich den folgenden Code verwendet:

\begin{algorithm}
\caption{sample}\label{sample}
\begin{algorithmic}[1]
\Require $\mathbf{D} \in \mathbb{R}^{M \times N}$
\State $\mathbf{V}^{(0)} \in \mathbb{R}^{K \times N} \gets $ random matrix
\For {$t= 1:T$}
    \State $\mathbf{U}^{(t)} \gets Update\mathbf{U}(\mathbf{D},\mathbf{V}^{t-1})$
    \State $\mathbf{V}^{(t)} \gets Update\mathbf{V}(\mathbf{D},\mathbf{U}^{t})$
\EndFor 
\State \Return $\mathbf{U}^{(T)},\mathbf{V}^{(T)}$
\end{algorithmic}
\end{algorithm}

\mathbfDas Problem ist, dass ich für alle verwenden und sie als Matrix oder Vektor darstellen muss. Gibt es eine andere Möglichkeit, diese Variablen einmal zu definieren D, ohne sie für alle verwenden zu müssen?UV\mathbf

Antwort1

Ja, der typische Ansatz hier ist, den Rat in zu befolgenEinheitliche TypografieDas heißt: Erstellen Sie ein Makro, das das Konzept definiert, und verwenden Sie es im gesamten Dokument.

Bildbeschreibung hier eingeben

\documentclass{article}

\usepackage{algorithm,algpseudocode,amsfonts}

\newcommand{\sampleset}{\mathbf{D}}
\newcommand{\universe}[1]{\mathbb{R}^{#1}}
\newcommand{\setA}{\mathbf{U}}
\newcommand{\setB}{\mathbf{V}}

\begin{document}

\begin{algorithm}
  \caption{sample}\label{sample}
  \begin{algorithmic}[1]
  \Require $\sampleset \in \universe{M \times N}$
  \State $\setB^{(0)} \in \universe{K \times N} \gets $ random matrix
  \For {$t= 1:T$}
    \State $\setA^{(t)} \gets Update\setA(\mathbf{D},\setA^{t-1})$
    \State $\setB^{(t)} \gets Update\setB(\mathbf{D},\setB^{t})$
  \EndFor 
  \State \Return $\setA^{(T)},\setB^{(T)}$
  \end{algorithmic}
\end{algorithm}

\end{document}

Oben habe ich einigeVariablen, aber Sie können dasselbe mit Funktionen innerhalb Ihres Algorithmus tun.

verwandte Informationen