% 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);
% 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);
% 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);