
这个就是C++与matlab混合编程。但是神经网络工具箱比较特别,它反盗用比较严厉。采用传统的混编方式,可以调用matlab自己的函数,但无法成功调用神经网络工具箱。
这一点在mathwork网站上也做了说明。以C#为例,一般混编有四种方式:(1)利用Matlab自身编译器,目的是将m文件转换为c或c++的源代码。(2)利用COM或.NET组件技术。
通过MATLAB中的Deploytool工具将m文件编译成dll,然后在系统中调用。(3)利用Mideva平台。没尝试过。(4)利用MATLAB引擎技术。
该方法相当于在.NET中运行MATLAB程序,获取其结果。优点是操作简单,过程简易。缺点是需要安装Matlab软件。如果要调用神经网络工具箱,只有使用第四种方法,即引擎技术,其他方法都不可行。
这种混编方式仅仅传递参数,因此不涉及到神经网络工具箱的代码,也就没有了防盗用限制。
谷歌人工智能写作项目:小发猫

参考一下刘金琨的《先进PID控制》这本书rbsci。
例子:被控对象yout(k)=a(k)yout(k-1)/(1+yout(k-1)^2)+u(k_1)其中a(k)=1.2(1-0.8e^(-0.1k))输入信号:rin(k)=1.0和rin(k)=sin(2t)%BPbasedPIDControlclearall;closeall;xite=0.25;//学习速率alfa=0.05;//惯性系数S=1;%SignaltypeIN=4;H=5;Out=3;%NNStructureifS==1%StepSignalwi=[-0.6394-0.2696-0.3756-0.7023;-0.8603-0.2013-0.5024-0.2596;-1.07490.5543-1.6820-0.5437;-0.3625-0.0724-0.6463-0.2859;0.14250.0279-0.5406-0.7660];%wi=0.50*rands(H,IN);wi_1=wi;wi_2=wi;wi_3=wi;wo=[0.75760.26160.5820-0.1416-0.1325;-0.11460.29490.83520.22050.4508;0.72010.45660.76720.49620.3632];