How do return the latex form by using method of 'disp' in Matlab class ?
    32 次查看(过去 30 天)
  
       显示 更早的评论
    
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])
0 个评论
回答(1 个)
  Vandit
      
 2024-7-18
        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.
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!