function error (GUIDE)

2 visualizaciones (últimos 30 días)
Kristin Habersang
Kristin Habersang el 25 de Jun. de 2021
Comentada: Walter Roberson el 25 de Jun. de 2021
Hello, I'm getting error messagges at the end of my GUIDE script and i don't know what i should do.
I didn't change anything, that's just what the program did.
Can someone help me?
Thank you!
  1 comentario
Walter Roberson
Walter Roberson el 25 de Jun. de 2021
There is a red mark near the top. You need to look at that error: it is probably causing the other errors.
I suspect that there is an if without end or [ without ] or something like that.

Iniciar sesión para comentar.

Respuesta aceptada

Nikhil Sapre
Nikhil Sapre el 25 de Jun. de 2021
Editada: Nikhil Sapre el 25 de Jun. de 2021
Hi Kristin,
Based on the snippet of code you posted, I see that the function blocks don't have an end. Hence the errors.
Here's an example of how a fucntion declaration should look like
function ave = average(x)
ave = sum(x(:))/numel(x);
end
Please refer to the the documentation on how to declare function in MATLAB for more details
Thanks,
Nikhil
  1 comentario
Walter Roberson
Walter Roberson el 25 de Jun. de 2021
GUIDE has gone through several generations. In most of the generations, it uses functions that do not end with end . That is perfectly acceptable. As the link you posted indicates,
The end keyword is required when:
  • Any function in the file contains a nested function.
  • The function is a local function within a function file, and any local function in the file uses the end keyword.
  • The function is a local function within a script file.
and GUIDE never uses nested functions and does not generate a script, so end would only be needed if some local function used end .
Does GUIDE generate local functions with end ? Traditionally it did not. I have seen some hints that it might have done so in the very last couple of releases before it was retired... but it is also possible that people had hand-editted the code I was looking at.
Does the user have the situation where an end was used for a local function at some point? I cannot rule that out. However, when that happens, there is a specific error generated about how at least one local function had an end but other ones did not.
Unfortunately my system is quite busy at the moment so I cannot test to be sure exactly what is going on.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Migrate GUIDE Apps en Help Center y File Exchange.

Productos


Versión

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by