Как кодировать max(abs) в MATLAB

У меня есть следующий код в MATLAB, который я пытаюсь переписать в mex-файл, используя C (или C++):

[a,b] = max(abs(C));

где C - вектор, a - максимальное абсолютное значение всех элементов вектора C, а b - индекс a.

Пожалуйста, кто-нибудь может мне помочь с решением этой проблемы? Я уже пытался использовать функцию "abs", но она вернула положительные целые числа (но я хочу, чтобы они оставались двойными с включенными десятичными значениями). Спасибо заранее.

1 ответ

man abs говорит вам, почему вы получили такой результат: abs - целочисленная функция абсолютного значения

Ты хочешь fabs здесь: "функция абсолютного значения с плавающей точкой". Обратите внимание, что вам нужно включить math.h (abs обычно в stdlib.h).

Другие вопросы по тегам