У меня есть код MATLAB, который я пытаюсь преобразовать в C, и он отлично работает, но я застрял в функции dist
. В нем говорится, что он вычисляет евклидово расстояние весовой функции. Вычисление нормальной евклидовой дистанционной функции довольно просто, но я точно не понимаю, что здесь означает вес. В коде, который я хочу преобразовать, есть 1x1000, или сказать другими словами просто массив строк со сложными значениями (что означает x + yi). Затем он делает что-то вроде этого:Как работает функция dist в MATLAB?
if ((dist(sest(i), -1)) < (dist(sest(i), 1)))
Как я сказал sest
является 1x1000 матрицей комплексных величин, поэтому она принимает каждое значение в цикле for
и помещает его в функцию dist
с -1 или 1, и вывод функции dist
в моем случае снова является сложным числом. Любая идея, что происходит за сценой? Что там делает -1 и 1? Как вычисляется здесь весовая функция Евклида?
Спасибо, но в последней части '((расстояние (сьесть (I), 1))', то выход должен снова иметь 'conj' по моему мнению. – typos