matlab出现Too many input arguments错误我定义了一个上近似的代码,保存为,upper.m 但是总是出现Too many input arguments的错误function T=A(a,b)result=ind(a);T=[];[g,h]=size(result);for k=1:gw=result(k,:);w(w==0)=[];if(intersect(

来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/29 12:18:40
matlab出现Toomanyinputarguments错误我定义了一个上近似的代码,保存为,upper.m但是总是出现Toomanyinputarguments的错误functionT=A(a,b

matlab出现Too many input arguments错误我定义了一个上近似的代码,保存为,upper.m 但是总是出现Too many input arguments的错误function T=A(a,b)result=ind(a);T=[];[g,h]=size(result);for k=1:gw=result(k,:);w(w==0)=[];if(intersect(
matlab出现Too many input arguments错误
我定义了一个上近似的代码,保存为,upper.m 但是总是出现Too many input arguments的错误
function T=A(a,b)
result=ind(a);
T=[];
[g,h]=size(result);
for k=1:g
w=result(k,:);
w(w==0)=[];
if(intersect(w,b)~=0)
T=[T w];
end
end
T(T==0)=[];
测试输出:
a =
0 1 2 1 3
1 2 0 0 0
1 2 2 1 3
1 1 2 1 3
2 1 2 1 3
2 1 2 1 3
1 1 2 1 3
b=[1 3 4 6]
c=upper(a,b)

matlab出现Too many input arguments错误我定义了一个上近似的代码,保存为,upper.m 但是总是出现Too many input arguments的错误function T=A(a,b)result=ind(a);T=[];[g,h]=size(result);for k=1:gw=result(k,:);w(w==0)=[];if(intersect(
1.定义一个函数,建议最好函数名和文件名用同样的名字,比如你写的函数名是A,而保存文件名却保存为了upper,所以最好保存成A.m;
2.要注意MATLAB识别你保存文件的名字,所以如果你保存成upper.m的话,调用只能用upper,而不能用A了;
3.在保存函数的过程中注意不要和MATLAB自带的函数名相同,如果相同了,在当前目录下会先调用你写的函数,因为MATLAB先要在用户的当前目录搜索有没有这个函数,如果有就直接调用,没有就又在其它的目录比如toolbox中找,你保存成upper后,与MATLAB自带的将小写改成大写的upper函数冲突了,MATLAB本身的upper函数,只接受一个参数,那在此为什么没有先调用你的函数呢?我们可以从which upper命令中看到返回结果是built-in (D:\MATLABR2010a\toolbox\matlab\strfun\upper),也就是说upper是内建函数,其优先级又比用户当前目录高,所以在此是调用的系统的函数.