需要把MATLAB中的BP神经网络工具箱与自己的一个软件项目结合
编辑:范文君 更新时间:2024-07-02 11:32:00
导读:使用newsom函数创建网络:net=newsom(PR,[D1,D2,^],TFCN,DFCN,OLR,OSTEPS,TLR,TND)PR:R个输入元素的最大值和最小值的设定值,R*2维矩阵 Di:第I层的维数,默认为[5 8]TFCN:拓扑函数,默认为hextop DFCN:距离函数,默认为linkdist OLR:分类阶段学习速率,默认为0.9 OSTEPS:分类阶段的...
这个就是C++与matlab混合编程。但是神经网络工具箱比较特别,它反盗用比较严厉。采用传统的混编方式,可以调用matlab自己的函数,但无法成功调用神经网络工具箱。这一点在mathwork网站上也做了说明。
以C#为例,一般混编有四种方式:
(1)利用Matlab自身编译器,目的是将m文件转换为c或c++的源代码。
(2)利用COM或.NET组件技术。通过MATLAB中的Deploy tool工具将m文件编译成dll,然后在系统中调用。
(3)利用Mideva平台。没尝试过。
(4)利用MATLAB引擎技术。该方法相当于在.NET中运行MATLAB程序,获取其结果。优点是操作简单,过程简易。缺点是需要安装Matlab软件。
如果要调用神经网络工具箱,只有使用第四种方法,即引擎技术,其他方法都不可行。这种混编方式仅仅传递参数,因此不涉及到神经网络工具箱的代码,也就没有了防盗用限制。