// Incluir las cabeceras necesarias
#include <engine.h>
#include <matrix.h>
int main() {
// Iniciar el motor de Matlab
Engine *ep;
if (!(ep = engOpen("\0"))) {
fprintf(stderr, "\nNo se pudo iniciar el motor de Matlab\n");
return EXIT_FAILURE;
}
// Crear y enviar datos desde Builder a Matlab
double datosEntrada[] = {1.0, 2.0, 3.0, 4.0};
mxArray *mxEntrada = mxCreateDoubleMatrix(1, 4, mxREAL);
memcpy(mxGetPr(mxEntrada), datosEntrada, sizeof(datosEntrada));
engPutVariable(ep, "datosEntrada", mxEntrada);
// Ejecutar el script de Matlab
engEvalString(ep, "resultados = miFuncionMatlab(datosEntrada);");
// Obtener resultados desde Matlab
mxArray *mxResultados = engGetVariable(ep, "resultados");
double *resultados = mxGetPr(mxResultados);
// Procesar resultados en Builder según sea necesario
// Liberar memoria
mxDestroyArray(mxEntrada);
mxDestroyArray(mxResultados);
// Cerrar el motor de Matlab
engClose(ep);
return EXIT_SUCCESS;
}