Goto command in matlab: Undefined function 'goto' for input arguments of type 'double'"
2 次查看(过去 30 天)
显示 更早的评论
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 个评论
José-Luis
2014-9-25
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.
采纳的回答
更多回答(1 个)
Iain
2014-9-25
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 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Entering Commands 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!