在matlab回调函数中不起作用的开关函数
我用matlab Guide创建了一个简单的GUI,并希望在其中一个回调函数中使用简单的开关函数。在matlab回调函数中不起作用的开关函数
函数看起来如下:
ret = 0;
switch intervall
case 1
ret = 0.82;
case 5
ret = 0.82;
case 10
ret = 0.78;
case 15
ret = 0.78;
case 30
ret = 0.78;
case 60
ret = 0.82;
end
变量“INTERVALL”是一个字符串,并且从用户输入检索。然而,当我运行代码的开关功能似乎永远不会执行,且“RET”变量保持距离我已经在脚本中单独执行这个代码,它完美地工作的0 初始值不变...
谁能告诉我我做错了什么?
非常感谢您提前!
如果intervall
是一个字符串,则您的case
参数应该是字符串。
例如:
ret = 0;
switch intervall
case '1'
ret = 0.82;
case '5'
ret = 0.82;
case '10'
ret = 0.78;
case '15'
ret = 0.78;
case '30'
ret = 0.78;
case '60'
ret = 0.82;
end
我以前试过这个,但它仍然不起作用。我也曾尝试将intervall转换为数字,然后使用上面发布的代码,但仍然没有结果。我认为它必须对变量层次结构或类似的东西做些什么...正如我所说,在一个单独的脚本中,这就像一个魅力.. – Benvaulter 2015-02-07 21:14:36
我发现这个问题,这是不相关的开关功能。 intervall值是从一个弹出式菜单中检索出来的,不知何故它们没有被正确提取。该功能现在可用,谢谢你的帮助!
你应该应该把这个问题标记为“解决”,以便社区知道堆栈中存在少一个问题。 – Ratbert 2015-02-07 21:26:41
更新问题目前与GUI。你可以发布'.m'文件的完整代码吗? – Ratbert 2015-02-07 21:21:02