退出\返回主功能-Matlab
我正在用matlab编写一个代码,在这段代码中我有一个函数退出\返回主功能-Matlab,matlab,Matlab,我正在用matlab编写一个代码,在这段代码中我有一个函数f(),它调用函数g(),它调用函数h() 函数f()在迭代101次的循环中调用g(),并g()调用h() 每次迭代,h()显示一个图像,用户对图像进行一些更改,直到按下Enter键或O键: 如果他按Enter键,则返回他所做更改的文件,并继续下一个图像。 如果他按O键,则h()返回更改文件。但不会继续到下一个图像,而是返回到Main 它类似于C中的退出(1) 有什么办法吗?我想你在找。虽然它不会立即将您返回到h,但您也必须将retu
f()
,它调用函数g()
,它调用函数h()
函数f()
在迭代101次的循环中调用g()
,并g()
调用h()
每次迭代,h()
显示一个图像,用户对图像进行一些更改,直到按下Enter键或O键:
- 如果他按Enter键,则返回他所做更改的文件,并继续下一个图像。
- 如果他按O键,则
h()
返回更改文件。但不会继续到下一个图像,而是返回到Main
它类似于C中的退出(1)
有什么办法吗?我想你在找。虽然它不会立即将您返回到h,但您也必须将return
放在g中的某个位置
只要在中至少命名一个输出变量,无论是否使用return
,都将返回输出
例如:
function out = f()
% do stuff
x = g();
% do stuff with x
end
function out = g()
% do other stuff
out = h();
if strcmp(out, 'O') % check whether user entered 'O' in h()
return;
else
% do different stuff
end
end
function out = h()
out = input();
end
@Junaxx非常感谢您的回答。抱歉,我的问题不清楚,但是h()必须返回一些输入,即使用户按了“O”。换句话说,对于i=0到100(次),f()调用g(),而g()调用h()。对于每个i,h()显示一个图像,用户对图像进行一些更改,直到按“Enter”或“O”。如果他按enter h()键,返回他所做更改的文件,并继续下一个图像。如果他按下“O”,则h()返回更改文件,但不会继续到下一个图像,而是返回到Main。现在有什么想法吗?。再次感谢。@HowaidaKhoureieh:啊,我明白了。在这种情况下,您可以让h()
返回多个输出变量,如function[img,key]=h()
。它仍然会首先返回到g()
,我认为没有办法解决这个问题。但是基于键的值
,g()
可以继续或中断循环。@Junaxx。谢谢毕竟,我可能会使用你的解决方案,但我必须先做一些更改。现在我检查用户是否按了“O”,如果是,我创建了一个名为“Exit”的文件。然后,如果文件存在,我签入f(),如果存在,我“返回”到main。再次感谢!