在表格中写出算法

在表格中写出算法

我想编写一个算法,以便我所附的内容,我对使用 latex 编写算法有些了解。我不需要确切的答案,只需要提示或与我所附内容类似的示例。

算法写在表格中

答案1

您可以执行以下任一操作:

  1. 将每个算法置于其自己的minipage环境中:

    \begin{minipage}{.5\textwidth}
      \begin{algorithm}[H]% Left algorithm
        ...
      \end{algorithm}
    \end{minipage}%
    \begin{minipage}{.5\textwidth}
      \begin{algorithm}[H]% Right algorithm
        ...
      \end{algorithm}
    \end{minipage}%
    
  2. 将算法放在更大的表的列内。

我选择了上面的(2)来制作这个(借助booktabs

在此处输入图片描述

符号和其他符号可能需要更改。这只是为了让您了解可以做什么。


剧透警告:

\documentclass{article}

\usepackage[margin=1in]{geometry}% Just for this example

\usepackage[lined]{algorithm2e}
\usepackage{amsmath,tabularx,booktabs}

\DontPrintSemicolon

\newcommand{\vectnotation}[1]{\textbf{\textit{#1}}}
\DeclareMathOperator{\Vect}{vec}
\newcommand{\vect}[1]{\Vect(#1)}
\newcommand{\assign}{\leftarrow}
\newcommand{\To}{\textup{\textbf{to}}}

\begin{document}

\noindent
\begin{tabularx}{\textwidth}{XX}
  \toprule
  \multicolumn{2}{p{\dimexpr\textwidth-2\tabcolsep}}{\refstepcounter{algocf}\AlCapSty{\AlCapFnt\algorithmcfname\nobreakspace\thealgocf:}
    Efficient application of the wavelet dictionary by the Horner's rule.} \\
  \midrule
  \begin{algorithm}[H]
    Forward operator $(y = \vectnotation{D} \vect{\vectnotation{X}})$\;
    $\vectnotation{R} \assign \mathbf{1} \otimes \vectnotation{X}(N,:)$\;
    \For{$n \assign 2$ \To{} $N$}{
      $\vectnotation{P} \assign \mathbf{1} \otimes \vectnotation{X}(N-n+1,:)$\;
      $\vectnotation{R} \assign \vectnotation{R} \circ \vectnotation{Z} + \vectnotation{P}$\;
    }
    $\vectnotation{y} \assign \vectnotation{F}^{-1}(\hat{\vectnotation{w}} \circ \vectnotation{R}\mathbf{1})$\;
  \end{algorithm} &
  \begin{algorithm}[H]
    Adjunct operator $(\vect{\tilde{\vectnotation{X}}} = \vectnotation{D}^{T} \vectnotation{y})$\;
    $\mathbf{\rho} \assign \vectnotation{y}^{T} \vectnotation{W}\vectnotation{F}$\;
    $\vectnotation{L} \assign N \times M$ all-ones matrix\;
    \For{$n \assign 2$ \To{} $N$}{
      $\tilde{\vectnotation{X}}(n,:) \assign \mathbf{\rho} \vectnotation{L}$\;
      $\vectnotation{L} \assign \vectnotation{Z}^{\star} \circ \vectnotation{L}$\;
    }
  \end{algorithm} \\[-\normalbaselineskip]
  \bottomrule
\end{tabularx}

\end{document}

相关内容