Display Interpreted Latex string outside a plot

48 visualizaciones (últimos 30 días)
Pierre
Pierre el 18 de Jul. de 2020
Comentada: Bhupendra Kumar el 31 de Oct. de 2021
Hi there,
I want to show in my output (not in my plots) the handwritten format of my expression. I have the symbolic toolbox.
% No problem in plots, simple example
x=linspace(0*deg,360*deg,360); % deg is constant in my installation
f='sqrt(abs(sin(x.^2)))'; ff = eval(f);
p=plot(x,ff);
title(['Title ' '$' latex(str2sym(f)) '$'] , 'Interpreter', 'latex');
Now suppose I don't need a plot of any kind and I want to check if I made a mistake in a long expression or equation.
I'd like to show the hand written format of my expression
Refering to the little code over
If I type ['$' latex(str2sym(f)) '$']
I will get the Latex representation ans = '$\sqrt{\left|\sin\left(x^2\right)\right|}$'
Now I want to do this something like this
disp(['$' latex(str2sym(f)) '$'] , 'Interpreter', 'latex');
and get
Can I do something like this ? Not with disp(...) for sure !
  3 comentarios
Pierre
Pierre el 18 de Jul. de 2020
Editada: Pierre el 18 de Jul. de 2020
No.
Assume there is no plot, I cannot use title alone.
I forgot to say that I use the Live Editor and common sense tells me that the output must be a text region
So I rewrite the code, it should be as simple as that with no plot !
clf
x=linspace(0*deg,360*deg,300);
f='sqrt(abs(sin(x.^2)))'; ff = eval(f);
SomeCallingFunctionOrSomething(['$' latex(str2sym(f)) '$'] , 'Interpreter', 'latex');
And it should add or modify a text region with
Of course I can do it manually just take \sqrt{\left|\sin\left(x^2\right)\right|} then Insert LaTex Equation and Paste and it will add my text region with the correct output but I want to do it programmatically.
Bhupendra Kumar
Bhupendra Kumar el 31 de Oct. de 2021
Wait for this thing to happen.

Iniciar sesión para comentar.

Respuesta aceptada

madhan ravi
madhan ravi el 18 de Jul. de 2020
sympref('TypesetOutput','default')
f = str2sym('sqrt(abs(sin(x.^2)))') % gives the desired result in livescript
  2 comentarios
Pierre
Pierre el 18 de Jul. de 2020
Editada: Pierre el 18 de Jul. de 2020
PERFECT !
clf
x=linspace(0*deg,360*deg,300);
f='sqrt(abs(sin(x.^2)))'; ff = eval(f);
disp(str2sym(f));
So simple, sometimes we're almost ashamed to have asked such a simple question but I am sure some people will add it to check mistakes in there big equations.
madhan ravi
madhan ravi el 18 de Jul. de 2020
You don’t have to be ashamed of asking a question. By the way please don’t use eval() it’s completely unnecessary.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Symbolic Math Toolbox en Help Center y File Exchange.

Productos


Versión

R2020a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by