MATLAB: Is it wrong to use eval() to read input function

evalevil evalMATLABsymbolicSymbolic Math Toolbox

I want to have a program that prompts the users for an equation and solves it with solve().
syms vrb
vname = input('Input variable name: ','s');
str = input('Equation: ','s');
eqn = eval(str);
solu = solve(eqn,vrb);
fprintf('%s is equal to %d.\n',vname,solu)
I also want to expand the program to solving multivariate equations but I feel that the use of eval() might complicate its efficiency to begin with.

Best Answer

eqn = str2sym(str)