本文转载自Nautilus_sailing的试试LaTeX插入数学公式,内容有所改动
今天写了一篇随笔,其中需要写几个数学式子,但是我又不想直接将公式做成图片后插入,我觉得很不美观还麻烦。但是我也不会LaTex语法,所以只能一点点百度。然后我看到了Nautilus_sailing的一篇博文,我觉得里面的内容已经够我用的了,就转载过来便于以后查看使用。
LaTeX编辑数学公式基本语法元素
LaTeX中的数学模式有两种形式:inline
和 display
,前者是指在正文插入行间数学公式,后者独立排列,可以有或没有编号。
- 行间公式(inline):用
$...$
将公式括起来。 - 块间公式(displayed),用
$$...$$
将公式括起来是无编号的形式,块间元素默认是居中显示的。 - 常见希腊字符:
$alpha$
、$eta$
、$gamma$
、$omega$
分别对应(alpha)、(eta)、(gamma)、(omega);大写的$Theta$
,$Gamma$
,$Omega$
分别为(Theta)、(Gamma)、(Omega)。 - 上下标、根号、省略号:
上标:^
,如果上标多于两个字符,则将上标用{}
括起来,如(x^{12})。
下表:_
,同上,如(x_{ij})。
根号:sqrt
,如(sqrt[n]{5})为$sqrt[n]{5}$
。
省略号:dots
、cdots
、vdots
、ddots
,分别为(dots)和(cdots)和 (vdots) 和(ddots) - 运算符:
求和:(sum_{i=1}^{n+m})写作$sum_{i=1}^{n+m}$
积分:(int_{a}^{a+b})写作$int_{a}^{a+b}$
极限:(lim_{x_i o infty})写作$lim_{x_i o infty}$
简单的运算符可以直接使用。
有特殊的例如pm imes div cdot cap cup geq leq eq approx equiv
,分别对应于:
[pm imes div cdot cap cup geq leq
eq approx equiv
]
- 分数:(frac{x+y}{a cdot b})可写作
$frac{x+y}{a cdot b}$
- 矩阵与行列式:
$$egin{matrix}……end{matrix}$$
,使用&分隔同行元素,\
换行。
矩阵:
$$
A =
left[
egin{matrix}
1 & x & y \
2 & x^2 & y^2 \
3 & x^3 & y^3 \
end{matrix}
ight]
$$
[A =
left[
egin{matrix}
1 & x & y \
2 & x^2 & y^2 \
3 & x^3 & y^3 \
end{matrix}
ight]
]
行列式:
$$
X=left|
egin{matrix}
x_{11} & x_{12} & cdots & x_{1d}\
x_{21} & x_{22} & cdots & x_{2d}\
vdots & vdots & ddots & vdots\
x_{m1} & x_{m2} & cdots & x_{md}\
end{matrix}
ight|
$$
[X=left|
egin{matrix}
x_{11} & x_{12} & cdots & x_{1d}\
x_{21} & x_{22} & cdots & x_{2d}\
vdots & vdots & ddots & vdots\
x_{m1} & x_{m2} & cdots & x_{md}\
end{matrix}
ight|
]
- 分隔符:
各种括号用() [] {} langle angle
等命令表示,注意花括号通常用来输入命令和环境的参数,所以在数学公式中它们前面要加。可以在上述分隔符前面加
ig Big igg Bigg
等命令来调整大小。如下:
$$
langle
angle {} () [] \
{ ig{ Big{ igg{ Bigg{
$$
[langle
angle {} () [] \
{ ig{ Big{ igg{ Bigg{
]
- 分段函数:
$$
f(n) =
egin{cases}
n/2, & ext{if $n$ is even} \
3n+1, & ext{if $n$ is odd}
end{cases}
$$
[f(n) =
egin{cases}
n/2, & ext{if $n$ is even} \
3n+1, & ext{if $n$ is odd}
end{cases}
]
- 方程组:
$$
left{
egin{array}{3}
a_1 x + b_1 y + c_1 z = d_1 \
a_2 x + b_2 y + c_2 z = d_2 \
a_3 x + b_3 y + c_3 z = d_3
end{array}
ight.
注意: 最后的
ight后面有个点.
$$
[left{
egin{array}{3}
a_1 x + b_1 y + c_1 z = d_1 \
a_2 x + b_2 y + c_2 z = d_2 \
a_3 x + b_3 y + c_3 z = d_3
end{array}
ight.
]
常用公式
建议先看公式,检测一下自己是否能写出来代码。
- 线性模型
[h( heta) = sum_{j=0}^n heta_j x_j
]
$$h( heta) = sum_{j=0}^n heta_j x_j$$
- 均方误差
[J( heta) = frac{1}{2m} sum_{i=0}^m (y^i - h_ heta(x^i))^2
]
$$J( heta) = frac{1}{2m} sum_{i=0}^m (y^i - h_ heta(x^i))^2$$
- 批量梯度下降
[frac{partial J( heta)}{partial heta_j} = -frac{1}{m} sum_{i=0}^m (y^i - h_ heta(x^i))x^i_j
]
$$frac{partial J( heta)}{partial heta_j} = -frac{1}{m} sum_{i=0}^m (y^i - h_ heta(x^i))x^i_j$$
推导过程:
[egin{align}
frac{partial J( heta)}{partial heta_j}
&= -frac{1}{m} sum_{i=0}^{m}(y^i-h_ heta(x^i)) frac{partial}{partial heta_j}(y^i-h_ heta(x^i)) \
& = -frac{1}{m} sum_{i=0}^m(y^i-h_ heta(x^i)) frac{partial}{partial heta_j}(sum_{j=0}^{n} heta_j x^i_j-y^i) \
& = -frac{1}{m} sum_{i=0}^m(y^i-h_ heta(x^i))x^i_j
end{align}
]
$$
egin{align}
frac{partial J( heta)}{partial heta_j}
& = -frac{1}{m} sum_{i=0}^{m}(y^i-h_ heta(x^i)) frac{partial}{partial heta_j}(y^i-h_ heta(x^i)) \
& = -frac{1}{m} sum_{i=0}^m(y^i-h_ heta(x^i)) frac{partial}{partial heta_j}(sum_{j=0}^{n} heta_j x^i_j-y^i) \
& = -frac{1}{m} sum_{i=0}^m(y^i-h_ heta(x^i))x^i_j
end{align}
$$
上面的推到过程中需要使用align
参数,意思为排整齐; 校准; (尤指) 使成一条直线; 使一致
,每个等于号前面加上&可自动对齐,至于更多用法请自行百度。