登录论坛

查看完整版本 : [求助]Matlab关于神经网络与.net混编的问题


neu_cnlj
2010-01-08, 13:02
【编程环境】microsoft vs 2008
【matlab版本】matlab 7.5.0(R2007b)
【操作系统】Microsoft XP pro SP3
【Framework】.NET Framework version 3.5
【Matlab环境】Neural Network Toolbox
【问题提出】matlab神经网络与.net混合编程
【关键词】神经网络、.net混合编程

1,
通过net=newff(minmax(p),[HideLayerNumber,size(OupLayerArr,1)],{'tansig','tansig'});建立网络、初始化学习系数、惯性系数、迭代次数后,训练成功(收敛)获得网络阈权值;
net.trainParam.lr = 0.7;
net.trainParam.mc = 0.9;
net.trainParam.epochs = 1000;
net.trainParam.goal=1e-5;
net=train(net,p,t); %开始训练
注:该网络的训练数据都是从数据库中查询,因此没有贴上数据代码;

2,
在matlab下运行delpoytool新建MATLAB Builder for .NET-.NET Component工程,添加m文件后,build、package得到Test.dll、bat、ctf、pkg.exe文件;

3,运行pkg.exe后安装RunTime环境;

4,在.net下新建WindowsForm工程,添加一个按钮,添加引用Test.dll(Test.dll和ctf放在Debug目录下)

5,双击按钮添加事件:
添加如下代码:
Test.testClass cs = new Test.testClass();
cs.Main();

6,运行失败,错误信息:找不到mse.m函数

7,在toolbox中将mse.m文件重新添加后,经过matlab编译;运行.net程序,出现错误:(Debug之前的目录省略了)
MWMCR::EvaluateFunction error:Ouput argument "err" (and maybe others) not assigned during call to "..\Debug\Test_mcr\Toolbox\nnet\nnet\@network\subsasgn.m (setAdaptFcn)".Error in =>Main.m at 113

怀疑神经网络与.net混编的时候会出现问题,为什么mse属于nnet之中的包,在matlab编译的时候为什么没有包括景区进去呢?
我在mathwork主页上查到同样的问题,但是mathwork未给出具体的方法;希望有达人碰到过内似问题而给出解决方法!