gpt4 book ai didi

c++ - 如何从 matlab 重写方程式以在 C++ 中使用

转载 作者:行者123 更新时间:2023-11-30 01:31:59 26 4
gpt4 key购买 nike

我在 Matlab 中推导并简化了一个方程,想在 C++ 程序中使用它。 Matlab 喜欢使用幂,^ 符号,但 c++ 一点也不喜欢。我怎样才能让 Matlab 重写方程,使其输出一个 C++ 友好的方程?

最佳答案

如果方程真的太长以至于您不想手动完成,您可能会考虑重新格式化方程以使其对 C++ 友好的一种选择是使用解析方程的 MATLAB 代码文本REGEXPREP MATLAB 中的函数。下面是一个示例,说明如何将 x^2y.^3 形式的表达式替换为 pow(x,2)pow(y,3):

eqStr = 'the text of your equation code';  %# Put your equation in a string
expr = '(\w+)\.?\^(\d+)'; %# The pattern to match
repStr = 'pow($1,$2)'; %# The replacement string
newStr = regexprep(eqStr,expr,repStr); %# The new equation string

您只需要先获取 MATLAB 方程的代码并将其放入字符串变量 eqStr 中。 REGEXPREP 的输出然后将成为新的 C++ 友好方程 newStr 的文本。

您还可以使用 dynamic operators 更改替换字符串以提供 x*xy*y*y 形式的结果| .例如:

eqStr = 'the text of your equation code';  %# Put your equation in a string
expr = '(\w+)\.?\^(\d+)'; %# The pattern to match
repStr = '${repmat([$1,''*''],1,$2-''0''-1)}$1'; %# The replacement string
newStr = regexprep(eqStr,expr,repStr); %# The new equation string

关于c++ - 如何从 matlab 重写方程式以在 C++ 中使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2358049/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com