getting error with symengine
Show older comments
Below is my code, literally get the error and didnt find any solution, pls help me
syms u v x y z
F = @(x,y,z) log (x.^2-2.*y) - z;
x = @(u,v)u+v;
y = @(v)exp(v);
F = subs(F)
Error using symengine
Arithmetical expression expected.
Error in sym/subs>mupadsubs (line 160)
G = mupadmex('symobj::fullsubs',F.s,X2,Y2);
Error in sym/subs (line 145)
G = mupadsubs(F,X,Y);
Error in subs (line 68)
r_unique_name = subs(sym(f_unique_name),varargin{:});
1 Comment
Tommy Lim
on 13 Dec 2021
Answers (2)
Awais Saeed
on 13 Dec 2021
Edited: Awais Saeed
on 13 Dec 2021
It is good to provide a variable list and expressions you want to replace using subs(). Read more about subs() here.
syms u v x y z
F = @(x,y,z) log (x.^2-2.*y) - z
old = {x,y}; % replace these with 'new' expressions
new = {@(u,v)u+v,@(v)exp(v)};
Fnew = subs(F, old, new)
syms u v x y z
x(u,v) = u+v;
y(u,v) = exp(v);
F = log (x(u,v).^2-2.*y(u,v)) - z
This produces the same result as would have been produced before (I tested.)
Categories
Find more on Operations on Strings in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!