Goto command in matlab: Undefined function 'goto' for input arguments of type 'double'"

2 visualizaciones (últimos 30 días)
I am in need of using goto command in matlab. I came to know that there is no goto command in matlab. But there are programs that run using goto command (got from net) where i am getting the output.
Example 1
a = 5;
a = a - 1;
disp(a)
if a > 0
goto(4)
return
end
Example 2
a = 5;
if a == 5
goto(9)
return
else
goto(12)
return
end
disp('a equals five')
goto(13)
return
disp('a does not equal five')
For Example 1 and 2 i'm able to get the output. But when i am using in my program goto(170) i am getting an error "Undefined function 'goto' for input arguments of type 'double'".
Can somebody help me. Thanks in ADVANCE...!
  9 comentarios
José-Luis
José-Luis el 25 de Sept. de 2014
I recently had to modify some FORTRAN code that used goto and I am still reeling from the experience. Spaghetti code is an apt name.
There are cases where its use is justified, for instance to escape from nested loops. Using a goto will make for much cleaner code than setting flags all over the place. However the goto construct the OP mentioned is not native Matlab.
jeffin
jeffin el 25 de Sept. de 2014
Editada: jeffin el 25 de Sept. de 2014
Thanks to all the authors who responded me well. @Kelly Kearney , @Stephen Cobeldick, @José-Luis , @Iain , @Sean de Wolski. i was able to slove the problem without goto function.

Iniciar sesión para comentar.

Respuesta aceptada

Sean de Wolski
Sean de Wolski el 25 de Sept. de 2014
MATLAB does not have a goto function. Use regular functions instead.

Más respuestas (1)

Iain
Iain el 25 de Sept. de 2014
Ok, so you've downloaded a function "goto" from the file exchange, and it's probably just using "eval" on every line from the one you tell it, to the end of the function. (This is an orgy of bad programming practice.)
To use it, you need to make sure that the goto.m (or goto.p) file is on your matlab path:
addpath('C:\This is where I keep bad m files\')

Categorías

Más información sobre Entering Commands en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by