Effacer les filtres
Effacer les filtres

How do I convert multivariate function handle to symbolic function? Anyone has any ideas?

9 vues (au cours des 30 derniers jours)
My function handle is as follows,
g=@(p)p(1)+p(2)
I can compute using function handle using something like
g([1,2])
Now I want to convert it to a symbolic function, but seems MATLAB has trouble assuming p(1) and p(2) as symbol. So
syms p(1)
sym(g)
doesn't work. I guess I might need to change p(1),p(2) to p1,p2, but this is hard, too. Anyone can help?

Réponses (1)

Walter Roberson
Walter Roberson le 1 Fév 2016
P = sym('p', [1 2]);
G = g(P);
now G will be a symbolic expression in p1, p2. You can then convert it to a symbolic function by using
Gsym = feval(symengine, 'fp::unapply', G, P(1), P(2));
  4 commentaires
Shawn Miller
Shawn Miller le 2 Fév 2016
Seems G=symfun(G,symvar(G)) also works.

Connectez-vous pour commenter.

Tags

Aucun tag saisi pour le moment.

Community Treasure Hunt

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

Start Hunting!

Translated by