Unrecognized function or variable 'max'.
18 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
RITAM BASU
el 26 de Sept. de 2022
Comentada: RITAM BASU
el 29 de Sept. de 2022
I am facing an issue while using Matlab app designer.
It seems that when I am using App designer, it is giving the following error "unrecognised function or variable ''max"' for 'max'.
but when I use it in workspace without opening the app. It works fine. I have attached 2 screenshots for reference, one with app paused in debugger, other without opening the app.
And these lines of codes were working fine before, started giving problems from last 2 days.
I am not generating any variable named max within the app.
I tried both MATLAB 2021b and 2022b, same problem persists
What kind of problem this is?
Have a nice day ahead.
10 comentarios
Respuesta aceptada
Walter Roberson
el 27 de Sept. de 2022
Editada: Walter Roberson
el 27 de Sept. de 2022
Somewhere in that function, or in a function that the function is nested within, you assigned to a variable named "max". In doing so, you signalled to MATLAB that everywhere within scope, that max is to be treated as a variable. Even if you later cleared max so that whos does not see it and which shows you the MATLAB function, the fact that the name existed as a variable prevents max from being used as a function name within the same scope.
It is not permitted for the same name to refer to both a variable and a function. If the first reference to max within a scope is using it as a function then you will get an error if you try to assign to max as a variable; if the first reference to max within a scope is using it as a variable then you get exactly this kind of odd error where it mysteriously cannot be used as a function even after the variable is cleared.
When you leave the scope that this occurs in, the restriction no longer holds and max suddenly starts working as a function again.
Moral of the story: using max or sum as the name of a variable are especially likely to get you into trouble, confusion over whether the name is a function or a variable.
3 comentarios
Más respuestas (1)
Image Analyst
el 26 de Sept. de 2022
>> restoredefaultpath
4 comentarios
Image Analyst
el 27 de Sept. de 2022
I agree with Walter below. You defined max somewhere. Then you stopped at a breakpoint and, in the command window, said "clear all" so that blew away your max. When you tried to use max after that, it said that it didn't know what max was anymore. Of course, since you cleared it. Clear all will get rid of private variables and functions but not built-in ones. But because your private max overrode the built-in one, it no longer knows about the built-in max. When you cleared your private max, it evidently does not automatically restore the definition of max to the built-in one.
You didn't answer if you searched everywhere for max. Search for max and then reply with every single line where max is mentioned. Don't leave any out.
Ver también
Categorías
Más información sobre Whos en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!