Fait calculer par MATLAB les valeurs propres de .
#include <stdio.h> #include "engine.h" static double Areal[6]={1, 2, 3, 4, 5, 6} void main() { Engine *ep; mxArray *a, *d; double *Dreal, *Dimag; a = mxCreateDoubleMatrix(3, 2, mxREAL); memcpy(mxGetPr(a), Areal, 6*sizeof(double)); mxSetName(a, "A"); if !(ep = engOpen("\0")) /* \0 ou adresse IP */ Printf("Can't start up MATLAB engine."); engPutArray(ep, a); engEvalString(ep, "d=eig(A*A')"); d = engGetArray(ep, "d"); engClose(ep); Dreal = mxGetPr(d); Dimag = mxGetPi(d); if(Dimag) Printf("Eigval 2: %g+%gi\n", Dreal[1], Dimag[1]); else Printf("Eigval 2: %g\n", Dreal[1]); mxDestroyArray(a); mxDestroyArray(d); }