What happened to eval function?

조회 수: 4(최근 30일)
KAE
KAE 2022년 6월 15일
댓글: Walter Roberson 2022년 6월 18일
I am using R2022a, and the eval function is giving me an error,
eval(['4 + 5'])
ans = 9
Unrecognized function or variable 'eval'.
Ignore "ans = 9" in my question, since that's what happened when I ran it online in R2022a; that is the expected behavior but not what I'm getting on my computer.
Any idea what's going on? I tried restarting Matlab and the error persisted.
  댓글 수: 2
KAE
KAE 2022년 6월 17일
>> which -all eval
built-in (C:\Program Files\MATLAB\R2022a\toolbox\matlab\lang\eval)
C:\Program Files\MATLAB\R2022a\toolbox\matlab\lang\@opaque\eval.m % opaque method
C:\Users\MyName\OneDrive - datacolor\matlab_programs\data processing\fdaM\@bifd\eval.m % bifd method

댓글을 달려면 로그인하십시오.

채택된 답변

Walter Roberson
Walter Roberson 2022년 6월 16일
I think maybe you could get this error under the odd conditions:
  • you are inside a function
  • you assign to a variable named eval
  • you run a script
  • the script clears the variable named eval
  • after the script you try to use eval
I am not positive this will generate that exact error, but MATLAB is allowed to lose track of functions and variables if you do this or you assign to a name inside the script when the name matches a function name
  댓글 수: 3
Walter Roberson
Walter Roberson 2022년 6월 18일
I have to admit that using "syms" is very convenient, especially for creating symbolic functions or arrays of symbols. syms in that form is implemented as assignin('caller') which is a case of creating variables based upon string.

댓글을 달려면 로그인하십시오.

추가 답변(0개)

태그

Community Treasure Hunt

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

Start Hunting!

Translated by