发布网友 发布时间:2022-07-27 03:56
共1个回答
热心网友 时间:2023-10-24 14:20
你说的那些算法还是matlab处理起来更方便些,其实matlab提供了跟java的接口,如果非要用java的话,可以用matlab把算法包装为库,供java来调用,matlab help文档里面说的还是很清楚的。追问能具体点吗 怎么用matlab把算法包装为库?matlab help文档里面有说明?追答是的,matlab的文档里面有的,我用.net测试过,但我知道java也可以的。
下面是我用.net测试的步骤
1,首先,利用Matlab Builder NE(Matlab中与.Net接口的组件)将Matlab函数打包到一个.net类里,然后再封装到.net组件里。(一个.net组件里可以包含多个.net类)。
方法是: 在matlab命令行下运行deploytool,在图形界面里选.net组件,然后进入一个工程目录的界面,新建工程,工程的名字就是.net组件的名字(例如testproj),在其下面的目录表示.net类名(例如testplot),在类名上点右键"Add File...",把Matlab的.m函数文件(例如plot1.m)选进去。
最后进行编译(Build the project),生成的目录下有以工程名命名的dll文件(例如testproj.dll)
2,进入Visual Studio 2008,建立的C#工程里,添加两个引用,
一个是/dotnetbuilder/bin/win32/v2.0/mwarray.dll
另一个是工程本身的引用:上一步生成的testproj.dll
3, C#调用matlab函数的方法是:
(1)声明
using MathWorks.MATLAB.NET.Arrays;
using MathWorks.MATLAB.NET.Utility;
using test1proj; // .net组件名
(2)调用
testplot t=new testplot(); //.net类名
t.test1(); //点号后是调用的matlab方法名