How can I replace ksdensity for c++ generation with the Matlab Coder ?

4 views (last 30 days)
Hello everyone,
I am working on a c++ project and someone gave me a Matlab code so I try to use the Matlab Coder. The problem is that the ksdensity function is not supported, so I would like to know if I can replace this function with something else...

Accepted Answer

Kaustubha Govind
Kaustubha Govind on 16 Jun 2014
I don't know of a MATLAB function equivalent that is supported for code-generation, but if you are able to find a C implementation of the function, you can use the following construct in your MATLAB code to have the generated code call into the C-library:
if coder.target('MATLAB')
% Executing in MATLAB, call function ksdensity
[f,xi] = ksdensity(x);
else
% Executing in the generated code.
% Call the C function as per the signature.
coder.ceval('c_ksdensity', coder.ref(x), coder.ref(f), coder.ref(xi));
end

More Answers (1)

DN
DN on 10 Sep 2014
Hi Jean,
How did you get on with this? It's still not supported, right? but have you managed to get a C version of this code to do what Kaustubha recommended?
best dian
  2 Comments
Jeanne
Jeanne on 12 Sep 2014
Hi Dian,
I wrote my own C version and used it with Kaustubha's code. There is a similar function in the MLPack library, but I couldn't make it work with Windows 7 (64).
DN
DN on 5 Oct 2014
Hi Jeanne,
I see, I don't know MLPack but it looks like a C++ library, right? Can you perhaps let me know what file to look for and where in the MLPack website can I find it? Apologies for asking you the name/path. Furthermore I wouldn't know where to start but I gather it (MLPack file) guided you allot to write your C version?
best wishes dian

Sign in to comment.

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!