Include fft.m in Java Project
显示 更早的评论
Hello everyone!
I have a matlab function (let's call it mfun) which calls the fft. I use this mfun in Java code, through a class created by Matlab builder JA (R2010a), but I get a java error "Undefined function or method 'fft' for input arguments of type 'int32'". I guess that Java cannot access to the fft function, the .jar file only has one class with this mfun. So, how can I include fft in the .jar?
Thanks!
采纳的回答
更多回答(2 个)
Rick Rosson
2011-8-31
I think the easiest thing to do would be to modify the MATLAB source code for the time2rms function, and then re-deploy using the MATLAB Compiler and Builder JA.
There are two ways to modify the MATLAB code:
- Check the input arguments at the very beginning of the function to see if they are floating point. If not, coerce them right then and there, OR
- Find each instance where the function calls fft, and coerce the input argument at each call site.
To accomplish #1, you would need to use the isa function:
if ~( isa(x,'double') || isa(x,'single') )
x = double(x)
end
I am not sure which way is better, but both should work.
HTH.
Rick
类别
在 帮助中心 和 File Exchange 中查找有关 Call Java from MATLAB 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!