% example5_7.m x=-5:5; y=3*x-7; randn('state',2); % 設置種子,便於重復執行 y=y+randn(1,length(y))*1.5; % 加入噪聲的直線 plot(x,y,'o'); P=x;T=y; lr=maxlinlr(P,'bias') % 計算最大學習率 net=linearlayer(0,lr); % 用linearlayer創建線性層,輸入延遲為0 tic;net=train(net,P,T);toc % 用train函數訓練 tic和toc是用來記錄matlab命令執行的時間 tic用來保存當前時間,而后使用toc來記錄程序完成時間。 new_x=-5:.2:5; new_y=sim(net,new_x); % 仿真 hold on;plot(new_x,new_y); title('linearlayer用於最小二乘擬合直線'); legend('原始數據點','最小二乘擬合直線'); xlabel('x');ylabel('y'); s=sprintf('y=%f * x + %f', net.iw{1,1}, net.b{1,1}) text(-2,0,s);