西北工业大学Matlab实验报告(2016)(5)

2018-11-24 18:11

二、实验设备(环境)及要求 1. 计算机 2. Matlab软件编程实验平台 三、实验内容 1、 利用2输入的MP模型是否可实现“与”、“或”、“非”和“异或”功能?若能,编程实现并给出实现各种功能的权值和实验结果,若不能,请说明原因。 2、用人工神经网络拟合函数 f(x)?sin(x)?0.46e?0.15xcos(1.2x), 0?x?4?说明:1)网络结构为三层(输入层、1个隐层和输出层) 2)获取两组数据,一组作为训练集,一组作为测试集 3)用训练集训练网络 4)用测试集检验训练结果 四、设计思想 1.使用MP模型解决此问题,选择初值,计算误差,更新全值,对所有模式进行所有训练,直到输出满足。 2. 使用三层BP网络来完成函数逼近。因为函数为一元函数,所以输入层有一个输入,输出层有一个输出,隐层神经元的个数为10。 五、程序代码及注释 1. p=[0 0 1 1; 0 1 0 1]; %与 t=[0 0 0 1]; d=[0 1 0 1]; w1=0.2; w2=0.5; yita=-0.1; theta=0.1; while ~isequal(t,d) for j=1:1:4

21

w1=w1+yita*(d(j)-t(j))*p(1,j); w2=w2+yita*(d(j)-t(j))* p(2,j); theta=theta+yita*(d(j)-t(j)); d(j)=w1*p(1,j)+w2*p(2,j)+theta; d(j)=round(d(j)); end end p=[0 0 1 1; 0 1 0 1]; %或 t=[0 1 1 1]; d=[0 1 0 1]; w1=0.2; w2=0.5; yita=-0.1; theta=0.1; while ~isequal(t,d) for j=1:1:4 w1=w1+yita*(d(j)-t(j))*p(1,j); w2=w2+yita*(d(j)-t(j))* p(2,j); theta=theta+yita*(d(j)-t(j)); d(j)=w1*p(1,j)+w2*p(2,j)+theta; d(j)=round(d(j)); end end p=[0 0 1 1; 0 1 0 1]; %异或 t=[0 1 1 0]; d=[0 1 0 1]; w1=0.2; w2=0.5; yita=-0.1; theta=0.1; while ~isequal(t,d) for j=1:1:4 w1=w1+yita*(d(j)-t(j))*p(1,j); w2=w2+yita*(d(j)-t(j))* p(2,j); theta=theta+yita*(d(j)-t(j)); d(j)=w1*p(1,j)+w2*p(2,j)+theta; d(j)=round(d(j));

22

end end 2. x=0:0.01:4*pi; %画出模拟曲线 y=sin(x)+0.46*exp(-0.15*x).*cos(1.2*x); figure(1);plot(x,y,'g');hold on; N=50; %初始化预测集样本数 P1=0:0.2:4*pi; %训练集样本点 P2=(4*pi)*rand(1,N); %预测集样本点 %计算训练集和预测集对应的目标向量T1,T2 T1= sin(P1)+0.46*exp(-0.15*P1).*cos(1.2*P1); T2= sin(P2)+0.46*exp(-0.15*P2).*cos(1.2*P2); %建立网络 net = newff(P1,T1,[1 6]); %设置训练参数 net.trainParam.show = 50; net.trainParam.lr = 0.05; net.trainParam.mc = 0.95; net.trainParam.epochs = 400; net.trainParam.goal = 1e-8; [net,tr]=train(net,P1,T1); %训练网络 A=sim(net,P2); %对预测集进行预测 plot(P1,T1,'r+',P2,A,'b.'); 六、实验结果 1.与:w1=0.2 w2=0.4 theta=0 或:w1=0.3 w2=0.5 theta=0.2 无法实现非功能,由于非只需要一个输入 异或:w1=0.1 w2=0.1 theta=0.2 2. 23

图中的蓝色曲线是所需模拟函数的曲线,红色‘+’为训练集的样本点,而蓝色的‘.’是预测集P2经过网络预测的结果A,即(P2,A)。我们可以发现模拟的结果很好。 实验五 MATLAB的综合实验 一、实验目的及要求 培养学生利用Matlab解决专业问题的能力。 二、实验设备(环境)及要求 1. 计算机

24

2. Matlab软件编程实验平台 三、实验内容(三题中选择一题) 1、实现一个数字信号处理的仿真系统,通过该系统可以方便的验证信号处理所学的基本内容,要求程序具有界面并实现以下功能: 1)能产生或得到各种数字信号(sin、方波、三角波、语音、噪声及其叠加); 2)具有根据需求设计低通、高通、带通和带阻滤波器的功能; 3)具有对数字信号进行DFT、DCT和DWT变换和经典功率谱估计功能; 4)产生或输入数字信号,显示时域、变换域及功率谱估计波形,在这个信号上叠加噪声,通过滤波器对其降噪,得到输出信号的频域特性和时间序列。 2、基于数字图像处理,实现一个汽车标志定位和分割的仿真系统。要求系统具有界面并实现以下功能: 1)读入包含汽车标志的汽车图像; 2)预处理及汽车标志定位; 3)多种图像分割功能; 4)形态学滤波等功能; 3、结合自己的研究方向,实现一个神经网络应用的实例,要求用至少3种方法实现(可以包括不同神经网络方法或经典方法),并对实验结果进行比较分析。 四、设计思想 1. 实现一个数字信号处理的仿真系统 ? 根据数字信号处理的仿真系统要求,设计界面框图,安排界面布局图像二值化 ? 用GUI按照设计进行界面交互组件添加并设置组件属性 ? 对回调函数进行编程,实现题设功能 ? 调整界面并调试程序 五、程序代码(界面除外)及注释 function varargout = renliang(varargin) % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ...

25


西北工业大学Matlab实验报告(2016)(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:建筑所有英语词汇

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: