如果我有一个字符串"x1 = chyl_gi"
,其中x1和chyl_gi都被定义为符号变量,那么可以评估该语句。
输入x1
会导致返回值chyl_gi
输入chyl_gi
将导致chyl_gi
被退回。
如何更改"x1 = chyl_gi"
的评估,以便输入chyl_gi
将导致返回x1
?由于我正在处理这种格式的大型文本文件,因此无法更改变量输入顺序:
x1 =一些变量 x2 =另一个var ...
答案 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)
上面评论中的例子的优点是,你真的在这里使用了符号引擎。