Effacer les filtres
Effacer les filtres

How do return the latex form by using method of 'disp' in Matlab class ?

9 vues (au cours des 30 derniers jours)
jia
jia le 13 Juil 2024 à 8:37
Réponse apportée : Vandit le 18 Juil 2024 à 3:45
I define the class in matlab as:
classdef Myclass
properties
Content
end
methods
function obj = Myclass(content)
obj.Content = content;
end
function disp(obj)
A = symmatrix('A(1/3,[0,0,1])');
disp(A);
end
end
end
When we run this class in live editor return 'A(1/3,[0,0,1])' rather than latex form.
Myclass(1)
% return 'A(1/3,[0,0,1])'
A = symmatrix('A(1/3,[0,0,1])');
% return latrx form A(1/3,[0,0,1])

Réponses (1)

Vandit
Vandit le 18 Juil 2024 à 3:45
Hello Jia,
To achieve the desired LaTeX rendering, you can modify the "disp" method to generate and display the LaTeX string using the "latex" function in MATLAB.
Here's an updated version of your class that ensures the symbolic matrix is displayed in LaTeX form:
classdef Myclass
properties
Content
end
methods
function obj = Myclass(content)
obj.Content = content;
end
function disp(obj)
A = symmatrix('A(1/3,[0,0,1])');
latexStr = latex(A);
% Display the LaTeX string
fprintf('LaTeX String: %s\n', latexStr);
end
end
end
In the above code snippet, the "disp" method creates a symbolic matrix A, converts it to a LaTeX string using the "latex" function, and prints the LaTeX string.
To know more about the "latex" function, please refer to the documentation below:
Hope this helps.

Community Treasure Hunt

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

Start Hunting!

Translated by