91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 1KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2021-06-19
  • 語言: Matlab
  • 標簽: knn算法??

資源簡介

通過knn算法,實現WiFi室內定位在matlab環境下的仿真

資源截圖

代碼片段和文件信息

function?result?=?knn(trainX?testY?zuobiaoZ?k)


%?Classify?using?the?Nearest?neighbor?algorithm
%?Inputs:
%? trainX ???????-?Train?sample?matrix?n*d?n?points?each?d?dimentions
%???testY??????????-?Test?sample?matrix??N*d??測試樣本矩陣
% k ???????-?Number?of?nearest?neighbors?
%?Outputs:
% result ???????-?定位點坐標

%??判斷trainX和testY的樣本點維數是否相同???
trainX?=[34?35?38?40?45?60?62?67;36?34?40?36?42?67?40?65;62?40?48?36?47?67?34?62;38?36?40?45?52?65?70?65;?67?42?50?35?36?70?37?64]
testY?=?[38?36?39?41?46?61?64?67;70?38?40?55?50?60?55?40;76?33?56?78?40?52?62?35;76?35?23?61?76?35?57?62;87?62?34?47?36?82?21?63];
zuobiaoZ?=?[0.0?3.0;1.5?3.0;?3.0?3.0;0.0?1.5;3.01.5];
k?=3;
zhunqueZ?=?[0.3?3.0;1.8?1.8;2.0?1.7;0.8?2.9;3.0?2.2]??????????????????????????????%??待定位點的準確坐標
if?size(trainX2)?~=?size(testY2)??????????????????????????????????????
????error?(‘trainX?and?testZ?must?have?same?column?dimensions?!‘)?????????%??維數d應該相同?在同一個點搜集到的WiFi熱點個數相同
end???

%??判斷k近鄰是否可取
n?=?size(trainX1);???????????????????????????????????????????????????????%??測試樣本點個數???參考點的個數必須大于k的個數
if?(?n????error(‘You?specified?more?neighbors?than?existed?points.‘)
end???????????????????????????????????????????????????????????????????????%??選擇的近鄰數不大于樣本點數

???????????????????????????????
N???????????????????=?size(testY?1);?????????????????????????????????????%??testZ的行數,即測試集的樣本點數
??????????????????????????????????????????????????????????????????????????%???初始化result矩陣N*1列向量標出testZ的類別


%??按照所選的度量距離,對testY的N個點逐個進行k近鄰分類?

????????????????????????????????????????????????????????
????for?i?=?1:N?
????????dist????????????=?sum((trainX?-?ones(n1)*testY(i:)).^22);??????%??dist?表示第i個測試點分別與n個訓練樣本點之間的歐式距離的平方?按行進行求和?dist是個矩陣
????????[m?indices]????=?sort(dist);?????????????????????????????????????%??按列進行升序排列???
????????histclass???????=?zuobiaoZ([indices(1:k)]:?);????????????????????%??取前k個最短距離對應的點所屬的類別,求出k個臨近點的坐標
????????gd??????????????=?sum(histclass);?????????????????????????????????%??k個臨近點的坐標相加?
????????result(i:)?????=gd/k;????????????????????????????????????????????%??求得定位點的坐標
????????x(i)????????????=result(i1);
????????y(i)????????????=result(i2);
????????x1(i)???????????=zhunqueZ(i1);
????????y1(i)???????????=zhunqueZ(i2);
????????
????end
???plot(xy‘square‘‘MarkerSize‘7);
???hold?on;
???plot(x1y1‘*‘‘MarkerSize‘7);
???????axis([0?3?0?3]);
set(gca‘xtick‘[0:0.2:3]‘ytick‘[0:0.2:3])
????
????

end

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????2735??2014-04-17?13:54??knn1.m

-----------?---------??----------?-----??----

?????????????????2735????????????????????1


評論

共有 條評論