# getting error with symengine

69 views (last 30 days)
Tommy Lim on 13 Dec 2021
Edited: Awais Saeed on 13 Dec 2021
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 (line 145)
Error in subs (line 68)
r_unique_name = subs(sym(f_unique_name),varargin{:});
Tommy Lim on 13 Dec 2021
i run this code in MATLAB r2014a, everthing fine... but when i switch to MATLAB r2020a, i get error

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
F = function_handle with value:
@(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)
Fnew = Walter Roberson on 13 Dec 2021
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
F = This produces the same result as would have been produced before (I tested.)