Bonjour à tous
j'ai un programme en C que je veux compiler sous matlab;il ne m'affiche pas d'erreur mais quand je lance l'execution il ne me donne rien en resultat;quelqu'un saurait il d'ou vient le probleme?
merci d'avance
#include "mex.h"
#include <stdio.h>
#include<math.h>
#define taille_block 32
#define pi 3.14
void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[])
/*void phi(double *phi_0,double F_1,double F_2);*/
/*
*les variables sont affectées comme suit:
* -plhs[0]:vecteur de sortie de taille n
* -prhs[0]: signal d'entrée
* -prhs[1]:nombre entier,taille signal d'entrée
* -prhs[2]:nombre n,taille des blocs
*/
/***********************Déclara tion des variables************/
{
int n;
double *In,*Out,*Out_A,*Out_F;
double *a_0, *a_1, *a_2;
double *f_0, *f_1, *f_2;
double phi_0;
double A,F,phi,sum;
double F_1,F_2;
/*************Initialisation des variables****************/
In=mxGetPr(prhs[1]);/*on recoit le pointeur de l'agument 2*/
a_0=mxGetPr(prhs[0]);
a_1=mxGetPr(prhs[1]);
a_2=mxGetPr(prhs[2]);
f_0=mxGetPr(prhs[0]);
f_1=mxGetPr(prhs[1]);
f_2=mxGetPr(prhs[2]);
plhs[0]=mxCreateDoubleMatrix(taille_b lock+1,1,mxREAL);
Out=mxGetPr(plhs[0]);
Out_A=mxGetPr(plhs[0]);/*creation de la matrice de sortie*/
Out_F=mxGetPr(plhs[0]);
mexPrintf("A=%d %d %d\n",*a_0,*a_1,*a_2);
/************initialisation de la matrice solution***************/
for (n=-taille_block/2;n<=taille_block/2;n++)
{
A=a_0[0]+a_1[0]*n+a_2[0]*n*n;
Out_A[n+taille_block/2]=A;
F=f_0[0]+f_1[0]*n+f_2[0]*n*n;
Out_F[n+taille_block/2]=F;
}
for (n=-taille_block/2;n<=taille_block/2;n++)
{
F_2=F_1=0;
for(n=-taille_block/2;n<0;n++)
{
F_1=F_1+Out_F[n+taille_block/2];
}
for(n=-taille_block/2;n<=0;n++)
{
F_2=F_2+Out_F[n+taille_block/2];
}
}
phi=phi_0+2*pi*sum;
Out[n+taille_block/2]=phi;
}
return;
}
-----