Odległość euklidesowa w oktawie


18

Chciałbym wiedzieć, czy istnieje szybki sposób na obliczenie odległości euklidesowej dwóch wektorów w oktawie. Wydaje się, że nie ma do tego żadnej specjalnej funkcji, więc czy powinienem po prostu użyć formuły z sqrt?


Być może zostało to odrzucone, ponieważ jest to podstawowe pytanie, na które powinieneś być w stanie znaleźć odpowiedź, przeglądając dokumentację Octave lub przeprowadzając odpowiednie wyszukiwanie w Internecie. Widzę jednak, że wyszukiwanie „oktawy euklidesowej” lub „oktawy odległości euklidesowej” nie daje użytecznych wyników prawie tak szybko, jak „norma oktawy”.
Elaine Hale,

sugestia: następnym razem Google coś w stylu „odległość Matlab między dwoma wektorami”. Mathworks ma scentralizowaną dokumentację, którą łatwo znaleźć (istnieje oficjalna instrukcja dokumentacji Octave, którą powinieneś znaleźć, ale znalezienie jej może zająć trochę pracy). Dla czegoś tak prostego jest prawdopodobne, że funkcja o tej samej nazwie w Octave robi to samo.
Stefan Smith

Statystyki dotyczące tego pytania mówią same za siebie.
Boatcoder

Odpowiedzi:


33

Odległość euklidesowa między dwoma wektorami jest zatem dwiema normami ich różnic

d = norm( x1 - x2 , 2 );

powinien załatwić sprawę w Octave. Zauważ, że jeśli drugi argument normzostanie pominięty, domyślnie używana jest 2-norma.



0

Oto metoda obliczania odległości między tablicą wektorów ( X) a pojedynczym wektorem ( X(1, :)na przykład do celów):

distances = sqrt(sum((X - X(1, :)) .^ 2, 2));
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.