How to use min and max function in mex

5 次查看(过去 30 天)
Hi, I have a 1x256 double data, and i need to find the maximum and minimum value in mex file. I tried using min() and max(), and fmin() and fmax(), but i get errors like this
"incompatible type for argument 1 of 'fmin' b=fmin(data);"
"note: expected 'double' but argument is of type 'double *' extern double __cdecl fmin (double, double);"

回答(1 个)

Geoff Hayes
Geoff Hayes 2020-2-14
A - The error message is telling you what is wrong
expected 'double' but argument is of type 'double *'extern double __cdecl fmin (double, double);
The min, max, fmin, and fmax functions expect inputs of type double (or float) but you are passing in a pointer to an array of doubles (or floats). You may need to write some code to loop over each element in the array (or perhaps you can use std::min or std::min_element if available).

类别

Help CenterFile Exchange 中查找有关 Write C Functions Callable from MATLAB (MEX Files) 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by