Как кодировать 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
).