Евклідова відстань в Октаві


18

Мені хотілося б знати, чи існує швидкий спосіб обчислити евклідову відстань двох векторів в Октаві. Здається, що для цього немає спеціальної функції, тому я повинен просто використовувати формулу sqrt?


Можливо, це було знято, оскільки це основне питання, на яке ви повинні знайти відповідь, переглянувши документацію Octave або здійснивши відповідний пошук в Інтернеті. Однак я бачу, що пошук "октави евклідової" або "октавної евклідової відстані" не дає корисних результатів майже так само швидко, як "октавна норма".
Елейн Хейл

пропозиція: наступного разу Google щось на зразок "відстань Матлаба між двома векторами". У Mathworks є централізована документація, яку легко знайти (є офіційний посібник з документації Octave, який ви повинні знайти, але це може зайняти трохи роботи). Щось таке просте, ймовірно, що функція з тим самим іменем в Octave робить те саме.
Стефан Сміт

Статистика цього питання говорить сама за себе.
boatcoder

Відповіді:


33

Евклідова відстань між двома векторами - це двозначна норма їх різниці

d = norm( x1 - x2 , 2 );

повинні зробити трюк в Октаві. Зауважте, що якщо другий аргумент normопущено, 2-норма використовується за замовчуванням.



0

Ось метод обчислення відстані між масивом векторів ( X) та одним вектором ( X(1, :)наприклад, цілі):

distances = sqrt(sum((X - X(1, :)) .^ 2, 2));
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.