日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

latex 伪代码_Latex-算法伪代码

發布時間:2025/3/20 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 latex 伪代码_Latex-算法伪代码 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

lalex算法偽代碼請用相應的宏包!

latex算法偽代碼請用相應的宏包!

一般來說論文中算法的偽代碼生成是比較簡單,所以我只給出兩種方法

  • algorithm

宏包

usepackage{algorithm}
usepackage{algorithmic}

我給出兩種例子,足夠平時使用:

官方用例如下:

begin{algorithm} caption{Calculate $y = x^n$} label{alg3} begin{algorithmic}REQUIRE $n geq 0 vee x neq 0$ ENSURE $y = x^n$ STATE $y gets 1$ IF{$n < 0$} STATE $X gets 1 / x$ STATE $N gets -n$ ELSE STATE $X gets x$ STATE $N gets n$ ENDIF WHILE{$N neq 0$} IF{$N$ is even} STATE $X gets X times X$ STATE $N gets N / 2$ ELSE[$N$ is odd] STATE $y gets y times X$ STATE $N gets N - 1$ ENDIF ENDWHILE end{algorithmic} end{algorithm}

給出另一個我實際論文中的寫法(以下算法過程,可以在我發表的論文中找到)

begin{algorithm}%textsl{}setstretch{1.8}renewcommand{algorithmicrequire}{textbf{Input:}}renewcommand{algorithmicensure}{textbf{Output:}}caption{STVMD based on STFT}label{alg1}begin{algorithmic}[1]STATE Initialization:$left{ {s_{k,t}^1} right},left{ {omega _{k,t}^1} right},lambda _t^1,n leftarrow 0$STATE ${s_{r,t}}left( omega right) = int_0^{ + infty } {{s_r}left( tau right){w_h}left( {t - tau } right)} exp left( {jomega tau } right)dtau $ (via STFT)REPEATSTATE $n leftarrow n + 1$STATE Update $ s_{k,t}^{n + 1} $ based on Equation~(ref{eqn_8})STATE Update $omega _{k,t}^{n + 1}$ based on Equation~(ref{eqn_9})STATE Update $lambda _t^{n + 1} $ based on Equation~(ref{eqn_10})UNTIL $sumlimits_{k=1}^P {{{left| {s_{k,t}^{n + 1}left( omega right) - s_{k,t}^nleft( omega right)} right|_2^2} mathord{left/{vphantom {{left| {s_{k,t}^{n + 1}left( omega right) - s_{k,t}^nleft( omega right)} right|_2^2} {left| {s_{k,t}^nleft( omega right)} right|_2^2}}} right.kern-nulldelimiterspace} {left| {s_{k,t}^nleft( omega right)} right|_2^2}}} < varepsilon $ STATE Update ${s_k}left( t right)$ based on Equation~(ref{eqn_11_12}) (via ISTFT)ENSURE decomposed modes $ left{ {{s_k}left( t right)} right}$, $left{ {{omega _k}left( t right)} right}$end{algorithmic} end{algorithm}

需要說明的幾點:

1:

renewcommand{algorithmicrequire{textbf{Input:}}
renewcommand{algorithmicensure{textbf{Output:}}

這表示將將官方的 require 和 ensure 關鍵字換成我們常用的 input 和 output。

2:

%textsl{}setstretch{1.8}

有的時候我們的公式比較復雜,所以存在兩行公式之間的間隔很短或者重疊,所以我們顯示調整偽代碼中行距,就可以使用上面的語句。

  • algorithm2e

這里還給出另一種格式的代碼,所需要的宏包不一樣。

usepackage[linesnumbered,ruled,vlined]{algorithm2e}

官方用例之一如下:

IncMargin{1em} begin{algorithm} SetKwData{Left}{left}SetKwData{This}{this}SetKwData{Up}{up} SetKwFunction{Union}{Union}SetKwFunction{FindCompress}{FindCompress} SetKwInOut{Input}{input}SetKwInOut{Output}{output}Input{A bitmap $Im$ of size $wtimes l$} Output{A partition of the bitmap}BlankLine emph{special treatment of the first line}; For{$ileftarrow 2$ KwTo $l$}{ emph{special treatment of the first element of line $i$}; For{$jleftarrow 2$ KwTo $w$}{label{forins} Left$leftarrow$FindCompress{$Im[i,j-1]$}; Up$leftarrow$ FindCompress{$Im[i-1,]$}; This$leftarrow$ FindCompress{$Im[i,j]$}; If(tcp*[h]{O(Left,This)==1}){Left compatible with This}{label{lt} lIf{Left $<$ This}{Union{Left,This}}lElse{Union{This,Left}} } If(tcp*[f]{O(Up,This)==1}){Up compatible withThis}{label{ut} lIf{Up $<$ This}{Union{Up,This}} tcp{This is put under Up to keep tree as flat as possible}label{cmt} lElse{Union{This,Up}}tcp*[h]{This linked to Up}label{lelse}}}lForEach{element $e$ of the line $i$}{FindCompress{p}} } caption{disjoint decomposition}label{algo_disjdecomp} end{algorithm}DecMargin{1em}

其他用例參見官網說明

algorithm2e?mirrors.cqu.edu.cn

最后,上述使用范例足夠平時使用,祝大家論文必中。

%%%%%%%%手動分割線

看到評論中,有人問道算法分頁怎么辦

我查了以下目前大部分的解決方法是采用makeatletter和makeatother來實現的,具體方法如下:

Latex寫論文中,算法過長,需要分頁顯示的方法_rechardchen123的博客-CSDN博客_latex 算法分頁?blog.csdn.net

我自己也測試了以下,需要注意的就是我們論文中所有的begin{algorithm}` 和 `end{algorithm}需要用begin{breakablealgorithm}和end{breakablealgorithm}替換。但我們測試結果發現,對于雙欄模板而言,好像該方法并不能實現自動分行,所以某一行過長,會導致混亂,目前我也沒發現比較好的辦法。

單欄效果如下:

總結

以上是生活随笔為你收集整理的latex 伪代码_Latex-算法伪代码的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。