latex - LATEX算法包
问题描述
\begin{algorithm}
\caption{Sinkhorn's algorithm}
\begin{algorithmic}
\WHILE{ $\| B(u_{k}, v_{k})1 - \mu \| + \| B(u_{k}, v_{k})^{T} 1 - \nu \| \ge \epsilon'$ }
\IF {$k \text{ mod } 2 = 0$}
\STATE $u_{k+1} = u_{k} + ln \left( \frac{\mu}{B(u_{k},v_{k})\mathrm{1}} \right)$
\STATE $v_{k+1} = v_{k}$
\ELSE
\STATE $v_{k+1} = v_{k} + ln \left( \frac{\nu}{B(u_{k},v_{k})^{T} \mathrm{1}} \right) $
\STATE $u_{k+1} = u_{k}$
\ENDIF
\STATE $k = k+1$
\end{algorithmic}
\end{algorithm}
这段代码不起作用你知道为什么吗?
谢谢并恭祝安康。
解决方案
\ENDWHILE
应该用来表示循环的结束。
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{algorithm}
\usepackage{algorithmic}
\usepackage{amsmath}
\begin{document}
\begin{algorithm}
\caption{Sinkhorn's algorithm}
\begin{algorithmic}
\WHILE{ $\| B(u_{k}, v_{k})1 - \mu \| + \| B(u_{k}, v_{k})^{T} 1 - \nu \| \ge \epsilon'$ }
\IF {$k \text{ mod } 2 = 0$}
\STATE $u_{k+1} = u_{k} + ln \left( \frac{\mu}{B(u_{k},v_{k})\mathrm{1}} \right)$
\STATE $v_{k+1} = v_{k}$
\ELSE
\STATE $v_{k+1} = v_{k} + ln \left( \frac{\nu}{B(u_{k},v_{k})^{T} \mathrm{1}} \right) $
\STATE $u_{k+1} = u_{k}$
\ENDIF
\STATE $k = k+1$
\ENDWHILE
\end{algorithmic}
\end{algorithm}
\end{document}
推荐阅读
- javascript - 如何在运行 WinAppDriver (Appium) 时从 Windows UWP 应用程序中捕获用户(单击按钮)
- python - 用于快速 3D 绘图和交互的 Python 库
- react-native - 客户端应用程序查看 React 本机领域数据库?
- reactjs - 修改表格高度时分页组件不合适
- c# - 有没有办法动态过滤 JSON?
- matlab - Matlab数(图)表示
- c# - 禁止访问 MS 图形
- postgresql - 在 PostgreSQL 中存储表行的非重复组合
- javascript - progressbar.js,内部带有图像,笔划带有文本
- google-sheets - 查询功能在 Y 列之外不起作用