1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > matlab参数数目不足lorenz matlab基础程序——为什么会出现“输入参数的数目不足”...

matlab参数数目不足lorenz matlab基础程序——为什么会出现“输入参数的数目不足”...

时间:2023-11-20 06:19:45

相关推荐

matlab参数数目不足lorenz matlab基础程序——为什么会出现“输入参数的数目不足”...

%KNN classifiers,

%training is training set, testing is test set,

%D is thedistance, D=1 is mandistance; D=2 is 欧氏距离 D=3是 infinite norm

% K is the number of selected neighbors

function label=KNN2(training,testing,D,K)

[row, column]=size(training);

[row1,column1]=size(testing);

%计算测试集与训练集的距离

distance=[];

if D==1

for i=1:row1

for j=1:row

temp=[training(j,[1:(column-1)]);testing(i,:)];

d=mandist(temp);

distance(i,j)=d(1,2);

end

end

end

if D==2

for i=1:row1

for j=1:row

temp=[training(j,[1:(column-1)]);testing(i,:)]';

d=dist(temp);

distance(i,j)=d(1,2);

end

end

end

if D==3

for i=1:row1

for j=1:row

temp=[training(j,[1:(column-1)]);testing(i,:)];

d=max(abs(temp(1,:)-temp(2,:)));

distance(i,j)=d;

end

end

end

% 寻找k个近邻

label=[];

for i=1:row1

[a,b]=sort(distance(i,:));

neighbors=b(1:K)';

neighbors_D=training(neighbors,column);

[x,y]=sort(neighbors_D);

temp=find(diff(x)~=0);

nei_d=[x(1);x(temp+1)];

Num_D=[];

for j=1:length(nei_d)

num=length(find(neighbors_D==nei_d(j)));

Num_D=[Num_D,num];

end

[a,b]=max(Num_D);

label(i)=nei_d(b);

end

这是源程序

>> KNN2

错误使用 KNN2 (line 6)

输入参数的数目不足。

这是结果

以上是直接复制粘贴参考书里面的源程序。但是死活不正确。

求指教!!!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。