Convert a symbolic expression to string

144 次查看(过去 30 天)
I haVE A SYMBOLIC EXPRESSION WHICHI WANT TO USE AS A STRING EXPRESSION WITHOUT EVALUATING IT. EXAMPLE IF I HAVE
A=9
B=5
IF WE WRITE STRING(A+B-(A*B) ) WE GET ANSWER -31
BUT I WANT 9+5-(9*5) . HOW TO DO IT

回答(3 个)

madhan ravi
madhan ravi 2018-11-23
编辑:madhan ravi 2018-11-23

Walter Roberson
Walter Roberson 2018-11-23
As you appear to want to use string objects use compose()
  2 个评论
Walter Roberson
Walter Roberson 2022-8-7
Since R2019b, you can do
A=9
A = 9
B=5
B = 5
displayFormula('A+B-(A*B)')
Notice that the () disappeared though.
Walter Roberson
Walter Roberson 2022-8-7
A = 9; B = 5;
str = 'A+B-(A*B)/GRAB'
str = 'A+B-(A*B)/GRAB'
regexprep(str, {'\<A\>', '\<B\>'}, {num2str(A), num2str(B)})
ans = '9+5-(9*5)/GRAB'
The \< and \> are there to force it to replace only when the names are the entire "word" -- the A and B inside of GRAB should not be replaced

请先登录,再进行评论。


Rajan Prasad
Rajan Prasad 2022-8-7
Use string() command. This will convert the symbolic expression into string and then you can export into any format.
  2 个评论
Walter Roberson
Walter Roberson 2022-8-7
That will not work to prevent evaluation of the expression while still substituting in values of the variables.
Rajan Prasad
Rajan Prasad 2022-8-7
The string command will convert the symbolic expression into string. Instead of typing/entering the symbolic expression agian, one can use string. Then can use regexprep as suggested by you to replace the desired string to get in the string format with value.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Characters and Strings 的更多信息

标签

产品


版本

R2018a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by