MATLAB: “Mex file generation” invalid character code error

matlab coder

When I tried to convert the following code to a mex file using coder I've gotten the following error:
Caught "std::exception" Exception message is:
Invalid character code sequence detected.
CODE 1:
% Y: new data matrix
% X: training data matrix, each row is one observation, each column is one feature
% type: type of kernel, can be 'simple', 'poly', or 'gaussian'
% para: parameter for computing the 'poly' kernel, for 'simple'
% and 'gaussian' it will be ignored
% K: kernel matrix
% Copyright by Quan Wang, 2011/05/10
% Please cite: Quan Wang. Kernel Principal Component Analysis and its
% Applications in Face Recognition and Active Shape Models.
% arXiv:1207.3538 [cs.CV], 2012.
function K=kernel_NewData(Y,X,type,para) %#codegen

N=size(X,1);
if strcmp(type,'simple')
K=Y*X';
end
if strcmp(type,'poly')
K=Y*X'+1;
K=K.^para;
end
if strcmp(type,'gaussian')
K=distanceMatrix([X;Y]);
K=K(N+1:end,1:N);
K=K.^2;
K=exp(-K./(2*para.^2));
end
The above distanceMatrix() has only matrix multiplication and conditional operations.
Then, I have tested also a short code "soma.m", but the error persists:
CODE 2
function c = soma(a,b) %#codegen
c =a+b;
Does anybody knows how to solve this?
I'm working on ubuntu 14.04 with gcc/g++ 4.7.
Thanks.

Best Answer

This may occur if your MATLAB current working directory has non-ascii characters. To resolve this, remove any non-ascii character in the full path of the current working directory.