I want to apply bubble sort
7 次查看(过去 30 天)
显示 更早的评论
%%%%%%%%Bubble sort %%%%%%
function A = bubbleSort(A)
n = length(A );
while n ~= 0
nn = 0;
for ii = 1:n-1
if A (ii) > A (ii+1)
[A(ii+1),A(ii)] = deal(A (ii), A (ii+1));
nn = ii;
end
end
n = nn;
end
end
%%%%%%%%%%%%%%%%%%%%%%%%
A=[];
for a=1:emp(1)-1
[f,vec]=featureExtraction(sondos(G(nG,a)).block);
A(a,1:9)=f;
A(a,10)=sondos(G(nG,a)).position(1);
A(a,11)=sondos(G(nG,a)).position(2);
end
else
A=[];
for a=1:size(G,2)
[f,vec]=featureExtraction(sondos(G(nG,a)).block);
A(a,1:9)=f;
A(a,10)=sondos(G(nG,a)).position(1);
A(a,11)=sondos(G(nG,a)).position(2);
end
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
A=bubbleSort(A);
for i=1:size(A,1)-1
similar=[];
for l=1:9 %num of features
s=abs(A(i+1,l)-A(i,l));
if s<s_threshold
%similar%
similar(l)=1;
else
%not similar%
similar(l)=0;
end
end
if isempty(find(similar==0)) %two block is similar calculat distance
x1=A(i,10);
x2=A(i+1,10);
y1=A(i,11);
y2=A(i+1,11);
D= sqrt((x1-x2)^2+(y1-y2)^2);
if D>Nd %calculate shift vector
rectangle('Position',[y1,x1,blocksize,blocksize],'Edgecolor','r');
rectangle('Position',[y2,x2,blocksize,blocksize],'Edgecolor','r');
% line([y1,y2],[x1,x2],'Color','r','LineWidth',1)
end
end
end
end
%%%%%%%%%%%%%%%%%%%%%%%%
when I run this,this error shows
Error using bubbleSort
Too many input arguments.
Error in DetectCM_Kmeans (line 86)
A=bubbleSort(A);
0 个评论
采纳的回答
更多回答(1 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Shifting and Sorting Matrices 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!