converting sym function to string MATLAB

188 vues (au cours des 30 derniers jours)
Andromeda
Andromeda le 17 Oct 2021
Commenté : Walter Roberson le 22 Mai 2023
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

Réponse acceptée

Star Strider
Star Strider le 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 commentaires
Star Strider
Star Strider le 22 Mai 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 le 22 Mai 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

Connectez-vous pour commenter.

Plus de réponses (0)

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by