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?

akari
źródło
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.

Pedro
źródło
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));
Steven C. Howell
źródło