MATLAB Answers

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

11 views (last 30 days)
jeffin
jeffin on 25 Sep 2014
Edited: Stephen Cobeldick on 30 Jun 2015
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 Comments

Show 6 older comments
Stephen Cobeldick
Stephen Cobeldick on 25 Sep 2014
Any Mfile that you download needs to be on your MATLAB path .
Do you type these examples in the command line, or are they run as scripts or functions? If they are functions perhaps they include a local function called goto , or include some path changing commands. Without seeing the full code, it is impossible to know.
But really the best solution is: do not use goto.
José-Luis
José-Luis on 25 Sep 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 on 25 Sep 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.

Sign in to comment.

More Answers (1)

Iain
Iain on 25 Sep 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\')

  0 Comments

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!