```Date: Dec 3, 2012 11:33 AM
Author: Jerome
Subject: MEX SLower than MATLAB?

I have rewrote my matlab function in C using the mex and it++, but my mex implementation is a lot slower than my MATLAB function. I was wondering if anyone could tell me what I am doing wrong.MATLABfor idx = 1:length(eps_r)  % Calculate kz  if (idx == 1) || (eps_r(idx) ~= eps_r(idx-1))    v_p     = c/sqrt(eps_r(idx)); % m/s - Propogation Velocity    dz      = v_p*dt/2;    k       = 2*w/v_p; % rad/m    z_shift = exp(1i*dz*sqrt((repmat(k,1,size(data,2))).^2-(repmat(kx,size(data,1),1)).^2));  end  fk_data(idx,:) = ifft(mean(data))*exp(-1i*2*pi*freq(1)*time(idx)); data    = data.*z_shift; endMEX: for(int idx = 0; idx < eps_r.size();  idx++ ) {   if ( (idx == 1) || (eps_r(idx) != eps_r(idx-1) ) )   {     v_p =  2.9979e+08 / sqrt(eps_r(0));         dz = v_p * time(0)/2;     k = 2 * w / v_p;     for(int y = 0 ; y < z_shift.size(); y++)     z_shift(y) = exp(dz * i * sqrt(pow(z_shift_pt1(y),2) - pow(z_shift_pt2(y),2)));   }fk_data =  ifft(complex_mean(data)) * exp(-i * 2 * itpp::pi * freq(0) * time(idx));data = elem_mult(data,z_shift); }Thanks in Advanced
```