MATLAB大作业
- 格式:doc
- 大小:121.00 KB
- 文档页数:5
MATLAB大作业备选题目1、基于MATLAB旳有噪声语音信号处理本课题规定基于MATLAB对有噪音语音信号进行处理,综合运用数字信号处理旳理论知识对加噪语音信号进行时域、频域分析和滤波,运用MATLAB作为工具进行计算机实现。
在设计实现旳过程中,规定使用双线性变换法设计IIR数字滤波器,对模拟加噪语音信号进行低通滤波、高通滤波及带通滤波,并运用MA TLAB作为辅助工具完毕设计中旳计算与图形旳绘制。
2、基于MATLAB旳学生平均学分、绩点计算软件设计学分与绩点,是每位大学生所关怀旳重要指标之一,诸多同学辛劳学习,早出晚归,不停旳奔走于教室、图书馆、食堂、寝室之间,为旳就是可以考个好成绩,获得好旳绩点。
然而在平时我们计算学分与绩点旳时候,大都只能用计算器一种一种数据旳输入,其过程繁琐麻烦,又轻易出错。
因此,本课题规定运用所学旳MATLAB知识,来实现平均学分、绩点旳计算,并开发有关人机界面。
3、基于MATLAB旳试卷分析管理系统本设计规定基于MATLAB中GUI旳编程措施,并波及有关数据库知识。
规定通过一种简易旳顾客交互界面,实现对考试试卷旳成绩录入、查询、修改和试题整体分析等功能,以学习使用MATLAB编程为目旳,尤其是对MATLAB中G UI旳掌握,加深对MATLAB旳理解,学习用MATLAB实现实际应用。
4、基于MATLAB旳图像处理软件设计学习MATLAB GUI程序设计,运用MATLAB图像处理工具箱,设计和实现一种简易旳图像处理软件,实现如下几点功能:1)图像旳读取和保留。
2)设计图形顾客界面,让顾客可以对图像进行任意旳亮度和对比度变化调整,显示和对比变换前后旳图像。
3)设计图形顾客界面,让顾客可以用鼠标选用图像感爱好区域,显示和保留该选择区域。
4)编写程序通过近来邻插值和双线性插值等算法将顾客所选用旳图像区域进行放大和缩小整数倍旳操作,并保留,比较几种插值旳效果。
5)图像直方图记录和直方图均衡,规定显示直方图记录,比较直方图均衡后旳效果。
Matlab的基本操作一、使用函数实现对下列矩阵的左旋和右旋以及反转已知答案:如图:矩阵如图矩阵的左旋如图一矩阵的右旋如图二矩阵的左右反转如图三矩阵的上下反转如图四二、已知A=[8 9 5 ] B=[-1 3 -2][36 -7 11] [2 0 3][21 -8 5] [-3 1 9 ]计算:1)A+5*B;2)A*B和A.*B3)A^3和A.^34)A/B和B\A5)[A,B]答案:A=[8 9 5;36 -7 11;21 -8 5];B=[-1 3 -2;2 0 3;-3 1 9];A+5*BA*BA.*BA^3A.^3A/BA\B[A,B]程序运行结果如下:第二章、Matlab程序设计一、已知S=1+2+22+23+…+263求S的值答案:代码如下:ClearClcs=0,j=2for i=1:63s=s+j^iends程序运行结果如下:二、第三章、Matlab绘图一、在同一坐标系中画出下列函数的图像:x2,-x2,xsin(x)在[0,2π]上的函数图像程序代码如下:clearclcx=0:pi/100:2*pi;y1=x.^2;y2=-x.^2;y3=x.*sin(x);title('同一坐标下的函数图像')plot(x,y1,':',x,y2,'h',x,y3,'--')程序运行结果如下:二、绘制极坐标图像:程序代码如下:clearclcx=0:0.01:2*pi;y=2*cos(2*(x-pi/8));title('极坐标图像')xlabel('x')ylabel('y')polar(x,y)程序运行结果如下:第四章、Matlab符号运算一、求函数y=e-x2 的傅立叶变换及其逆变换程序代码如下:clearclcsyms x t;y=exp(-x^2);Ft=fourier(y,x,t)fx=ifourier(Ft,t,x)程序运行结果如下:二、求下列极限值:答案:1、程序代码:clearclcsyms x;s1=sin(2*x)/sin(5*x);limit(s1,x,0)s2=(1+1/x)^(2*x);limit(s2,x,inf)程序运行结果如下:第五章、Matlab数值运算一、建立一个3*4阶随机矩阵,求矩阵的最大值、最小值、方差和标准差、极差、协方差,和自相关阵程序代码如下:clearclcA=rand(3,4)B=var(A)C=std(A)D=range(A)E=cov(A)F=corrcoef(A)程序运行结果如下:二、求函数f(x)=x3-2x+1在x=[-1 1]之间的极小值和x=-1附近的零点程序代码如下:clearclc[x,y]=fminbnd('x.^3-2.*x+1',-1,1)[x,y]=fzero('x.^3-2.*x+1',-1)程序运行结果如下:第六章、Matlab图形用户界面一、建立一个具有三个输入框的窗口对话框程序代码如下:clearclcprompt={'姓名','年龄','班级'};DTitle='注册学生信息';line[1;1;1];def{'乔阳','18','100412105'};info=inputdlg(prompt,DTitle,line,def,'ON')程序运行结果如下:二、设计一个表现下载进度的进度条程序代码如下:clearclch = waitbar(0,'正在下载,请稍等……');for i=1:1000waitbar(i/10000,h)endclose(h)程序运行结果如下:第七章、Matlab Simulink 仿真一、仿真信号x(t)=sin(t)sin(10t)的波形仿真步骤:1.建立模型窗口:生成无标题(intitled)的模型窗口;2.添加信号源模块(sine)、输出模块(scope)、数学模块(Dot product)3.设置模块参数:如下图:4.编辑模块即将各个模块连接起来。
实验一num=[9 1.8 9];den=[1 3.2 11.4 18];G=tf(num,den);pzmap(G);p=roots(den);结果:p =-0.6000 + 2.9394i-0.6000 - 2.9394i-2.0000 + 0.0000i由上图得,极点只有负实部,所以系统稳定。
代码:num=[120];den=[1 8 120];step(num,den);title('step response of G(s)=120/s^2+8s+120');grid on;G=tf(num,den);[wn z p]=damp(G);运行结果截图:由上图可得,系统的闭环根s=-4.0000±10.1980i,阻尼比ξ=0.3651,无阻尼自然震荡频率w n=10.9545 t p=0.311, t s=0.987, t r=0.129, 超调量σ%=29.2%实验二代码:z=[-100];p=[-1 -10 -0.125];k=31.6;sys=zpk(z,p,k);figure(1);nyquist(sys);grid on;title('Nyquist Plot'); figure(2);title('Bode Diagram'); bode(sys);运行结果截图:由上图可得,系统的相位裕度Pm=-41.4dB,幅值裕度Gm=-27dB, 系统不稳定近似折线特性与原图对比:代码:z=[-100];p=[-1 -10 -0.125];k=31.6;sys=zpk(z,p,k);figure(1);bode(sys);grid;figure(2);w=logspace(-3,4,100);[w,L]=Asymptote(sys,w);semilogx(w,L);grid;运行结果截图:渐进折线与波德图中的幅频特性曲线很接近,两张图大概在10-1之前的斜率均为零,在101左右穿过零分贝线代码:Gc1=tf([1],[1]);Gc2=tf([3.333 1],[100 1]);z=[];p=[0 -10 -20];k=100;G=zpk(z,p,k);G11=series(Gc1,G);G22=series(Gc2,G);figure;bode(G,G11);grid on;title('²¨ÌØÍ¼ÇúÏ߱ȽÏ');figure;bode(G,G22);grid on;title('²¨ÌØÍ¼ÇúÏ߱ȽÏ');bode(G,G11,G22);grid on;title('²¨ÌØÍ¼ÇúÏ߱ȽÏ');figure;margin(G);grid on;figure;margin(G11);grid on;figure;margin(G22);grid on;运行结果截图:原系统与加入控制器(1)系统的B ODE图比较原系统稳定裕度值加入控制器(1)的稳定裕度值原系统与加入控制器(2)系统的B ODE图比较加入控制器(2)的稳定裕度值(2)控制器减小了系统的幅值裕量和相位裕量,系统的稳定性变差了。
“MATLAB”练习题要求:抄题、写出操作命令、运行结果,并根据要求,贴上运行图。
1、求230x e x -=的所有根.(先画图后求解)(要求贴图)>> solve('exp(x)—3*x^2',0)ans =—2*lambertw (—1/6*3^(1/2))-2*lambertw(—1,—1/6*3^(1/2))—2*lambertw (1/6*3^(1/2))3、求解下列各题:1)30sin lim x x x x ->->> sym x ;〉> limit((x-sin (x))/x^3)ans =1/62) (10)cos ,x y e x y =求>> sym x;>> diff (exp(x )*cos(x),10)ans =(-32)*exp(x)*sin (x)3)21/20(17x e dx ⎰精确到位有效数字)〉〉 sym x;〉〉 vpa((int(exp(x^2),x,0,1/2)),17)ans =0.544987104183622224)42254x dx x+⎰〉> sym x ;>〉 int (x^4/(25+x^2),x)ans =125*atan (x/5) - 25*x + x^3/35)求由参数方程arctan x y t⎧⎪=⎨=⎪⎩dy dx 与二阶导数22d y dx 。
〉> sym t;>> x=log(sqrt (1+t^2));y=atan(t);〉> diff (y ,t )/diff (x ,t)ans =1/t6)设函数y =f (x )由方程xy +e y = e 所确定,求y ′(x ).>> syms x y ;f=x *y+exp(y )—exp (1);〉> -diff(f,x )/diff (f,y)ans =-y/(x + exp (y))7)0sin 2x e xdx +∞-⎰>〉 syms x ;>〉 y=exp(-x)*sin(2*x );〉> int(y ,0,inf )ans =2/58) 08x =展开(最高次幂为)〉> syms xf=sqrt(1+x);taylor(f,0,9)ans =— (429*x^8)/32768 + (33*x^7)/2048 — (21*x^6)/1024 +(7*x^5)/256 - (5*x^4)/128 + x^3/16 - x^2/8 + x/2 + 19) 1sin (3)(2)x y e y =求〉> syms x y ;>〉 y=exp(sin (1/x));>〉 dy=subs (diff(y,3),x ,2)dy =—0.582610)求变上限函数2x x ⎰对变量x 的导数.>> syms a t ;>〉 diff (int(sqrt(a+t),t,x ,x^2))Warning: Explicit integral could not be found 。
学号:姓名:《Matlab/Simulink在数学计算与仿真中的应用》大作业1.假设地球和火星绕太阳运转的半径分别为r和2r,利用comet指令动画显示从地球到火星的转移轨迹(r可以任意取值,要求实时显示探测器、太阳、地球和火星的位置)。
解函数function comet(varargin)[ax,args,nargs] = axescheck(varargin{:});error(nargchk(1,3,nargs,'struct'));% Parse the rest of the inputsif nargs < 2, x = args{1}; y = x; x = 1:length(y); endif nargs == 2, [x,y] = deal(args{:}); endif nargs < 3, p = 0.10; endif nargs == 3, [x,y,p] = deal(args{:}); endif ~isscalar(p) || ~isreal(p) || p < 0 || p >= 1error('MATLAB:comet:InvalidP', ...'The input ''p'' must be a real scalar between 0 and 1.'); End指令 %particle_motiont = 0:5:16013;r1=6.7e6;%随便给定参数%---------------------------r2=2*r1;g=9.8;R=6.378e6;m=g*R^2;%内轨道v_inner=sqrt(m/r1);w_inner=v_inner/r1;x_inter=r1*cos(w_inner*t);y_inter=r1*sin(w_inner*t);%外轨道v_outer=sqrt(m/r2);w_outer=v_outer/r2;x_outer=r2*cos(w_outer*t);y_outer=r2*sin(w_outer*t);%控制器转移轨道a=(r1+r2)/2;E=-m/(2*a);V_near=sqrt(m*(2/r1-2/(r1+r2)));%转移轨道在近地点的速度V_far=sqrt(m*(2/r2-2/(r1+r2)));%转移轨道在远地点的速度h=r1*V_near;%由于在近地点的速度垂直于位置失量, h是转移轨道的比动量矩e=sqrt(1+2*E*h^2/m^2);%e为椭圆轨迹的偏心率TOF=pi*sqrt(a^3/m);%转移轨道是椭圆的一半及飞行时间是周期的一半(开普勒第三定律)w=pi/TOF;%椭圆轨迹的角速度c=a*e;b=sqrt(a^2-c^2);x_ellipse=a*cos(w*t)-0.5*r1;y_ellipse=b*sin(w*t);%动画显示运动轨迹x=[x_inter;x_outer;x_ellipse]';y=[y_inter;y_outer;y_ellipse]';comet(x,y)%---------------------------动态图像如下:2.利用两种不同途径求解边值问题dfdxf gdgdxf g f g=+=-+==34430001,,(),()的解.途径一:指令syms f g[f,g]=dsolve('Df=3*f+4*g,Dg=-4*f+3*g','f(0)=0,g(0)=1');disp('f=');disp(f)disp('g=');disp(g)结果(Matlab 7.8版本)f=i/(2*exp(t*(4*i - 3))) - (i*exp(t*(4*i + 3)))/2g=exp(t*(4*i + 3))/2 + 1/(2*exp(t*(4*i - 3)))(Matlab 6.5版本)f=exp(3*t)*sin(4*t)g=exp(3*t)*cos(4*t)>>途径二:%problem2function dy=problem2(t,y)dy = zeros(2,1);dy(1) = 3*y(1)+4*y(2);dy(2) = -4*y(1)+3*y(2);[t,y] = ode45('problem2',[0 2],[0 1]);plot(t,y(:,1),'r',t,y(:,2),'b');图23.假设著名的Lorenz 模型的状态方程表示为⎪⎩⎪⎨⎧-+-=+-=+-=)()()()()()()()()()()()(322133223211t x t x t x t x t x t x t x t x t x t x t x t x σρρβ 其中,设28,10,3/8===σρβ。
matlab大作业学号姓名:年级:专业:1、产生一个10 10的随机矩阵A,要求A中元素均为整数,范围[1,50]。
1)求出A中所有元素之和S,平均值M。
2)找到所有小于平均值,且能被3整除的元素。
3)绘制出A的二维纵向柱状图,横坐标为[8 5 9 1 2 3 4 7 10 13],条形宽度为0.7的“stacked”样式。
代码如下:clc,clear all,close allA=round(rand(10,10)*50);disp(A)S=sum(sum(A));P=mean(mean(A));disp(S)disp(P)disp('所有小于平均数且能被三整除的元素')XPS=H((mod(H,3)==0)&(H<P));disp(XPS')subplot(1,1,1),bar(A,0.7,'stacked'),title('ygh');set(gca,'XTickLabel',{'8','5','9','1','2','3','4','7','10','13'})2、产生一个随机四位密码。
用户用“input”进行输入对比。
猜错提示“WRONG”,正确提示“RIGHT”同时退出程序,最多五次机会。
代码如下:clc,clear all,close alldisp('请输入密码')A=round(8999*rand(1,1))+1000;m=1;while m<=5N=input('请输入一个四位数:');if A==N;disp('RIGHT');breakelsedisp('WRONG');endm=m+1;enddisp('密码是:')disp(A)disp('输入结束')3、按照脚本文件的编程风格,用for和while循环嵌套输出如下的乘法口诀表。
matlab课程设计大作业一、教学目标本课程的教学目标是使学生掌握MATLAB基本语法、编程技巧以及MATLAB 在工程计算和数据分析中的应用。
通过本课程的学习,学生将能够熟练使用MATLAB进行简单数学计算、线性方程组求解、函数图像绘制等。
1.掌握MATLAB基本语法和编程结构。
2.了解MATLAB在工程计算和数据分析中的应用。
3.熟悉MATLAB的函数库和工具箱。
4.能够使用MATLAB进行简单数学计算。
5.能够使用MATLAB求解线性方程组。
6.能够使用MATLAB绘制函数图像。
7.能够利用MATLAB进行数据分析和处理。
情感态度价值观目标:1.培养学生对计算机辅助设计的兴趣和认识。
2.培养学生团队合作和自主学习的能力。
二、教学内容本课程的教学内容主要包括MATLAB基本语法、编程技巧以及MATLAB在工程计算和数据分析中的应用。
1.MATLAB基本语法:介绍MATLAB的工作环境、基本数据类型、运算符、编程结构等。
2.MATLAB编程技巧:讲解MATLAB的函数调用、脚本编写、函数文件编写等编程技巧。
3.MATLAB在工程计算中的应用:介绍MATLAB在数值计算、线性方程组求解、图像处理等方面的应用。
4.MATLAB在数据分析中的应用:讲解MATLAB在数据采集、数据分析、数据可视化等方面的应用。
三、教学方法本课程采用讲授法、案例分析法、实验法等多种教学方法相结合的方式进行教学。
1.讲授法:通过讲解MATLAB的基本语法、编程技巧以及应用案例,使学生掌握MATLAB的基本知识和技能。
2.案例分析法:通过分析实际工程案例,使学生了解MATLAB在工程计算和数据分析中的应用。
3.实验法:安排上机实验,使学生在实际操作中巩固所学知识,提高实际编程能力。
四、教学资源本课程的教学资源包括教材、实验设备、多媒体资料等。
1.教材:选用《MATLAB教程》作为主要教材,辅助以相关参考书籍。
2.实验设备:为学生提供计算机实验室,配备有MATLAB软件的计算机。
贵州大学实验报告姓名学号实验组实验时间指导教师成绩实验项目名称MATLAB大作业实验通过综合考察,让同学们能对学到的知识综合运用,更好地灵活地解决问题目的实验利用matlab提供的一些函数实现数据分析和数值计算。
原理实验运行MATLAB7.0或以上的计算机一台仪器实验内容实验数据1、试编写名为test01.m的MATLAB函数,用以计算下述的值:⎪⎩⎪⎨⎧-<->=ttntttntf的)4/sin()(si对所有)4/sin(其他情况)sin(的)4/sin()(si对所有)4/sin()(ππππ要绘制t关于函数f(t)的图形,其中t的取值范围为ππ66≤≤-t,间距为10/π。
(提示:注意要产生一系列的点,这里可考虑t的输入是向量形式,可以利用find函数找出所需限定值的元素的位置,对其按需要赋值后,再进行绘图;其次,另外一种思路,也可考虑使用循环的形式来实现)①test01.m代码如下:function y=test01(t)if sin(t)>sin(pi/4)y=sin(pi/4);elseif sin(t)<sin(-pi/4)y=sin(-pi/4);elsey=sin(t);end②调用test01函数计算值③绘制t关于函数f(t)的图形,其中t的取值范围为ππ66≤≤-t,间距为10/π代码如下:t=-6*pi:pi/10:6*pi;y=sin(t);y(find(y>sin(pi/4)))=sin(pi/4);%f(t)=sin(pi/4),y>sin(pi/4) y(find(y<sin(-pi/4)))=sin(-pi/4);%f(t)=sin(pi/4),y>sin(pi/ 4)plot(t,y) %绘制图形title('t from -6{\pi} to 6{\pi}') %添加图形标题xlabel('t') %x轴标签ylabel('f(t)') %y轴标签实验结果:2、编写函数,在同一窗口的4个子图中利用plot等语句绘制y=at2图像,其中a=[1 2 5 10],t范围[-2,5]。
m a t l a b综合大作业(附详细答案)-标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII《MATLAB语言及应用》期末大作业报告1.数组的创建和访问(20分,每小题2分):1)利用randn函数生成均值为1,方差为4的5*5矩阵A;实验程序:A=1+sqrt(4)*randn(5)实验结果:A =0.1349 3.3818 0.6266 1.2279 1.5888-2.3312 3.3783 2.4516 3.1335 -1.67241.2507 0.9247 -0.1766 1.11862.42861.5754 1.6546 5.3664 0.8087 4.2471-1.2929 1.3493 0.7272 -0.6647 -0.38362)将矩阵A按列拉长得到矩阵B;实验程序:B=A(:)实验结果:B =0.1349-2.33121.25071.5754-1.29293.38183.37830.92471.65461.34930.62662.4516-0.17665.36640.72721.22793.13351.11860.8087-0.66471.5888-1.67242.42864.2471-0.38363)提取矩阵A的第2行、第3行、第2列和第4列元素组成2*2的矩阵C;实验程序:C=[A(2,2),A(2,4);A(3,2),A(3,4)]实验结果:C =3.3783 3.13350.9247 1.11864)寻找矩阵A中大于0的元素;]实验程序:G=A(find(A>0))实验结果:G =0.13491.25071.57543.38183.37830.92471.65461.34930.62662.45165.36640.72721.22793.13351.11860.80871.58882.42864.24715)求矩阵A的转置矩阵D;实验程序:D=A'实验结果:D =0.1349 -2.3312 1.2507 1.5754 -1.29293.3818 3.3783 0.9247 1.6546 1.34930.6266 2.4516 -0.1766 5.3664 0.72721.2279 3.1335 1.1186 0.8087 -0.66471.5888 -1.67242.4286 4.2471 -0.38366)对矩阵A进行上下对称交换后进行左右对称交换得到矩阵E;实验程序:E=flipud(fliplr(A))实验结果:E =-0.3836 -0.6647 0.7272 1.3493 -1.29294.2471 0.80875.3664 1.6546 1.57542.4286 1.1186 -0.1766 0.9247 1.2507-1.6724 3.1335 2.4516 3.3783 -2.33121.5888 1.2279 0.6266 3.3818 0.13497)删除矩阵A的第2列和第4列得到矩阵F;实验程序:F=A;F(:,[2,4])=[]实验结果:F =0.1349 0.6266 1.5888-2.3312 2.4516 -1.67241.2507 -0.17662.42861.5754 5.3664 4.2471-1.2929 0.7272 -0.38368)求矩阵A的特征值和特征向量;实验程序:[Av,Ad]=eig(A)实验结果:特征向量Av =-0.4777 0.1090 + 0.3829i 0.1090 - 0.3829i -0.7900 -0.2579 -0.5651 -0.5944 -0.5944 -0.3439 -0.1272-0.2862 0.2779 + 0.0196i 0.2779 - 0.0196i -0.0612 -0.5682 -0.6087 0.5042 - 0.2283i 0.5042 + 0.2283i 0.0343 0.6786 0.0080 -0.1028 + 0.3059i -0.1028 - 0.3059i 0.5026 0.3660 特征值Ad =6.0481 0 0 0 00 -0.2877 + 3.4850i 0 0 00 0 -0.2877 - 3.4850i 0 00 0 0 0.5915 00 0 0 0 -2.30249)求矩阵A的每一列的和值;实验程序:lieSUM=sum(A)实验结果:lieSUM =-0.6632 10.6888 8.9951 5.6240 6.208710)求矩阵A的每一列的平均值;实验程序:average=mean(A)实验结果:average =-0.1326 2.1378 1.7990 1.1248 1.24172.符号计算(10分,每小题5分):1)求方程组20,0++=++=关于,y z的解;uy vz w y z w实验程序:S = solve('u*y^2 + v*z+w=0', 'y+z+w=0','y,z');y= S. y, z=S. z实验结果:y =[ -1/2/u*(-2*u*w-v+(4*u*w*v+v^2-4*u*w)^(1/2))-w] [ -1/2/u*(-2*u*w-v-(4*u*w*v+v^2-4*u*w)^(1/2))-w] z =[ 1/2/u*(-2*u*w-v+(4*u*w*v+v^2-4*u*w)^(1/2))] [ 1/2/u*(-2*u*w-v-(4*u*w*v+v^2-4*u*w)^(1/2))]2)利用dsolve 求解偏微分方程,dx dyy x dt dt==-的解; 实验程序:[x,y]=dsolve('Dx=y','Dy=-x')实验结果:x =-C1*cos(t)+C2*sin(t)y = C1*sin(t)+C2*cos(t)3.数据和函数的可视化(20分,每小题5分):1)二维图形绘制:绘制方程2222125x y a a +=-表示的一组椭圆,其中0.5:0.5:4.5a =;实验程序:t=0:0.01*pi:2*pi; for a=0.5:0.5:4.5; x=a*cos(t); y=sqrt(25-a^2)*sin(t); plot(x,y) hold on end实验结果:2) 利用plotyy 指令在同一张图上绘制sin y x =和10x y =在[0,4]x ∈上的曲线;实验程序:x=0:0.1:4; y1=sin(x); y2=10.^x;[ax,h1,h2]=plotyy(x,y1,x,y2); set(h1,'LineStyle','.','color','r'); set(h2,'LineStyle','-','color','g'); legend([h1,h2],{'y=sinx';'y=10^x'});实验结果:3)用曲面图表示函数22z x y =+;实验程序:x=-3:0.1:3; y=-3:0.1:3; [X,Y]=meshgrid(x,y); Z=X.^2+Y.^2; surf(X,Y,Z)实验结果:4)用stem 函数绘制对函数cos 4y t π=的采样序列;实验程序:t=-8:0.1:8;y=cos(pi.*t/4); stem(y)实验结果:4. 设采样频率为Fs = 1000 Hz ,已知原始信号为)150π2sin(2)80π2sin(t t x ⨯+⨯=,由于某一原因,原始信号被白噪声污染,实际获得的信号为))((ˆt size randn x x+=,要求设计出一个FIR 滤波器恢复出原始信号。
课程报告
题目:神经网络仿真与应用
姓名:吴彬斌
专业:建筑与土木工程
教师:王德玲副教授
时间:2012-2013学年第一学期
RBF神经网络即径向基函数神经网络(Radical Basis Function)。
径向基函数神经网络是一种高效的前馈式神经网络,它具有其他前向网络所不具有的最佳逼近性能和全局最优特性,并且结构简单,训练速度快。
同时,它也是一种可以广泛应用于模式识别、非线性函数逼近等领域的神经网络模型。
RBF神经网络是一种性能优良的前馈型神经网络,RBF网络可以任意精度逼近任意的非线性函数,且具有全局逼近能力,从根本上解决了BP网络的局部最优问题,而且拓扑结构紧凑,结构参数可实现分离学习,收敛速度快。
RBF 网络和模糊逻辑能够实现很好的互补,提高神经网络的学习泛化能力。
RBF网络的局部接受特性使得其决策时隐含了距离的概念,即只有当输入接近RBF网络的接受域时,网络才会对之作出响应。
这就避免了BP网络超平面分割所带来的任意划分特性。
在RBF 网络中,输入层至输出层之间的所有权重固定为1,隐层RBF单元的中心及半径通常也预先确定,仅隐层至输出层之间的权重可调。
RBF网络的隐层执行一种固定不变的非线性变换,将输入空间Rn 映射到一个新的隐层空间Rh,输出层在该新的空间中实现线性组合。
显然由于输出单元的线性特性,其参数调节极为简单,且不存在局部极小问题。
RBF神经网络除了具有一般神经网络的优点,如多维非线性映射能力,泛化能力,并行信息处理能力等,还具有很强的聚类分析能力,学习算法简单方便等优点;径向基函数(RBF) 神经网络是一种性能良好的前向网络,利用在多维空间中插值的传统技术, 可以对几乎所有的系统进行辩识和建模,它不仅在理论上有着任意逼近性能和最佳逼近性能, 而且在应用中具有很多优势,如和Sigmo id 函数作为激活函数的神经网络相比, 算法速度大大高于一般的BP 算法。
已经证明:一个RBF网络,在隐层节点足够多的情况下,经过充分学习,可以用任意精度逼近任意非线性函数,而且具有最优泛函数逼近能力,另外,它具有较快的收敛速度和强大的抗噪和修复能力。
在理论上,RBF网络和BP网络一样能以任意精度逼近任何非线性函数。
但由于它们使用的激励函数不同,其逼近性能也不相同。
已经被证明,RBF网络是连续函数的最佳逼近,而BP网络不是。
BP网络使用的Sigmoid函数具有全局特性,它在输入值的很大范围内每个节点都对输出值产生影响,并且激励函数在输入值的很大范围内相互重叠,因而相互影响,因此BP网络训练过程很长。
此外,由于BP算法的固有特性,BP网络容易陷入局部极小的问题不可能从根本上避免,并且BP网络隐层节点数目的确定依赖于经验和试凑,很难得到最优网络。
采用局部激励函数的RBF网络在很大程度上克服了上述缺点,RBF不仅有良好的泛化能力,而且对于每个输入值,只有很少几个节点具有非零激励值,因此只需很少部分节点及权值改变。
学习速度可以比通常的BP算法提高上千倍,容易适应新数据,其隐层节点的数目也在训练过程中确定,并且其收敛性也较BP网络易于保证,因此可以得到最优解。
基于神经网络的水循环系统故障诊断
问题背景
水循环系统是锅炉系统中的一个控制单元,用于对锅炉的用水供给和冷却,其组成结构如下图所示。
贮藏在沉淀水池中的水,经过过滤器将杂质过滤后送入离心泵的入口,流经泵体进行循环,离心泵则由电机进行驱动。
水循环冷却系统的工作流程是冷却水经离心泵加压后流至喷淋塔顶部的喷淋头,喷淋头在此与自下而上的冷却气体进入热交换。
冷却水经换热后温度升高,在塔内积存起来,并保持一定液位,防止气体逸出。
塔底的排水管排出的冷却水进入凉水塔,在凉水塔中冷却水由风扇鼓出的凤进行冷却后,回到沉淀池,整个水循环一周。
对于以上水循环系统构建一个故障诊断模块,自动地从该系统当前工艺参数中辨别和判断故障,既可避免控制人员对大量工艺参数进行检测,又可以使控制人员更全面地判断当前生产状态和预测将来的情况,从而及时采取有效应对措施。
水循环系统的故障诊断对于现场控制人员来说是非常有用的。
问题实例
水循环系统故障诊断实例。
通过传感器采集的试验数据,建立锅炉水循环系统故障诊断神经网络,运用该神经网络进行水循环系统的故障诊断。
水循环系统
表1 水循环系统故障类型集
采集参数包括监测点的进口压力(X1),出口压力(X2),出流量(X3),轴承温度(X4),及电机电流(X5),以此实验数据加故障类型编码向量构成输入
表2 输入样本
1 定义输入样本向量。
输入如下命令:
[filename, pathname] = uigetfile('16_5_P.xls');
file=[pathname filename];
x=xlsread(file);
p=x;
p=p';
2 定义期望输出向量,其中3种故障类型的编码格式如表1所示。
在MA TLAB 命令空间中输入命令:
t1=[1 0 0]'
t2=[0 1 0]'
t3=[0 0 1]'
t = [t1 t1 t1 t1 t1 t2 t2 t2 t2 t2 t3 t3 t3 t3 t3];
3 构建神经网络,此处采用径向基神经网络进行故障判断。
输入命令:
spread = 0.6;
net = newrbe(p,t,spread);
网络选用的散步常数值设定为0.6。
4 应用验证样本对此网络进行仿真测试,一共有6个测试样本,其定义如表3所示,
表3 测试样本
输入命令:
[filename, pathname] = uigetfile('16_5_Ptest.xls');
file=[pathname filename];
xtest=xlsread(file);
ptest=xtest;
ptest=ptest';
ans = sim(net, ptest),
输出结果为:
ans =
1.1558 1.2558 0.1618 0.2195 -0.5328 0.1057
-0.2332 -0.2197 0.4694 0.6702 0.7886 0.1362
0.1773 0.0639 0.4688 0.2103 0.8443 0.8580
可以看到的,上述构造的RBF神经网络能够用于此锅炉水循环系统的故障诊断。
需要说明的是,散步常数是一个可调的值,对于不同的散步常数,生成的网络性能是不一样的。