算法流程
Matlab实现
clear all;
%step1
xp=[1,3];
yp=[0.95,0.35];
err_max=0.01;
iterate=0;
xp_tmp=[1 1 1];
step=0.1;
nums=1;
result=[];
%初始权值
w1_1=-1 + (1+1)*rand(1,3);
w1_2=-1 + (1+1)*rand(1,3);
w2_1=-1 + (1+1)*rand(1,3);
w2_2=-1 + (1+1)*rand(1,3);
xp_tmp(1:2)=xp(1:2);
%step2
while(1)
nums=nums+1;
net1_1=w1_1*xp_tmp';
net1_2=w1_2*xp_tmp';
o1=1/(1+exp(-net1_1));
o2=1/(1+exp(-net1_2));
tmp2=[o1 o2 1];
net2_1=w2_1*tmp2';
net2_2=w2_2*tmp2';
y1=1/(1+exp(-net2_1));
y2=1/(1+exp(-net2_2));
%step3
e_tmp&#