MATLAB sometimes thinks the keyword "ans" refers to a a file

1 Ansicht (letzte 30 Tage)
When I try to use certain functions on the keyword ans in the Command Window I'm getting the following error, along with some example context:
theta3D =
(5*cos((pi*theta2)/180))/(16*(1 - (25*sin((theta2*pi)/180)^2)/256)^(1/2))
>> latex(ans)
Execution of script ans as a function is not supported:
C:\Program Files\MATLAB\R2023a\toolbox\matlab\lang\ans.m
It appears that MATLAB is trying to reference a file but I'm not sure why this has started happening recently. The folder \toolbox\matlab\lang\ is in the path when I use the path keyword. I don't want to delete the file since it's part of the program files, but is there a way to override this so I can refer to ans in the Command Window again?

Akzeptierte Antwort

Steven Lord
Steven Lord am 16 Feb. 2024
If there's no variable named ans in the workspace, MATLAB would try to call the ans.m script file that contains the help text related to using ans.
which -all ans
/MATLAB/toolbox/matlab/lang/ans.m
type ans.m
%ANS Most recent answer. % ANS is the variable created automatically when expressions % are not assigned to anything else. ANSwer. % Copyright 1984-2005 The MathWorks, Inc. % Built-in function.
But calling it with an output (as you did by calling it to create the input to the latex function or as I'm doing below by calling it to create the first input to the plus function) won't work.
ans+1
Execution of script ans as a function is not supported:
/MATLAB/toolbox/matlab/lang/ans.m
For what you wrote, the symbolic expression is stored in a variable named theta3D. So you'd want to call latex on that symbolic expression, not ans.

Weitere Antworten (0)

Kategorien

Mehr zu Workspace Variables and MAT-Files finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by