Changing variable names within a loop in MATLAB -
what doing wrong here (matlab)?
i want obtain lines ones below:
syms b d m l expr11 = -m-b*l*(b-m-d); jqdfe11 = simplify(expr11);
with following loop:
for k=1:8 lhs=['jqdfe1',num2str(k)]; rhs=['expr1',num2str(k)]; eval('lhs = simplify(rhs)'); end
but getting error:
error using eval: undefined function 'simplify' input arguments of type 'char'
if want working. both lhs
, rhs
strings whereas in code, interpreted variables. want:
eval([lhs ' = simplify(' rhs ')']);
lhs
, rhs
names variables stored strings, , want use actual strings when building string eval
. btw, don't know why doing you're doing, consider not using eval
. it's bad practice. see post loren shure mathworks on why shouldn't use it: http://blogs.mathworks.com/loren/2005/12/28/evading-eval/
Comments
Post a Comment