XeLex小记

%在菜单中,编译器选择XeLaTex

\documentclass[12pt]{ctexart}
\usepackage[top=2cm, bottom=2cm, left=2.5cm, right=2.5cm]{geometry} %定义页边距
\usepackage{algorithm}
\usepackage{algorithmicx}
\usepackage{algpseudocode}
\usepackage{amsmath} %数学公式
\usepackage[UTF8]{ctex} %输出中文
\floatname{algorithm}{Algorithm} %算法
\renewcommand{\algorithmicrequire}{\textbf{Input:}} %输入
\renewcommand{\algorithmicensure}{\textbf{Output:}} %输出

\begin{document}
\renewcommand{\thealgorithm}{1} %这里用来定义算法1,算法2等
\begin{algorithm}
\caption{小学生测试系统} %标题
\begin{algorithmic}[1] %每行显示行号,1表示每1行进行显示
\Require 加减法的答案 %输入
\Ensure 得分,评级 %输出
\While{答题数不为10}
\State 随机两个1-50之间的整数A和B
\If{A+B>50 or A-B<0}
\State 重新随机A,B
\Else
\State 进入出题阶段
\EndIf
\EndWhile
\For{$m = 1 \to M$} //$m$表示迭代次数
\State $C_1 \Leftarrow \emptyset, C_2 \Leftarrow \emptyset$ //初始化各簇
\For{$i = 1,2,...,N$} //$i$表示样本集编号
\State $d_{i1} \Leftarrow {\Vert x_i-u_1 \Vert}^2$, $d_{i2} \Leftarrow {\Vert x_i-u_2 \Vert}^2$ //计算$x_i$到两质心的欧式距离
\If {$d_{i1} \leq d_{i2}$}
\State $C_1 \Leftarrow C_1 \cup \{x_i\}$ //将$x_i$划分到相应的簇
\Else
\State $C_2 \Leftarrow C_2 \cup \{x_i\}$ %有时候需要用\来转译
\EndIf
\EndFor
\State $\tilde{u_1} \Leftarrow \frac{1}{\vert C_1 \vert}\sum_{x \in C_1} x$, $\tilde{u_2} \Leftarrow \frac{1}{\vert C_2 \vert}\sum_{x \in C_2} x$ //重新计算各簇质心
\If{$(\tilde{u_1} == u_1) && (\tilde{u_2} == u_2$} //各簇质心未改变,跳出循环
\State \textbf{break} from line 3 %\textbf为加粗
\Else
\State $u_1 \Leftarrow \tilde{u_1}, u_2 \Leftarrow \tilde{u_2}$ //更新各簇质心
\EndIf
\EndFor
\State \Return $C_1, C_2$ //输出结果
\end{algorithmic}
\end{algorithm}
\end{document}

posted @ 2022-04-22 09:57  ZXLam  阅读(95)  评论(0)    收藏  举报