在MATLAB中反转变量赋值

时间:2016-03-01 17:01:51

标签: matlab symbolic-math

如果我有一个字符串"x1 = chyl_gi",其中x1和chyl_gi都被定义为符号变量,那么可以评估该语句。

输入x1会导致返回值chyl_gi 输入chyl_gi将导致chyl_gi被退回。

如何更改"x1 = chyl_gi"的评估,以便输入chyl_gi将导致返回x1?由于我正在处理这种格式的大型文本文件,因此无法更改变量输入顺序:

x1 =一些变量 x2 =另一个var ...

1 个答案:

答案 0 :(得分:1)

现在知道您的预期用途,我建议使用subs功能。开始解析文本文件以获取映射:

syms x1 x2 chyl_gi chyl_gj a b c
mapping={x1,chyl_gi;x2,chyl_gj} %represents x1=chyl_gi and x2=chyl_gj;

一些示例表达:

expr=x1+chyl_gi*(a+b+c);

现在你可以简单地使用subs函数:

subs(expr,mapping,mapping(:,2:-1:1));

返回:

chyl_gi + x1*(a + b + c)

上面评论中的例子的优点是,你真的在​​这里使用了符号引擎。