⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lms_a.m

📁 实现神经网络中的Adaline的LMS算法
💻 M
字号:
%――对正弦波和三角波分别均匀采样64点
a=linspace(2*pi/64,2*pi,64);
X1=sin(a);      %正弦波
b1=[1:15]/16;
b2=[16:-1:-16]/16;
b3=[-15:0]/16;
X2=[b1 b2 b3];  %三角波
Z=[X1;X2]';
plot(Z,'b');
figure(1);
title('正弦信号与三角波信号');


u=rand(1,64);
v=-rand(1,64);
W=u+v;
c=input('请输入初始步长: ')
X=X2;
y=W*X';
d=1;
e=d-y;
n=1;
err = e^2;
b=c;

yuchansx=input('请输入误差上限:  ');
fangcha=input('请输入加入噪声方差:');
while (err(n)>yuchansx)
    step=n
    W=W+b*(e*X);
    if X==X1
       X=X2;
       noi= fangcha^(1/2)*randn(1,64);       %加入正态噪声后的状态
         X=X1+noi;                           %加入正态噪声后的状态
        y=W*X';
        d=0;
        e=d-y;
    else X==X2
         X=X1;
         noi=fangcha^(1/2) *randn(1,64);     %加入正态噪声后的状态
         X=X1+noi;                           %加入正态噪声后的状态
        y=W*X';
        d=1;
        e=d-y;
        end;
    n=n+1
    err(n)=e^2;
end;
W
y1=W*(X1+noi)'
y2=W*(X2+noi)'
plot(noi);               % 加入正态噪声后的状态
%plot(err,'r');
xlabel('n');
ylabel('err');


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -