转自http://www.codeproject.com/KB/DLL/MatlabNN_BKM.aspx
Introduction
This Article And Source Code Intended Those Users Who Are Working On Neural Network Related Projects.In This Article ,i am using MATLAB 6.5 Neural Network ToolBox To Create Neural Network And Call The Same From Other Environments Like VB,C++ etc..
Description
Step 1:-- > Design A Nueral Netwrok Using Matlab NN tool box.
for Eg:- net = newlind(P,T); P = Inputs , T = Targets
[There's Lots Examples In Matlab Which Describes How To Create Neural Network ]
Step 2: --> Write .M file which create the Nueral Network According to our Inputs.[refer:- CreateNN.M in the demo Project]
Step 3:--> Add Code To Save Wokspace using the command "save" in the CreateNN.m file [ you can specify the location ].Now Trained Network Saved.
Step 4:--> Write Another .m file which loads Trained Network And Apply Simulate Function.Result can be saved to datbase or a text file.[ refer :--> ApplySimFun.m]
Step 5:--> Now we have to integrate(execute) .m file as part of our application.In order to that we have to Invoke Matlab As Automation Server.
Demo Project Description
How To Test The Apllication
i wrote two sample file .m files , foldername Samples_NN_Files
step1 , copy Samples_NN_Files Folder to c:\
folder contains two .m file ,
file ,CreateNN.m -> creates the network , save the network to c:\Samples_NN_Files
file , ApplySimFun.m -> loads the network from c:\Samples_NN_Files apply the simulate function, write the result to a log file C:\NNResult.log"
Step2 , u have to call these file(execute) from .exe(vb,vc,c++) , In order to do that u have to invoke matlab as automatomation server. for this purpose i wrote wrapper dll called CMatlabEngine.dll.
so register the dll ( command line:- regsvr32 CMatlabEngine.dll) file (Note: i am using Matlab 6.5 version so , if u are using anyother versions there may be version conflict)
u can find the dll file in vb_dll_matlab folder ( actually it's vb project for creating matlab wrapper, so go through the code")
step 3 ,there's sample programm written in vb ,Call_NN_From_VB which call the matlab execute the Network shows the result to testbox
Conclusion
Hope You Will Enjoy.Any Doubts Feel Free To Contact Me.Actually I wrote examples in VB 6.0.But you can Invoke The CMatlabEngine.dll. from c++ using #import Statement.
Update :- you can watch my screencast on using matlab Neural Network in C# application here
.This approach doesn't require Matlab to be installed in client machine.