Main Content

latex

LaTeX form of symbolic expression

Description

example

chr = latex(S) returns the LaTeX form of the symbolic expression S.

Examples

collapse all

Find the LaTeX form of the symbolic expressions x^2 + 1/x and sin(pi*x) + phi.

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)'

Find the LaTeX form of the symbolic array S.

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)'

Perform computation using several symbolic matrix variables, and then find their LaTeX forms.

Create 3-by-3 and 3-by-1 symbolic matrix variables.

syms A 3 matrix
syms X [3 1] matrix

Find the Hessian matrix of XTAX. Derived equations involving symbolic matrix variables appear in typeset as they would be in textbooks.

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

Generate the LaTeX forms of the symbolic matrix variables f and H.

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

Perform computation using symbolic matrix functions, and then find their LaTeX forms.

Create a 3-by-1 symbolic matrix variable.

syms X [3 1] matrix

Create a symbolic matrix function that represents the formula f(X)=XTX.

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

Find the derivative of f(X) with respect to X.

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

Generate the LaTeX forms of the symbolic matrix functions f and Df.

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

Modify generated LaTeX by setting symbolic preferences using the sympref function.

Generate the LaTeX form of the expression π with the default symbolic preference.

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

Set the "FloatingPointOutput" preference to true to return symbolic output in floating-point format. Generate the LaTeX form of π in floating-point format.

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

Now change the output order of a symbolic polynomial. Create a symbolic polynomial and set the "PolynomialDisplayStyle" preference to "ascend". Generate the LaTeX form of the polynomial sorted in ascending order.

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

The preferences you set using sympref persist through your current and future MATLAB® sessions. Restore the default values by specifying the "default" option.

sympref("default");

For x and y from -2π to 2π, plot the 3-D surface ysin(x)-xcos(y). Store the axes object in a by using gca. Use latex interpreter for the tick labels.

Create the x-axis ticks by spanning the x-axis limits at intervals of pi/2. Convert the axis limits to precise multiples of pi/2 using round and get the symbolic tick values in S. Set the locations of the x-axis ticks by using the xticks function. Create the LaTeX labels for the x-axis by using arrayfun to apply latex to S and then concatenating $. Display the labels by using the xticklabels function.

Repeat these steps for the y-axis. Set the x- and y-axes labels and the title using the latex interpreter.

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.

Input Arguments

collapse all

Input, specified as a symbolic number, variable, vector, array, function, expression, matrix variable, or symbolic matrix function.

Data Types: sym | symfun | symmatrix | symfunmatrix

Version History

Introduced before R2006a

expand all