Convert a symbolic expression to string
    35 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
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
0 comentarios
Respuestas (3)
  Walter Roberson
      
      
 el 23 de Nov. de 2018
        As you appear to want to use string objects use compose()
2 comentarios
  Walter Roberson
      
      
 el 7 de Ag. de 2022
				Since R2019b, you can do
A=9
B=5
displayFormula('A+B-(A*B)')
Notice that the () disappeared though.
  Walter Roberson
      
      
 el 7 de Ag. de 2022
				A = 9; B = 5;
str = 'A+B-(A*B)/GRAB'
regexprep(str, {'\<A\>', '\<B\>'}, {num2str(A), num2str(B)})
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
 el 7 de Ag. de 2022
        Use string() command. This will convert the symbolic expression into string and then you can export into any format.
2 comentarios
  Walter Roberson
      
      
 el 7 de Ag. de 2022
				That will not work to prevent evaluation of the expression while still substituting in values of the variables.
  Rajan Prasad
 el 7 de Ag. de 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. 
Ver también
Categorías
				Más información sobre Characters and Strings en Help Center y File Exchange.
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!




