Convert a symbolic expression to string

148 visualizzazioni (ultimi 30 giorni)
Saikat Banerjee
Saikat Banerjee il 23 Nov 2018
Commentato: Rajan Prasad il 7 Ago 2022
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

Risposte (3)

madhan ravi
madhan ravi il 23 Nov 2018
Modificato: madhan ravi il 23 Nov 2018

Walter Roberson
Walter Roberson il 23 Nov 2018
As you appear to want to use string objects use compose()
  2 Commenti
Walter Roberson
Walter Roberson il 7 Ago 2022
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 il 7 Ago 2022
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

Accedi per commentare.


Rajan Prasad
Rajan Prasad il 7 Ago 2022
Use string() command. This will convert the symbolic expression into string and then you can export into any format.
  2 Commenti
Walter Roberson
Walter Roberson il 7 Ago 2022
That will not work to prevent evaluation of the expression while still substituting in values of the variables.
Rajan Prasad
Rajan Prasad il 7 Ago 2022
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.

Accedi per commentare.

Categorie

Scopri di più su Characters and Strings in Help Center e File Exchange

Tag

Prodotti


Release

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by