主要内容

latex

符号表达式的 LaTeX 形式

说明

chr = latex(S) 返回符号表达式 S 的 LaTeX 形式。

示例

示例

全部折叠

求符号表达式 x^2 + 1/xsin(pi*x) + phi 的 LaTeX 形式。

syms x phi
chr = latex(x^2 + 1/x)
chr = 
'\frac{1}{x}+x^2'
chr = latex(sin(pi*x) + phi)
chr = 
'\phi +\sin\left(\pi \,x\right)'

求符号数组 S 的 LaTeX 形式。

syms x
S = [sym(1)/3 x; exp(x) x^2]
S = 

(13xexx2)

chr = latex(S)
chr = 
'\left(\begin{array}{cc} \frac{1}{3} & x\\ {\mathrm{e}}^x & x^2 \end{array}\right)'

使用多个符号矩阵变量执行计算,然后求它们的 LaTeX 形式。

创建 3×33×1 符号矩阵变量。

syms A 3 matrix
syms X [3 1] matrix

XTAX 的黑塞矩阵。涉及符号矩阵变量的推导方程以书本中的排版方式显示。

f = X.'*A*X
f = XTAX
H = diff(f,X,X.')
H = AT+A

生成符号矩阵变量 fH 的 LaTeX 形式。

chrf = latex(f)
chrf = 
'{\textbf{X}}^{\mathrm{T}}\,\textbf{A}\,\textbf{X}'
chrH = latex(H)
chrH = 
'{\textbf{A}}^{\mathrm{T}}+\textbf{A}'

使用符号矩阵函数执行计算,然后求它们的 LaTeX 形式。

创建一个 3×1 符号矩阵变量。

syms X [3 1] matrix

创建一个表示公式 f(X)=XTX 的符号矩阵函数。

syms f(X) [1 1] matrix keepargs
f(X) = X.'*X
f(X) = XTX

f(X) 关于 X 的导数。

Df = diff(f,X)
Df(X) = 2XT

生成符号矩阵函数 fDf 的 LaTeX 形式。

chrf = latex(f)
chrf = 
'{\textbf{X}}^{\mathrm{T}}\,\textbf{X}'
chrDf = latex(Df)
chrDf = 
'2\,{\textbf{X}}^{\mathrm{T}}'

使用 sympref 函数通过更改符号设置来修改生成的 LaTeX。

使用默认符号设置生成表达式 π 的 LaTeX 形式。

sympref("default");
chr = latex(sym(pi))
chr = 
'\pi '

"FloatingPointOutput" 设置为 true 以返回浮点格式的符号输出。生成浮点格式的 π 的 LaTeX 形式。

sympref("FloatingPointOutput",true);
chr = latex(sym(pi))
chr = 
'3.1416'

现在更改符号多项式的输出顺序。创建一个符号多项式并将 "PolynomialDisplayStyle" 设置为 "ascend"。生成该多项式的按升序排序的 LaTeX 形式。

syms x;
poly = x^2 - 2*x + 1;
sympref("PolynomialDisplayStyle","ascend");
chr = latex(poly)
chr = 
'1-2\,x+x^2'

使用 sympref 进行的符号设置会在当前和以后的 MATLAB® 会话中持续有效。通过指定 "default" 选项恢复默认值。

sympref("default");

对于取值从 -2π2πxy,绘制三维曲面 ysin(x)-xcos(y)。使用 gca 将坐标区对象存储在 a 中。对刻度标签使用 latex 解释器。

通过以 pi/2 为区间跨越 x 坐标轴范围来创建 x 坐标轴刻度。使用 round 将坐标轴范围转换为 pi/2 的精确倍数,并在 S 中获得符号刻度值。使用 xticks 函数设置 x 坐标轴刻度的位置。使用 arrayfunlatex 应用于 S,然后串联 $,为 x 坐标轴创建 LaTeX 标签。使用 xticklabels 函数显示标签。

y 坐标轴重复这些步骤。使用 latex 解释器设置 x 坐标轴和 y 坐标轴标签及标题。

syms x y
f = y*sin(x)-x*cos(y);
fsurf(f,[-2*pi 2*pi])
a = gca;
a.TickLabelInterpreter = "latex";

S = sym(a.XLim(1):pi/2:a.XLim(2));
S = sym(round(S/pi*2)*pi/2);
xticks(double(S));
labels = "$" + arrayfun(@latex,S,UniformOutput=false) + "$";
xticklabels(labels);

S = sym(a.YLim(1):pi/2:a.YLim(2));
S = sym(round(S/pi*2)*pi/2);
yticks(double(S))
labels = "$" + arrayfun(@latex,S,UniformOutput=false) + "$";
yticklabels(labels);

xlabel("$x$",Interpreter="latex");
ylabel("$y$",Interpreter="latex");
zlabel("$z$",Interpreter="latex");
titletext = "$" + latex(f) + "$ for $x$ and $y$ in $[-2\pi,2\pi]$";
title(titletext,Interpreter="latex")

Figure contains an axes object. The axes object with title y blank sin leftParenthesis x rightParenthesis minus x blank cos leftParenthesis y rightParenthesis for x and y in bracketleft minus 2 pi , 2 pi bracketright, xlabel $x$, ylabel $y$ contains an object of type functionsurface.

输入参数

全部折叠

输入,指定为符号数、符号变量、符号向量、符号数组、符号函数、符号表达式、符号矩阵变量或符号矩阵函数。

数据类型: sym | symfun | symmatrix | symfunmatrix

版本历史记录

在 R2006a 之前推出

全部展开