MATLAB 神经网络中各函数用法及一些要点(一)

本文只是个人学习神经网络时记下的一些笔记。

1.train函数用法

 

 2.newp函数用法:

3.sim函数

 在matlab中提供了sim函数,对于神经网络进行仿真,格式:[y,pf,af,perf]=sim(net,p,pi,ai,t)

或者[y,pf,af]=sim(net,{qts},pi,ai)
 

4.plotpv函数

 plotpc函数:用于绘制感知器分界线
 

5.net2.trainParam.show=1;

show是指训练多少步然后显示一次
设置成100就是说训练经过100步就在你的误差曲线图上显示一次当前的结果

net.adaptParam.passes这个含义暂时没查到。

6.性能函数mae
Matlab神经网络工具箱提供了mae函数,用于求网络的平均绝对误差性能。感知器的学习规则为调整网络的权值和阀值,使得网络的平均绝对误差和最小。调用格式:

Perf=mae(e,y,x,fp)
Dperf_dy=mae(‘dy’,e,y,x,perf,fp)

Dperf_dx=mae(‘dx’,e,y,x,perf,fp)Info=mae(‘code’)
其中,e为误差矩阵或向量(e=t-y,t表示网络的目标向量);y是网络的输出向量(可以忽略);x为所有权值和偏值向量;fp为性能参数,perf表示平均绝对误差;dperf_dy表示返回perf对y的导数;mae(code)将根据code值的不同,返回不同的信息;返回的信息包括:
当code=name时,表示返回函数全称
当code=pnames时,表示返回训练参数的名称

当code=pdefaults时,表示返回默认的训练参数

7.adapt函数
该函数为学习自适应函数,其在每一个输入时间阶段更新网络时仿真网络。格式:[net,y,e,pf,af,tr]=adapt(net,p,t,pi,ai)参数意义与train函数一致
8.drawnow是用于刷新屏幕的,实时看到图像的每一步变化情况。

9.save函数

10.set函数用法

转自https://www.jianshu.com/p/c8c9a8185dcf

set(get(gca,'title'),'FontSize',10,'FontName','宋体');%设置标题字体大小,字型
set(get(gca,'XLabel'),'FontSize',10,'FontName','Times New Roman');%设置X坐标标题字体大小,字型
set(get(gca,'YLabel'),'FontSize',10,'FontName','Times New Roman');%设置Y坐标标题字体大小,字型
set(gca,'FontName','Times New Roman','FontSize',10)%设置坐标轴字体大小,字型
text(0.3,1.2,'(a)','FontSize',10,'FontName','Times New Roman'); %设置文本字型字号
set(gca, 'XTick', [0 10 20 30 40 50 60 70 80 90]) %设置X坐标轴刻度数据点位置
set(gca,'XTickLabel',{'0','10','20','30','40','50','60','70','80','90'}) %设置X坐标轴刻度处显示的字符
set(gca, 'YTick', [-15 -10 -5 0 5 10 15]) %设置X坐标轴刻度数据点位置
set(gca,'YTickLabel',{'-15','-10','-5','0','5','10','15'}) %设置Y坐标轴刻度处显示的字符
axis([0,90,-20,20])
set(gca,'YTickLabel',[]); %只显示y坐标轴刻度,不显示y坐标轴的值;
set(gca,'XTickLabel',[]); %只显示x坐标轴刻度,不显示x坐标轴的值;
set(gca,'ytick',[]); %y轴的坐标值和刻度均不显示;
set(gca,'xtick',[]); %x轴的坐标值和刻度均不显示;

figure;
set (gcf,'Position',[400,300,600,200]); %设定plot输出图片的尺寸。参数含义为:xmin,ymin,width,height
%plot的默认参数为[232,246,560,420],Position的单位可以用units属性制定,units属性的值可以是下列字符串中的任何一
%种:pixel(像素,缺省值)、normalized(相对单位)、inches(英寸)、centimeters(厘米)、points(磅)。
%指定大小后,在figure中用text输出的文字大小,设置的是多大,在WORD中显示的就是多大。
set (gcf,'units','centimeters','Position',[4,3,6,2]); %指定fiugre的尺寸为6cm宽,2cm高。
%也可以直接用下属语句:
fiure('units','centimeters','Position',[4,3,6,2]);

%改变ylabel离坐标轴的距离
hc=findobj(allchild(gcf), 'Type', 'axes');
hc2=findobj(allchild(hc), 'Type', 'text');
set(hc2(3), 'Position', [0 0 0]);
%改变xlabel离坐标轴的距离
hc=findobj(allchild(gcf), 'Type', 'axes');
hc2=findobj(allchild(hc), 'Type', 'text');
set(hc2(4), 'Position', [0 0 0]);

%双y轴坐标图形调整
[AX,H1,H2]=plotyy(f1e-12,abs(T1.T1),f1e-12,angle(T1.T1));
set(AX,'FontSize',14,'FontName','Times New Roman')%设置x轴、左y轴、右y轴刻度字号和字型
set(AX(1),'Xcolor','k','Ycolor','k')%设置x轴、左y轴刻度字体为黑色;
set(AX(2),'Xcolor','k','Ycolor','k')%设置x轴、右y轴刻度字体为黑色;
set(AX,'Xlim',[207.5 217.1],'xtick',[208:1:217])%设置x轴数据范围(207.5到217.1),刻度显示(208,209,210...217)
set(AX(1),'ylim',[0,0.5],'ytick',[0:0.1:0.5])%设置左y轴数据范围(0到0.5),刻度显示(0,0.1,0.2...0.5)
set(AX(2),'ylim',[0,3],'ytick',[0:1:3])%设置右y轴数据范围(0到3),刻度显示(0,1,2,3)
set(H1,'Linestyle','-','color','r','Linewidth',2.5);%设置第一条曲线的线型、颜色、粗细
line(x,y,'linestyle','-','color','r','Linewidth',2.5,'parent',AX(1));%在第一条曲线上再画一条曲线。
set(H2,'Linestyle','-.','color','b','Linewidth',2.5);%设置第二条曲线的线型、颜色、粗细
set(get(AX(1),'Ylabel'),'string','Amplitude(a.u.)','FontSize',10,'FontName','Times New Roman','Position',[0 0 0 ]);%设置左y轴标题字号字型
set(get(AX(2),'Ylabel'),'string','Phase(rad)','FontSize',10,'FontName','Times New Roman');%设置右y轴标题字号字型
set(get(AX(1),'Xlabel'),'string','Opticalfrequency(THz)','FontSize',10,'FontName','Times New Roman');%设置x坐标标题字体大小,字型

set(get(gca,'XLabel'),'FontSize',figure_FontSize,'Vertical','top');
set(get(gca,'YLabel'),'FontSize',figure_FontSize,'Vertical','baseline');
set(findobj('FontSize',12),'FontSize',figure_FontSize);
什么意思?

gca返回的是当前图片的坐标句柄。
第一句get(gca,'XLable')获取当前坐标的X标签,然后使用set去设置这个标签的字体大小等参数。

同理第二句是获取Y标签,然后设置字体和位置信息。

第三句:
findObj可以获取字体大小是12的对象的句柄,然后将所有的字体更改为自己设置的(figure_FontSize)大小。

 

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值