MATLAB中如何用BP和RBF网络表示一个y=cos( t) 函数y0=0.5
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/30 21:33:51
![MATLAB中如何用BP和RBF网络表示一个y=cos( t) 函数y0=0.5](/uploads/image/z/3686908-4-8.jpg?t=MATLAB%E4%B8%AD%E5%A6%82%E4%BD%95%E7%94%A8BP%E5%92%8CRBF%E7%BD%91%E7%BB%9C%E8%A1%A8%E7%A4%BA%E4%B8%80%E4%B8%AAy%3Dcos%28+t%29+%E5%87%BD%E6%95%B0y0%3D0.5)
MATLAB中如何用BP和RBF网络表示一个y=cos( t) 函数y0=0.5
MATLAB中如何用BP和RBF网络表示一个y=cos( t) 函数
y0=0.5
MATLAB中如何用BP和RBF网络表示一个y=cos( t) 函数y0=0.5
BP的:
p=1:10;
t=cos(p);
SamNum=10;
TextNum=10;
ForcastNum=10;
HiddenNum=8;
InDim=1;
OutDim=1;
[SamIn,ss]=mapminmax(p);p
[tn,ts]=mapminmax(t);t
rand('state',sum(100*clock));
NoiseVar=0.01;Noise=NoiseVar*randn(1,SamNum);
SamOut=tn+Noise;
TestSamIn=SamIn;
TestSamOut=SamOut;
MaxEpochs=10000;
lr=0.035;
E0=0.65*10^(-3);
W1=0.5*rand(HiddenNum,InDim)-0.1;
B1=0.5*rand(HiddenNum,1)-0.1;
W2=0.5*rand(OutDim,HiddenNum)-0.1;
B2=0.5*rand(OutDim,1)-0.1;
ErrHistory=[];
for i=1:MaxEpochs
\x05HiddenOut=logsig(W1*SamIn+repmat(B1,1,SamNum));
\x05NetworkOut=W2*HiddenOut+repmat(B2,1,SamNum);
\x05Error=SamOut-NetworkOut;
\x05SSE=sumsqr(Error);
\x05ErrHistory=[ErrHistory SSE];
if SSE
x=-1:1
y=cos(x)就行了啊