哪位高手帮我编写一下关于MATLAB BP神经网络编写正弦函数逼近的问题,不要调用已有的函数。

要求是3层网络,隐层有10个神经元,隐层函数是双曲正切,输出层是线性函数,y=x就可以,输入要求是-1到1之间的4个点,总误差要求小于0。001,最好能还出图来,我编写了... 要求是3层网络,隐层有10个神经元,隐层函数是双曲正切,输出层是线性函数,y=x就可以,输入要求是-1到1之间的4个点,总误差要求小于0。001,最好能还出图来,我编写了一个,,运行不出来,各位高手帮忙看一下,跪谢
w1=rand(10,1);
r1=rand(10,1);
w2=rand(1,10);
r2=rand(1,1);
x=-1:2/39:1;
a=0.1;
b=0.2;
n=0;
E=1;

while n<=100
while E>=0.01
E=0;
for i=1:40
d=sin(x);%期望输出
R=w1*x(i)+r1; %中间层输入输出;
Y=tanh(R);
S=w2*Y+r2; %输出层输入输出;
Z=S;
e2=d(i)-Z;%输出层误差;
D=e2*(1-Y.^2)*w2;
e1=D(:,1);%中间层误差;
w2=w2+a*e2*Y';%输出层权值阈值;
r2=r2+a*e2;
w1=w1+b*e1*x(i);%中间层权值阈值;
r1=r1+b*e1;
e=d(i)-e2;
E=E+0.5*e*e;
end
end
n=n+1;
end
E
n
w1
w2
e1
e2
是-1到1之间的40个点,一维的,样本值40个,单输入,单输出的,要用循环语句,完全是自己的程序,不能用工具箱中的函数,因为财富值没有,不好意思啦,以后会补上的!最好有出正弦函数逼近图的语句
展开
 我来答
04313037
2011-03-18 · TA获得超过988个赞
知道小有建树答主
回答量:384
采纳率:0%
帮助的人:244万
展开全部
说清楚,几输入,几输出,要出什么图?
我给你编,做那么大的工作量,连个分都不给,你好意思??
clc
clear
close all
load data
%定义网络输入p和期望输出t
input_train=m_data(1:120,1:4)';
output_train=m_data(1:120,5)';
input_test=m_data(121:180,1:4)';
output_test=m_data(121:180,5)';
%建立相应的BP网络

net=newff(minmax(input_train),[9 1],{'tansig','purelin'},'trainlm');
inputWeights=net.IW{1,1};
inputbias=net.b{1};

% 训练网络
net.trainParam.show=50;
net.trainParam.lr=0.05;
net.trainParam.mc=0.9;
net.trainParam.epochs=1000;
net.trainParam.goal=0.0001;

%调用TRAINGDM算法训练BP网络
net=train(net,input_train,output_train);

%对BP网络进行仿真
A=sim(net,input_train);
E=A-output_train;
M=mse(E)
N=sse(E)
%测试网络
a2n=sim(net,input_test);
m=mse(a2n-output_test)
n=sse(a2n-output_test)
%结果作图
%训练曲线
figure(1)
plot(output_train,'r');
hold on
plot(A,'b.:');
legend('训练样本值','BP拟合值');
title('BP网络训练图');

xlabel('样本个数');
%测试曲线
figure(2)
plot(output_test,'r');
hold on
plot(a2n,'b.:');
legend('测试样本值','BP测试值');
title('BP网络预测输出');

xlabel('样本个数');
%训练误差
figure(3)
plot(output_train-A,'-');
title('BP网络训练误差');
legend('训练样本误差');
ylabel('训练绝对误差');
xlabel('样本个数');
grid
%预测误差
figure(4)
plot(output_test-a2n,'-');
title('BP网络预测误差');
legend('测试样本误差');
ylabel('测试绝对误差');
xlabel('样本个数');
grid;
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式