请教Matlab模型预测控制器设计的问题

2025-04-04 21:32:17
推荐回答(1个)
回答1:

1、限制输入变量的个数,采用nargin,用法如下:
function test(arg1,arg2,arg3)
if nargin<3
error('There are at least 3 inputs');
end
2、判断某个变量是否为空,采用isempty,用法如下:
function test(arg1,arg2,arg3)
if isempty(arg3)
error('The third input cannot be empty');
end
3、最常用的是上面两个的组合,用法如下:
function test(arg1,arg2,arg3)
if nargin<3 || isempty(arg3)
error('Users should input the third parameter');
end
4、在进行完上述判断之后,还可以对输入的参数进行进一步的限制,包括对数据状态的限制,对矩阵数据大小的限制,对字符串模式的限制等等。对数据状态的限制,可以用到以下函数:
isa,isappdata,iscell,iscellstr,ischar,iscom,isdir,isempty,isequal,isequalwithequalnans,isevent,isfield,isfinite,isfloat,isglobal,ishandle,ishold,isinf,isinteger,isinterface,isjava,iskeyword,islogical,ismember,ismethod,isnan,isnumeric,isobject,ispc,isprime,isprop,isreal,isscalar,issorted,isspace,issparse,isstrprop,isstruct,isstudent,isunix,isvalid,isvarname,isvector
这些函数全部可以在help is*得到
5、对矩阵大小的限制,可以利用size()函数先获取该矩阵的大小然后再进行判断
6、对字符串模式的限制,可以采用strmatch()函数