将 Matlab 数组转换为 LaTeX 兼容代码

将 Matlab 数组转换为 LaTeX 兼容代码

我正在寻找将一些 MATLAB 二维数组直接转换为 LaTeX 可执行代码的方法,以便很好地打印它们。在搜索过程中,我偶然发现了这个答案

在文档中包含一个 Matlab 表

可保存的命令对我来说有效,但问题是矩阵太大,甚至无法包含在横向模式中。

我认为有两种解决方案:

  1. 使 LaTeX 理解大小并在必要时进行拆分,以便以可读的方式包含所有内容。
  2. 这是我的具体情况——如果写成精确到小数点后 2 位且为 10 的倍数的数字,矩阵仍然可以包含在内。但生成的代码将其写成一个大分数,你可以想象,这会占用很大的空间。

这两种情况有解决办法吗?谢谢。

答案1

我不知道如何解决1,Matlab知道如何写入latex,但它不是排版软件。

但是,2 是可行的,而且相当容易。你可以使用latexTable将数据转换为表格:

A = rand(4,5);
A(1,:) = A(1,:)*200;
A(3,:) = A(3,:)*10;
input.data = A;
input.dataFormat = {'%.2f'};
latext = latexTable(input);

在 latex 中你现在有

\begin{table}                               
\centering                                  
\begin{tabular}{|c|c|c|c|c|}                
\hline                                      
162.94 & 126.47 & 191.50 & 191.43 & 84.35 \\
\hline                                      
0.91 & 0.10 & 0.96 & 0.49 & 0.92 \\         
\hline                                      
1.27 & 2.78 & 1.58 & 8.00 & 7.92 \\         
\hline                                      
0.91 & 0.55 & 0.97 & 0.14 & 0.96 \\         
\hline                                      
\end{tabular}                               
\caption{MyTableCaption}                    
\label{table:MyTableLabel}                  
\end{table}  

相关内容