【发布时间】:2018-05-22 08:33:19
【问题描述】:
我正在为我的 Matlab 指南程序编写一个函数。我想在从 0 到 1 的指南中应用 3 个文本框的限制,它应该只是数字。 (如果用户输入的值无效,则应生成错误框)。问题是我想为此编写一个函数,而不是在每个文本框的回调中编写限制代码。用户也不必一次输入所有值,而是当用户输入三个值中的任何一个并生成反馈时,该函数应该运行。我写的功能如下,但它不起作用。 (没有必要将所有三个输入都提供给一个函数,这就是我在输入之间使用 || 的原因)
function CheckMe(maxMBT || minMBT || mainMBT)
max_MBT= str2double(get(hObject, 'String'));
if isnan(maxMBT)||maxMBT < 0|| maxMBT> 1
errordlg('Invalid max value for MBT. Please enter values between 0 to 1');
set(max_MBT, 'String', 0);
if isnan(minMBT)||minMBT < 0|| minMBT> 1
set(min_MBT, 'String', 0);
errordlg('Invalid min value for MBT. Please enter values between 0 to 1');
if isnan(mainMBT)||mainMBT < 0 || mainMBT >1
set(edtMBT, 'String', 0);
errordlg('Invalid value of MBT. Enter values between 0 to 1');
end
end
end
【问题讨论】:
-
你不能定义这样的函数。语法是
function [out_args = ] <name>(arg1 [, arg2 [...]]),方括号之间的位是可选的。您要做的是定义一个执行检查的函数,并从三个回调函数中的每一个调用该函数。
标签: matlab matlab-guide