MATLAB 输出到 tex

MATLAB 输出到 tex

有什么方法可以导入原始 MATLAB 输出转换成.tex 文档?

我已经看到了verbatim包作为一种解决方案,但它不能满足我的要求,原因有二:

  1. 矩阵元素未对齐,尤其是当某些元素有小数位而其他元素没有时。
  2. 如果 MATLAB 生成大量输出,则不太方便。

另外,我已经测试过matrix2latex.m但它似乎仅对矩阵有用。

正如我之前所说,如果我可以导入生的MATLAB 输出到我的.tex 文件中,保持与 MATLAB 命令窗口中的格式相同的格式。

谢谢你!

编辑:添加了由.m 脚本生成的输出。

在此处输入图片描述

答案1

\documentclass[10pt]{article}
\begin{filecontents*}{\jobname.txt}
A =

    0.6555    0.7060    0.2769    0.0971    0.6948    0.9502    0.4387
    0.1712    0.0318    0.0462    0.8235    0.3171    0.0344    0.3816


v =

    0.7655    0.7952    0.1869    0.4898    0.4456    0.6463    0.7094

blah blah blah
    0.7547    0.6551
    0.2760    0.1626
    0.6797    0.1190
\end{filecontents*}
\usepackage{verbatim} % http://ctan.org/pkg/verbatim
\begin{document}
In a simple document, the code
{\small \begin{verbatim}
A=rand(2,7), v=rand(1,7), fprintf('blah blah blah\n'); disp(rand(3,2));
\end{verbatim}}
printed the following to the screen:
% Without the verbatim package, you may need to add a \noindent between
% and after verbatim enviironments to prevent unwanted paragraph indentation.
{\small \begin{verbatim}
A =

    0.6555    0.7060    0.2769    0.0971    0.6948    0.9502    0.4387
    0.1712    0.0318    0.0462    0.8235    0.3171    0.0344    0.3816


v =

    0.7655    0.7952    0.1869    0.4898    0.4456    0.6463    0.7094

blah blah blah
    0.7547    0.6551
    0.2760    0.1626
    0.6797    0.1190
\end{verbatim}}
Alternatively, if the screen output were written to a file, and if the verbatim
package were added, it could be inserted as:
\verbatiminput{\jobname.txt}
\end{document}

在此处输入图片描述

答案2

我知道回复已经很晚了,但我想建议另一种解决方案:

使用 Matlab 中的命令日记,您可以将所有命令窗口打印导出到特定文件,然后使用 @Mike Renfro 的一部分导入该 txt 文件。我从未尝试过,但它应该可以完成工作,而且可能更“优雅”,这意味着您不必在 latex 文件中写入输出。

%In Matlab script
diary('commandoutput.txt');    
diary on ;
enter code here you want to evaluate
diary off ;%to avoid print other commands.

%In latex file (from @Mike Renfro solution)
\verbatiminput{\jobname.txt}

相关内容