|
楼主 |
发表于 2009-4-3 15:46
|
显示全部楼层
谢谢~但是结果也不太对。。我正在单步查错中。。。
现在的程序是这样的(暂时删掉了与ird相关的部分运算)
a=load('1.txt'); na=length(a); ids=0; minpts=10; na=length(a);
nminpts=zeros(na,1);
dista=zeros(na,1); disa=zeros(na,1);nminpt=zeros(na,1);
rist=zeros(na,1); ird=zeros(na,1); lof=zeros(na,1); n=zeros(na,1);
for ii=1:na,
for jj=ii+1:na, ids=ids+1;
nminpts(ids)=sqrt( sum( (a(ii,:)-a(jj,:)).^2 ) );
dista(ids)=sqrt( sum( (a(ii,:)-a(jj,:)).^2 ) );
end;
sort(dista); disa(minpts); disa=unique(dista,'rows');
k=ismember(dista,disa(minpts));
n=find(k);
for ii=1:length(n), nminpt(ii,:)=n(ii), end
end
最后得到的是很多个矩阵而不是nminpt一个矩阵 数字也不大对 我在考虑中。
其实是这样 n只是为了找到dista中disa(minpts)这个值在第几位 所以它得到的是一个数字 然后放在矩阵的一行里应该是没问题的啊 因为矩阵我也设的是就1位的
但是我想不出来有什么更好的方法能找到disa(minpts)这个值在dista矩阵中的位置
[ 本帖最后由 ChaChing 于 2009-4-5 21:52 编辑 ] |
|