使用 Matlab 模型的参数值更新 LaTeX 文档内容

使用 Matlab 模型的参数值更新 LaTeX 文档内容

我有一个 Matlab 模型,其中包含一些参数(a=1、b=2、c=3 等)。我希望这些值“自动”出现在我的 LaTeX 文档中,并且当它们在 Matlab 代码中更改时,它们也会出现在 LaTeX 文档中。

我设想将 Matlab 参数值存储在文本文件中,然后由 LaTeX 文档将其合并到文本或表格中。更新 Matlab 参数值、运行代码以更新值文本文件并编译 LaTeX 文档,然后应允许在 LaTeX 文档中更新这些值。

我很确定我不是第一个遇到这种问题的人,但我找不到正确的关键词来得到解决方案。

预先感谢您的帮助。

答案1

感谢 moewe,这里找到了我的问题的解决方案:

Matlab代码示例:

clear all
close all
clc


%Parameters
a=3;
b=-2;
c=3;

% Model
y=a^3+2*b^2+c

%% Tex file writing

str = strcat(['\newcommand*{\parama}{',num2str(a),'}','\newcommand*{\paramb}{',num2str(b),'}','\newcommand*{\paramc}{',num2str(c),'}','\newcommand*{\paramy}{',num2str(y),'}']);

% To escape the backslashes and percent signs:
str = strrep(str,'\','\\');
str = strrep(str,'%','%%');
fileID = fopen('parameters.tex','w');

%Export values to use in LateX 
fprintf(fileID,str);

此代码使用当前使用的参数值生成 LaTeX 文件 parameters.tex。

使用参数值的最小 LaTeX 示例:

\documentclass[12pt]{standalone}

\input{parameters.tex}

\begin{document}

The Matlab model uses $a=\parama$, $b=\paramb$ and $c=\paramc$ to calculate $y=a^3+2b^2+c=\paramy$

\end{document}  

在 LaTeX 中生成:

示例输出

我刚刚发现一个类似的例子,尝试在 Matlab 中处理 LaTeX 中使用的特殊字符(\、%,等等),如下所示:https://stackoverflow.com/questions/11523555/write-string-as-it-is-to-a-file-in-matlab

相关内容