How to use min and max function in mex

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);"

Réponses (1)

Geoff Hayes
Geoff Hayes le 14 Fév 2020
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).

Catégories

En savoir plus sur Write C Functions Callable from MATLAB (MEX Files) dans Centre d'aide et File Exchange

Tags

Question posée :

A R
le 14 Fév 2020

Community Treasure Hunt

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

Start Hunting!

Translated by