LMS学习函数MATLAB代码
生活随笔
收集整理的這篇文章主要介紹了
LMS学习函数MATLAB代码
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
clear,clc
close all
P=-5:5;
d=3*P-7;
randn('state',2);
d=d+randn(1,length(d))*1.5
P=[ones(1,length(P));P]
lp.lr=0.01;
MAX=150;
ep1=0.1;
ep2=0.0001;
w=[0,0];
for i=1:MAXfprintf('第%d次迭代:\n',i)e=d-purelin(w*P);ms(i)=mse(e);ms(i)if(ms(i)<ep1)fprintf('均方差小于指定數而終止\n');break;enddW=learnwh([],P,[],[],[],[],e,[],[],[],lp,[]);if(norm(dW)<ep2)fprintf('權值變化小于指定數而終止\n');break;endw=w+dW
end
fprintf('算法收斂于:\nw=(%f,%f),MSE: %f\n',w(1),w(2),ms(i));
figure;
subplot(2,1,1);
plot(P(2,:),d,'o');title('散點與直線擬合結果');
xlabel('x');ylabel('y');
axis([-6,6,min(d)-1,max(d)+1]);
x1=-5:.2:5;
y1=w(1)+w(2)*x1;
hold on;
plot(x1,y1);
subplot(212)
semilogy(1:i,ms,'-o');
xlabel('迭代次數');ylabel('MSE');title('均方差下降曲線');
?
總結
以上是生活随笔為你收集整理的LMS学习函数MATLAB代码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux查看编译器的大小端,Linux
- 下一篇: hexo部署成功但是没效果_使用 Hex