切换功能在matlab回调函数中不起作用

switch function not working in matlab callback function

我用 matlab Guide 创建了一个简单的 GUI,想在其中一个回调函数中使用一个简单的开关函数。

函数如下所示:

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" 是一个字符串,从用户输入中检索。但是,当我 运行 代码时,switch 函数似乎永远不会执行,并且 "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

我发现了问题,它与开关功能无关。间隔值是从弹出菜单中检索的,但不知何故它们没有被正确提取。该功能现在可以使用了,无论如何感谢您的帮助!