How to calculate the distance between one row vector and a matrix??...
이전 댓글 표시
I need to calculate the distance between a one row vector a and a matrix i.e.
test_point = [ 1.2 0.6 3.1 1.3]
train_data = [7.7 2.8 6.7 2.3;
5.2 2.5 3.0 1.1;
2.0 6.5 8.6 9.8;
1.3 2.4 5.2 3.6;
4 3 5 4 2 6 7 6]
I have to find the distance of test_point with every row of train_data.... how can I do that??.. I have tried the MATLAB functions pdist2() and dist() and many other etc but they required two matrices of the same dimension...
plzz tell how to write the function to calculate the distance??...
답변 (2개)
Andrei Bobrov
2012년 12월 14일
편집: Andrei Bobrov
2012년 12월 14일
[edit]
a = bsxfun(@minus,train_data,test_point);
out = cellfun(@norm,num2cell(a,2));
댓글 수: 5
sani ars
2012년 12월 14일
Andrei Bobrov
2012년 12월 14일
I am corrected.
Teja Muppirala
2012년 12월 14일
You didn't need to transpose it, this works fine:
out = pdist2(train_data,test_point)
sani ars
2012년 12월 14일
sani ars
2012년 12월 14일
Walter Roberson
2012년 12월 14일
0 개 추천
Have you considered a "for" loop ?
댓글 수: 2
sani ars
2012년 12월 14일
Walter Roberson
2012년 12월 14일
Using one of the library functions to calculate row by row is fine.
카테고리
도움말 센터 및 File Exchange에서 Descriptive Statistics에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!