MATLAB中如何用BP和RBF网络表示一个y=cos( t) 函数y0=0.5

来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/26 11:19:58
MATLAB中如何用BP和RBF网络表示一个y=cos(t)函数y0=0.5MATLAB中如何用BP和RBF网络表示一个y=cos(t)函数y0=0.5MATLAB中如何用BP和RBF网络表示一个y=

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)就行了啊