converting sym function to string MATLAB

302 views (last 30 days)
I am attempting to convert a symbolic expression to a string using the function sym2str but I am getting an error. How can I convert a symbolic expression to a string? See attachment below

Accepted Answer

Star Strider
Star Strider on 17 Oct 2021
Try this —
syms x y
eqn = x^2+2*x*y+3*y^2;
partial_eqn = diff(eqn, x);
fprintf("The partial derivative of %s w.r.t. x is %s \n", string(eqn), string(partial_eqn))
The partial derivative of 2*x*y + x^2 + 3*y^2 w.r.t. x is 2*x + 2*y
Also, using fprintf is easier and creates a more pleasing result.
.
  5 Comments
Star Strider
Star Strider on 22 May 2023
@Jagan — I suppose that it depends on what you are converting. This approach works here.
If you have a specific problem, it would be best for you to post it as a new Question, along with the sym expression you want to convert.
Walter Roberson
Walter Roberson on 22 May 2023
string() should give you the same printable representation that displaying at the command line gives.
Note however, that the printable representation is not necessarily something that can be executed as MATLAB code or as symbolic code or as the internal MuPAD symbolic language. The printable display of symbolic functions and symbolic expressions is intended for human understanding, not for machine execution.
If you are looking for something that has to be machine executable then use matlabFunction after which you can use func2str

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!