马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
现在遇到一个非常棘手的问题,需要各位专家帮帮忙
我用matlab神经网络函数已经建立了一个预测模型,并将保存号后的网络用于预测,但是这个程序需要转化成exe程序, 目前我还不知道用什么方法可以直接将程序转为exe(mcc不行),
我想到一个简单的方法,就是将matlab训练好后的网络中的权值,阈值参数提取出来,自己根据BP算法写输出代码,但是这个结果与用sim函数得到的结果不一致,不知道是不是sim函数不是这样简单的计算,恳请指点
我在训练网络时的网络设置是这样的
net=newff(minmax(ptr),[11 24],{'tansig' 'purelin'},'trainlm');%%%the hidden layer using 11 nerve
下面是网络训练好后我编的一部分代码
out1=sim(net,input0'); %%% 输入input0得到的网络输出
w1=net.iw{1,1}
theta1=net.b{1}
w2=net.lw{2,1};
theta2=net.b{2} %%% 获得网络的权值和阈值
[hin,in]=size(w1);
[on,hin]=size(w2);
for j1=1:hin
sigma=0.0;
for i1=1:in
sigma=sigma+w1(j1,i1)*input0(i1);%求隐层内积
end
XX1(j1)=sigma - theta1(j1);%求隐层净输入
Hout(j1)=tansig(XX1(j1));)));%求隐层输出
end
for k1=1:@on
sigma=0.0;
for j1=1:hin
sigma=sigma+w2(k1,j1)*Hout(j1);%求输出层内积
end
YY1(k1)=sigma-theta2(k1); %//求输出层净输入
out2(k1)=purelin(YY1(k1));%//求输出层输出
end
但out2和out1并不一致,急死我了!
恳请指点,另外,若有什么方法可以将matlab神经网络程序编译成exe,请指点
谢谢! |