在 for 循环结束时 end for=0

在 for 循环结束时 end for=0

我不确定为什么在 for 循环末尾会出现两个额外的字符。查看 StackExchange 上的其他答案表明我不应该同时使用 algorithm 和 algorithmic,最好只使用其中一种。

但是,删除其中任何一个都不会产生我想要的结果。

这是代码。

\usepackage{setspace}
\usepackage{amssymb}
\usepackage{amsmath}
\usepackage{multicol}
\usepackage{algorithm}
\usepackage{algorithmic}
\usepackage{subcaption}
\usepackage{colortbl}
\usepackage{xparse}
\usepackage{caption}
\usepackage{fancyhdr}
\usepackage{algpseudocode}

\begin{center}
\begin{minipage}{1\textwidth}
\begin{algorithm}[H]
\caption{Forward calculation for pair HMMs}
\begin{algorithmic} 
\REQUIRE Set $f^{\mathrm{M}}(0,0)=1 f^{\mathrm{X}}(0,0)=f^{\mathrm{Y}}(0,0)= f^{*}(i,-1) = f^{*}(-1, j) = 0$
\FOR{$i=0, \ldots, n, j=0, \ldots, m \text { except }(0,0)$}

\begin{aligned}
f^{\mathrm{M}}(i, j) & = p_{I_{i} O_{j}}\left[a_{MM} (f^{\mathrm{M}}(i-1, j-1))+\\
& \quad \quad \left.a_{XM}\left(f^{\mathrm{X}}(i-1, j-1)\right)+a_{YM}(f^{\mathrm{Y}}(i-1, j-1)\right)\right] \\
f^{\mathrm{X}}(i, j) & = q_{I_{i}}\left[a_{MX} f^{\mathrm{M}}(i-1, j)+a_{XX} f^{\mathrm{X}}(i-1, j)\right] \\
f^{\mathrm{Y}}(i, j) & = q_{O_{j}}\left[a_{MY} f^{\mathrm{M}}(i, j-1)+a_{YY} f^{\mathrm{Y}}(i, j-1)\right]\\
\end{aligned}

\ENDFOR
\end{algorithmic}
\end{algorithm}
\end{minipage}
\end{center}

答案1

您不应该同时加载algorithmicalgpseudocode。您使用的是与前者相关的语法。

这是修复版本;请注意更改,特别是封闭aligned$...$添加\STATE

我还删除了所有\left\right,除了产生错误之外什么也没发生。

\documentclass{article}
\usepackage{amsmath}
\usepackage{algorithm}
\usepackage{algorithmic}

\begin{document}

\begin{algorithm}[H]
\caption{Forward calculation for pair HMMs}
\begin{algorithmic} 
\REQUIRE Set $f^{\mathrm{M}}(0,0)=1$, $f^{\mathrm{X}}(0,0)=
  f^{\mathrm{Y}}(0,0)= f^{*}(i,-1) = f^{*}(-1, j) = 0$
\FOR{$i=0, \dots, n$, $j=0, \dots, m$ except $(0,0)$}
\STATE $\begin{aligned}
f^{\mathrm{M}}(i, j) & = p_{I_{i} O_{j}}[a_{MM} (f^{\mathrm{M}}(i-1, j-1))+\\
& \quad \quad a_{XM}f^{\mathrm{X}}(i-1, j-1))+a_{YM}(f^{\mathrm{Y}}(i-1, j-1))] \\
f^{\mathrm{X}}(i, j) & = q_{I_{i}}[a_{MX} f^{\mathrm{M}}(i-1, j)+a_{XX} f^{\mathrm{X}}(i-1, j)] \\
f^{\mathrm{Y}}(i, j) & = q_{O_{j}}[a_{MY} f^{\mathrm{M}}(i, j-1)+a_{YY} f^{\mathrm{Y}}(i, j-1)]\\
\end{aligned}$
\ENDFOR
\end{algorithmic}
\end{algorithm}

\end{document}

在此处输入图片描述

相关内容