北工大matlab作业实验报告

合集下载

matlab实验报告

matlab实验报告

Matlab实验报告一、实验名称:matlab实验报告二、实验目的:熟悉并学会掌握matlab的基本操作。

三、实验内容:准确编写第二,三,四章课后习题的matlab程序。

四、实验数据处理第二章MATLAB 基本操作第一题:利用基本矩阵产生3X3和15X8的单位阵、全1阵、全0阵,随机分布矩阵([-1,1]之间)、正态分布随机阵(均值为1,方差为4)。

程序:>> A=eye(3)A = 1 0 00 1 00 0 1>> A=ones(3)A =1 1 11 1 11 1 1>> A=zeros(3)A =0 0 00 0 00 0 0>> A=1-2*rand(3)A =-0.9003 0.0280 0.08710.5377 -0.7826 0.9630-0.2137 -0.5242 -0.6428>> A=2*randn(3)+1A =0.1349 1.5754 3.3783-2.3312 -1.2929 0.92471.2507 3.3818 1.6546>> B=eye(2,3)B =1 0 00 1 0>> B=ones(2,3)B = 1 1 11 1 1>> B=zeros(2,3)B =0 0 00 0 0>> B=1-2*rand(2,3)B = 0.1106 -0.5839 -0.4764-0.2309 -0.8436 0.6475>> B=2*randn(2,3)+1B =1.3493 2.4516 5.36640.6266 -0.1766 0.7272第五题:利用rand函数产生(0,1)间均匀分布的5X5随机矩阵A,然后统计A中大于等于0.6的元素个数。

程序:A=rand(5)A =0.4057 0.0579 0.2028 0.0153 0.41860.9355 0.3529 0.1987 0.7468 0.84620.9169 0.8132 0.6038 0.4451 0.52520.4103 0.0099 0.2722 0.9318 0.20260.8936 0.1389 0.1988 0.4660 0.6721>> n=sum(sum(A>=0.6))n =9第六题:利用rand函数产生均值为0,方差为1的4X4正态分布随机矩阵A,然后统计A 中大于-0.5且小于0.5的元素个数。

(最新版)MATLAB实验报告

(最新版)MATLAB实验报告

(最新版)MATLAB实验报告实验一典型环节的MATLAB仿真一、实验目的1.熟悉MATLAB桌面和命令窗口,初步了解SIMULINK功能模块的使用方法。

2.通过观察典型环节在单位阶跃信号作用下的动态特性,加深对各典型环节响应曲线的理解。

3.定性了解各参数变化对典型环节动态特性的影响。

二、SIMULINK的使用MATLAB中SIMULINK是一个用来对动态系统进行建模、仿真和分析的软件包。

利用SIMULINK功能模块可以快速的建立控制系统的模型,进行仿真和调试。

1.运行MATLAB软件,在命令窗口栏“>>”提示符下键入simulink命令,按Enter 键或在工具栏单击按钮,即可进入如图1-1所示的SIMULINK仿真环境下。

2.选择File菜单下New下的Model命令,新建一个simulink 仿真环境常规模板。

3.在simulink仿真环境下,创建所需要的系统。

以图1-2所示的系统为例,说明基本设计步骤如下:1)进入线性系统模块库,构建传递函数。

点击simulink下的“Continuous”,再将右边窗口中“Transfer Fen”的图标用左键拖至新建的“untitled”窗口。

2)改变模块参数。

在simulink仿真环境“untitled”窗口中双击该图标,即可改变传递函数。

其中方括号内的数字分别为传递函数的分子、分母各次幂由高到低的系数,数字之间用空格隔开;设置完成后,选择OK,即完成该模块的设置。

3)建立其它传递函数模块。

按照上述方法,在不同的simulink 的模块库中,建立系统所需的传递函数模块。

例:比例环节用“Math”右边窗口“Gain”的图标。

4)选取阶跃信号输入函数。

用鼠标点击simulink下的“Source”,将右边窗口中“Step”图标用左键拖至新建的“untitled”窗口,形成一个阶跃函数输入模块。

5)选择输出方式。

用鼠标点击simulink下的“Sinks”,就进入输出方式模块库,通常选用“Scope”的示波器图标,将其用左键拖至新建的“untitled”窗口。

MATLAB实验报告(打印版)

MATLAB实验报告(打印版)

MATLAB实验报告班别:09电气3班姓名:李嘉明学号:200924122301实验一/二 MATLAB的基础操作3.自定义一个变量,然后分别用8种不同的数字显示格式显示查看。

>> a=[1.1,1.2,1.3;1.4,1.5,1.6;1.7,1.8,1.9]a =1.1000 1.2000 1.30001.4000 1.5000 1.60001.7000 1.8000 1.9000>> format long>> aa =1.100000000000000 1.200000000000000 1.3000000000000001.400000000000000 1.500000000000000 1.6000000000000001.700000000000000 1.800000000000000 1.900000000000000>> format short e>> aa =1.1000e+000 1.2000e+000 1.3000e+0001.4000e+000 1.5000e+000 1.6000e+0001.7000e+000 1.8000e+000 1.9000e+000>> format long e>> aa =1.100000000000000e+000 1.200000000000000e+000 1.300000000000000e+0001.400000000000000e+000 1.500000000000000e+000 1.600000000000000e+0001.700000000000000e+000 1.800000000000000e+000 1.900000000000000e+000 >> format hex>> aa =3ff199999999999a 3ff3333333333333 3ff4cccccccccccd3ff6666666666666 3ff8000000000000 3ff999999999999a3ffb333333333333 3ffccccccccccccd 3ffe666666666666>> format +>> aa =+++++++++>> format rat>> aa =11/10 6/5 13/107/5 3/2 8/517/10 9/5 19/10>> format short>> aa =1.1000 1.2000 1.30001.4000 1.5000 1.60001.7000 1.8000 1.90005、己举例比较给矩阵的全行赋值,取出矩阵中某一个或几个元素,然后组成一个新的矩阵。

北工大自控matlab实验报告

北工大自控matlab实验报告

自动控制原理实验报告一、试验设计构造一个二阶闭环系统,使得该系统的%30≥p M对于任意二阶系统,其闭环传递函数为2222)(G nn nc s s s ωξωω++=,其中ξ为二阶系统的阻尼比,n ω为二阶系统的无阻尼振荡频率,该系统的超调量为πξξ21--=e M p 。

若要%30≥p M ,则0.36≤ξ。

取0.3=ξ,又n ω任意,所以取20=n ω,则要求设计的闭环传递函数为40012400)(2++=s s s G c 。

二、实验内容及步骤1.以MATLAB 命令行的方式,进行系统仿真,确定系统时域性能指标 num=[400]; den=[1 12 400]; step(num,den)由图可知,该系统的超调量为%30%37>=p M ,满足要求,上升时间为0985.0=r t ,峰值时间为164.0=p t ,调节时间为0.472=s t 。

2.通过改变系统的开环放大倍数K (分增大和减小两种情况)和系统的阻尼比系数(分增大和减小两种情况),进行系统仿真分析,确定新的性能指标,并与原构造系统的进行比较,根据响应曲线分析并说明出现的现象 (1)增大开环放大倍数num=[500]; den=[1 12 500]; step(num,den)由图可知,该系统的超调量为%30%42>=p M ,上升时间为0858.0=r t ,峰值时间146.0=p t ,调节时间0.48=s t 。

(2)减小开环放大倍数 num=[300]; den=[1 12 300]; step(num,den)由图可知,该系统的超调量为%30%31>=p M ,上升时间为119.0=r t ,峰值时间为0.1921=p t ,调节时间为0.455=s t 。

(3)增大阻尼比 num=[400];den=[1 12.4 400]; step(num,den)由图可知,该系统的超调量为%30%36>=p M ,上升时间为0995.0=r t ,峰值时间为0.163=p t ,调节时间为0.486=s t 。

MATLAB实验报告

MATLAB实验报告

v1.0 可编辑可修改实验一 MATLAB 环境的熟悉与基本运算一、实验目的及要求1.熟悉MATLAB 的开发环境; 2.掌握MATLAB 的一些常用命令;3.掌握矩阵、变量、表达式的输入方法及各种基本运算。

二、实验内容1.熟悉MATLAB 的开发环境: ① MATLAB 的各种窗口:命令窗口、命令历史窗口、工作空间窗口、当前路径窗口。

②路径的设置:建立自己的文件夹,加入到MATLAB 路径中,并保存。

设置当前路径,以方便文件管理。

2.学习使用clc 、clear ,了解其功能和作用。

3.矩阵运算:已知:A=[1 2;3 4]; B=[5 5;7 8]; 求:A*B 、A.*B ,并比较结果。

4.使用冒号选出指定元素:已知:A=[1 2 3;4 5 6;7 8 9]; 求:A 中第3列前2个元素;A 中所有列第2,3行的元素; 5.在MATLAB 的命令窗口计算: 1) )2sin(π2) 5.4)4.05589(÷⨯+ 6.关系及逻辑运算1)已知:a=[5:1:15]; b=[1 2 8 8 7 10 12 11 13 14 15],求: y=a==b ,并分析结果 2)已知:X=[0 1;1 0]; Y=[0 0;1 0],求: x&y+x>y ,并分析结果 7.文件操作1)将0到1000的所有整数,写入到D 盘下的文件 2)读入D 盘下的文件,并赋给变量num8.符号运算1)对表达式f=x 3-1 进行因式分解2)对表达式f=(2x 2*(x+3)-10)*t ,分别将自变量x 和t 的同类项合并 3)求3(1)xdz z +⎰三、实验报告要求完成实验内容的3、4、5、6、7、8,写出相应的程序、结果实验二 MATLAB 语言的程序设计一、实验目的1、熟悉 MATLAB 程序编辑与设计环境2、掌握各种编程语句语法规则及程序设计方法3、函数文件的编写和设计4、了解和熟悉变量传递和赋值二、实验内容1.编写程序,计算1+3+5+7+…+(2n+1)的值(用input 语句输入n 值)。

matlab大作业实验报告

matlab大作业实验报告

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 实验报告姓名:专业:学号:实验⼀ MATLAB环境的熟悉与基本运算⼀、实验⽬的:1.熟悉MATLAB开发环境2.掌握矩阵、变量、表达式的各种基本运算⼆、实验基本知识:1.熟悉MATLAB环境:MATLAB桌⾯和命令窗⼝、命令历史窗⼝、帮助信息浏览器、⼯作空间浏览器⽂件和搜索路径浏览器。

2.掌握MATLAB常⽤命令3.MATLAB变量与运算符变量命名规则如下:(1)变量名可以由英语字母、数字和下划线组成(2)变量名应以英⽂字母开头(3)长度不⼤于31个(4)区分⼤⼩写MATLAB中设置了⼀些特殊的变量与常量,列于下表。

MATLAB运算符,通过下⾯⼏个表来说明MATLAB的各种常⽤运算符表2 MATLAB算术运算符表3 MATLAB关系运算符表4 MATLAB逻辑运算符表5 MATLAB特殊运算4.MATLAB的⼀维、⼆维数组的寻访表6 ⼦数组访问与赋值常⽤的相关指令格式5.MATLAB的基本运算表7 两种运算指令形式和实质内涵的异同表6.MATLAB的常⽤函数表8 标准数组⽣成函数表9 数组操作函数三、实验内容1、学习安装MATLAB软件。

2、学习使⽤help命令,例如在命令窗⼝输⼊help eye,然后根据帮助说明,学习使⽤指令eye(其它不会⽤的指令,依照此⽅法类推)3、学习使⽤clc、clear,观察command window、command history和workspace 等窗⼝的变化结果。

4、初步程序的编写练习,新建M-file,保存(⾃⼰设定⽂件名,例如exerc1、exerc2、exerc3……),学习使⽤MATLAB的基本运算符、数组寻访指令、标准数组⽣成函数和数组操作函数。

注意:每⼀次M-file的修改后,都要存盘。

四、实验结果练习A:(1)help rand,然后随机⽣成⼀个2×6的数组,观察command window、command history和workspace等窗⼝的变化结果。

北工大matlab作业实验报告

北工大matlab作业实验报告

北工大MATLAB实验报告完成日期:2018.12目录实验一用FFT进行谱分析 (3)一、实验内容 (3)二、实验过程 (3)三、实验代码 (4)四、实验结果及分析 (5)五、实验心得 (5)实验二噪声数据的抑制 (6)一、实验内容 (6)二、实验过程 (7)三、实验结果分析 (14)四、实验心得 (15)参考文献 (15)实验一用FFT进行谱分析一、实验内容FFT的用途之一是找出隐藏或淹没在噪声时域信号中信号的频率成分。

本题要求用FFT 对试验数据进行谱分析,指出数据包含的频率成份。

提示:首先建立试验数据。

过程推荐如下:生成一个包含两个频率成分的试验信号,对这个信号加入随机噪声,形成一个加噪信号y。

(试验数据参数推荐为:数据采样频率为1000Hz,时间区间从t=0到t=0.25,步长0.001秒,噪声的标准偏差为2,两个频率成分的试验信号可取50Hz和120Hz)。

(1)绘制加噪信号y它的波形。

(2)求出含噪声信号y的离散傅立叶变换(取它的FFT),(FFT试验参数推荐为:256点)。

(3)求出信号的功率谱密度(它是不同频率所含能量的度量),并绘制功率谱图,标记出两个频谱峰值对应的频率分量。

二、实验过程1.打开matlab软件,根据实验要求,用已知条件求出重要参数:N=256;n=0:N-1;t=n/fs;2.绘制加入了噪声信号的y图象:y=sin(2*pi*50*t)+sin(2*pi*120*t)+2*randn(size(t));subplot(2,2,1);plot(y);title('y的波形');3.对y求付里叶变换:Y=fft(y,N);4.绘制Y的幅值图象:fudu=abs(Y);f=n*fs/N;subplot(2,2,2)plot(f,fudu);5.抽取256点进行绘图:subplot(2,2,3)plot(f(1:N/2),fudu(1:N/2));6.利用y的自相关函数求出y的功率谱,并绘图:y2=xcorr(y,'unbiased');y2p=fft(y2,N);yk=abs(y2p);subplot(2,2,4)plot(f(1:N/2),yk(1:N/2));title('功率谱')三、实验代码N=256;n=0:N-1;t=n/fs;y=sin(2*pi*50*t)+sin(2*pi*120*t)+2*randn(size(t)); subplot(2,2,1);plot(y);title('y的波形');Y=fft(y,N);fudu=abs(Y);f=n*fs/N;subplot(2,2,2)plot(f,fudu)subplot(2,2,3)plot(f(1:N/2),fudu(1:N/2));y2=xcorr(y,'unbiased');y2p=fft(y2,N);yk=abs(y2p);subplot(2,2,4)plot(f(1:N/2),yk(1:N/2));title('功率谱')四、实验结果及分析结果分析:功率谱的两个峰值对应的频率分别为:f=50Hz和120Hz五、实验心得学习了一个学期的MATLAB,现在终于能够进行一次实践了。

matlab实验报告

matlab实验报告

实验一:MATLAB基本操作一、实验目的1、学习掌握MA TLAB语言的基本操作方法2、掌握命令窗口的使用3、熟悉MA TLAB的数据表示、基本运算和程序控制语句4、熟悉MA TLAB程序设计的基本方法二、实验内容和要求2.b.帮助命令的使用,查找SQRT函数的使用方法按Start-help-search,输入sqrtc.矩阵运算(1)已知A=[1 2;3 4];B=[5 5;7 8];求A^2*B输入A=[1 2;3 4];B=[5 5;7 8];A^2*B结果为:ans =105 115229 251(2)矩阵除法已知A=[1 2 3 ;4 5 6;7 8 9];B=[1 0 0;0 2 0;0 0 3];求A/B,A\BA/B=1.0000 1.0000 1.00004.0000 2.5000 2.00007.0000 4.0000 3.0000A\B=1.0e+016 *0.3152 -1.2609 0.9457-0.6304 2.5218 -1.89130.3152 -1.2609 0.9457(3)矩阵的转置及共轭转置已知A=[15+i,2-i,1;6*i,4,9-i];求A.',A'A=15.0000 + 1.0000i 2.0000 - 1.0000i 1.00000 + 6.0000i 4.0000 9.0000 - 1.0000iA.'=15.0000 + 1.0000i 0 + 6.0000i2.0000 - 1.0000i 4.00001.0000 9.0000 - 1.0000iA'=15.0000 - 1.0000i 0 - 6.0000i2.0000 + 1.0000i 4.00001.0000 9.0000 + 1.0000i(4)使用冒号选出指定元素已知A=[1 2 3;4 5 6;7 8 9];求A中第三列前两个元素;A中所有第二行的元素A =1 2 34 5 67 8 9求A中第三列前两个元素:A([1,2],3)ans =36求A中所有第二行的元素:A(2,1:1:end)ans =4 5 6(5)方括号[]用magic函数生成一个4阶魔方矩阵,删除该矩阵的第四列magic(4)ans =16 2 3 135 11 10 89 7 6 124 14 15 1a=ans;a(:,[1,2,3])ans =16 2 35 11 109 7 64 14 153..多项式(1)求多项式p(X)=x^3-2x-4的根(2)已知A=[1.2 3 5 0.9;5 1.7 5 6;3 9 0 1;1 2 3 4]求矩阵A的特征多项式;求矩阵多项式中未知数为20时的值;把矩阵A作为未知数代入到多项式中;(1)a=[1,0,-2,-4]x=roots(a)x =2.0000-1.0000 + 1.0000i-1.0000 - 1.0000i(2)求特征多项式系数:A=[1.2 3 5 0.9;5 1.7 5 6;3 9 0 1;1 2 3 4]p=poly(A)p =1.0000 -6.9000 -77.2600 -86.1300 604.5500求矩阵多项式中未知数为20时的值:c=polyval(p,20)c =7.2778e+004把矩阵A作为未知数代入到多项式中:c=polyval(p,A)c =1.0e+003 *0.3801 -0.4545 -1.9951 0.4601-1.9951 0.2093 -1.9951 -2.8880-0.4545 -4.8978 0.6046 0.43530.4353 0.0840 -0.4545 -1.16174、基本程序设计(1)编写命令文件:计算1+2+3+……+n<2000;n=0;s=0;while s<2000n=n+1;s=s+n;endn=n-1n =62(2)编写函数文件:分别用for和while循环结构编写程序,求2的0到n次幂的和。

MATLAB实验报告

MATLAB实验报告

MATLAB实验报告⼀.试验时间:2013/10/15 ⼆.实验地点:⼤楼五楼8号机房三.实验名称:MATLAB 数值计算四.实验⽬的:1.掌握MATLAB 数据对象的特点以及数值的运算规则。

2.掌握MATLAB 中建⽴矩阵的⽅法以及矩阵处理和分析的⽅法。

3.掌握MATLAB 中常量与变量的使⽤及各种表达式的书写规则。

4.熟悉MATLAB 常⽤函数的使⽤以及多项式的运⽤。

⼆.实验内容1. 求下列表达式的值。

(1)z1=2185sin 2e +结果:>> z1=2*sin((85/360)*pi)/(1+eps*eps) z1 =1.3512(2)z2=),x 1(ln 21++x ?-+=5,45.0t *21,2x结果:>> x=[2 1+2*i;-0.45 5] x =2.0000 1.0000 + 2.0000i -0.4500 5.0000 >> z2=1/2*log(x+sqrt(1+x)) z2 =0.6585 0.6509 + 0.4013i -0.6162 1.0041 (3)z3=22.0^3.0^e a e a -×sin(a+0.3)+ln(23.0a +),a=-3.0,-2.9,-2.8,…2.8,2.9,3.0结果:>> a=-3:0.1:3;>> z3=(eps(a*0.3)-eps(a*0.2))/2.0.*sin(a+0.3)+log((a+0.3)/2.0) z3 =Columns 1 through 50.3001 + 3.1416i 0.2624 + 3.1416i 0.2231 + 3.1416i 0.1823 + 3.1416i 0.1398 + 3.1416i0.0953 + 3.1416i 0.0488 + 3.1416i -0.0000 + 3.1416i -0.0513 + 3.1416i -0.1054 + 3.1416i Columns 11 through 15-0.5108 + 3.1416i -0.5978 + 3.1416i -0.6931 + 3.1416i -0.7985 + 3.1416i -0.9163 + 3.1416i Columns 21 through 25-1.0498 + 3.1416i -1.2040 + 3.1416i -1.3863 + 3.1416i -1.6094 + 3.1416i -1.8971 + 3.1416i Columns 26 through 30-2.3026 + 3.1416i -2.9957 + 3.1416i -37.0245 -2.9957 -2.3026 Columns 31 through 35-1.8971 -1.6094 -1.3863 -1.2040 -1.0498Columns 36 through 40-0.9163 -0.7985 -0.6931 -0.5978 -0.5108Columns 41 through 45-0.4308 -0.3567 -0.2877 -0.2231 -0.1625Columns 46 through 50-0.1054 -0.0513 0.0000 0.0488 0.0953Columns 51 through 550.1398 0.1823 0.2231 0.2624 0.3001Columns 56 through 600.3365 0.3716 0.4055 0.4383 0.4700Column 610.50082.创建⼀个由10个元素组成的等差数列x,第⼀个元素是1,第10个元素是20.(1)计算其元素个数;(2)取出其中第⼆个元素赋值给y.(3)将数组X的前3个元素分别赋值为4,5,6.(4)将数组X的前5个元素倒序后构成⼀个字数组赋值给Z。

北京工业大学电控学院自动化专业《Matlab控制理论实验》期末综合性设计题目报告书

北京工业大学电控学院自动化专业《Matlab控制理论实验》期末综合性设计题目报告书

c

30°,ωc
≥ 1.25ωc0
,由于
γ
c0

γ c ,ωc0

ωc

满足频率法超前校正的条件,所以采用频率法超前校正原系统。
校正步骤如下:①计算最大相位超前角ϕm ;
ϕm = γ c − γ c0 + (5° ~ 20°) = 64° − 5.02° +(5° ~ 20°) = 60°
②计算低频衰减率α ;
⇒ ξ 2 ≤ 0.1281 ⇒ ξ ≤ 0.3579
取ξ
= 0.25 ,又 ωn 任意,我们不妨取为 ωn
= 12 (此时 ts
=
3 ξωn
=
3 0.25 ×12
= 1s ),
那么所要求设计的二阶系统的闭环传递函数为
Gc+144

☆ 对该系统进行速度反馈校正,使得校正后的系统满足 M p ≤ 8%
50
System: untitled1
Frequency (rad/sec): 1.3
0
Magnitude (dB): -14
Magnitude (dB)
-50
-100
Phase (deg)
-150 -90
-135
-180
-225
-270
-2
10
System: untitled1 Frequency (rad/sec): 1.3 Phase (deg): -175
G闭 (s)
=
s2
144 + 16.97 s
+ 144
,开环传递函数为 G开 (s)
=
s2
144 + 16.97 s

(完整word)Matlab实验报告

(完整word)Matlab实验报告

实验一:Matlab操作环境熟悉一、实验目的1.初步了解Matlab操作环境.2.学习使用图形函数计算器命令funtool及其环境。

二、实验内容熟悉Matlab操作环境,认识命令窗口、内存工作区窗口、历史命令窗口;学会使用format 命令调整命令窗口的数据显示格式;学会使用变量和矩阵的输入,并进行简单的计算;学会使用who和whos命令查看内存变量信息;学会使用图形函数计算器funtool,并进行下列计算:1.单函数运算操作。

求下列函数的符号导数(1)y=sin(x);(2) y=(1+x)^3*(2-x);求下列函数的符号积分(1)y=cos(x);(2)y=1/(1+x^2);(3)y=1/sqrt(1—x^2);(4)y=(x1)/(x+1)/(x+2)求反函数(1)y=(x-1)/(2*x+3); (2) y=exp(x);(3) y=log(x+sqrt(1+x^2));代数式的化简(1)(x+1)*(x-1)*(x-2)/(x-3)/(x—4);(2)sin(x)^2+cos(x)^2;(3)x+sin(x)+2*x—3*cos(x)+4*x*sin(x);2.函数与参数的运算操作。

从y=x^2通过参数的选择去观察下列函数的图形变化(1)y1=(x+1)^2(2)y2=(x+2)^2(3) y3=2*x^2 (4) y4=x^2+2 (5) y5=x^4 (6) y6=x^2/2 3.两个函数之间的操作求和(1)sin(x)+cos(x) (2) 1+x+x^2+x^3+x^4+x^5乘积(1)exp(—x)*sin(x) (2) sin(x)*x商(1)sin(x)/cos(x); (2) x/(1+x^2); (3) 1/(x—1)/(x—2); 求复合函数(1)y=exp(u) u=sin(x) (2) y=sqrt(u) u=1+exp(x^2)(3) y=sin(u) u=asin(x) (4) y=sinh(u) u=-x实验二:MATLAB基本操作与用法一、实验目的1.掌握用MATLAB命令窗口进行简单数学运算。

工大Matlab实验报告

工大Matlab实验报告

实验一MATLAB环境及命令窗口1.使用命令窗口>> a=2.5a =2.5000>> b=[1 2;3 4]b =1 23 4>> c='a'c =a>> d=sin(a*b*pi/180)d =0.0436 0.08720.1305 0.1736>> e=a+ce =99.5000>> a=2.5;>> b=[1 2;3 4]b =1 23 4>> b=[1 2;3 4] %B为矩阵b =1 23 4>> d=sin(a*b*pi/...180)d =0.0436 0.08720.1305 0.17362.使用当前目录>> clear>> x=[1 2 3 4 5];>> y=sin(x)y =0.8415 0.9093 0.1411 -0.7568 -0.95893.自我练习>> x=[1 3 5 7 9];>> y=2*xy =2 6 10 14 18>> plot(y)实验二MATLAB的数值计算1.创建矩阵>> a=[1 2 3;4 5 6;7 8 9]a =1 2 34 5 67 8 9>> a=[1:3;4:6;7:9]a =1 2 34 5 67 8 9>> a=[linspace(1,3,3);linspace(4,6,3);linspace(7,9,3)]a =1 2 34 5 67 8 9>> a=ones(3)a =1 1 11 1 11 1 1>> a(1,:)=[1 2 3];>> a(2,:)=[4 5 6]a =1 2 34 5 61 1 1>> b=a(3:6)b =1 2 5 1>> b(1)=[]b =2 5 12.矩阵的运算(1).解线性方程组>> a=[2 -3 0 2;1 5 2 1;3 -1 1 -1;4 1 2 2]a =2 -3 0 21 52 13 -1 1 -14 1 2 2>> b=[8;2;7;12];>> x=a\bx =3.00000.0000-1.00001.0000(2).解矩阵方程>> A=[1/3 0 0;0 1/4 0;0 0 1/7];>> B=inv(A)*inv(inv(A)-eye(3))*6*AB =3.0000 0 00 2.0000 00 0 1.0000(3).计算特征值和特征向量,验证它们之间的关系>> x=[1 2 0;2 5 -1;4 10 -1]x =1 2 02 5 -14 10 -1>> [v,d]=eig(x)v =-0.2440 -0.9107 0.4472-0.3333 0.3333 0.0000-0.9107 -0.2440 0.8944d =3.7321 0 00 0.2679 00 0 1.0000>> x*vans =-0.9107 -0.2440 0.4472-1.2440 0.0893 0.0000-3.3987 -0.0654 0.8944>> x*dans =3.7321 0.5359 07.4641 1.3397 -1.000014.9282 2.6795 -1.00003.多项式的运算(1).表达式G(x)=(x-4)(x+5)(x^2-6x+9)>> p1=[1 -4]p1 =1 -4>> p2=[1 5]p2 =1 5>> p3=[1 -6 9]p3 =1 -6 9>> G=conv(p1,p2)G =1 1 -20>> G=conv(G,p3)G =1 -5 -17 129 -180>> x=0:20;>> y=polyval(G,x)y =Columns 1 through 8-180 -72 -14 0 0 40 198 576Columns 9 through 161300 2520 4410 7168 11016 16200 22990 31680Columns 17 through 2142588 56056 72450 92160 115600>> x0=roots(G)x0 =-5.00004.00003.00003.0000>> deconv(deconv(G,p3),p2)ans =1-4(2).多项式拟合与插值G(x)=x^4-5x^3-17x^2+129x-180>> G=[1 -5 -17 129 -180];>> x=0:20;>> y=polyval(G,x);>> y0=0.1*randn(1,21)y0 =Columns 1 through 100.0538 0.1834 -0.2259 0.0862 0.0319 -0.1308 -0.0434 0.0343 0.3578 0.2769Columns 11 through 20-0.1350 0.3035 0.0725 -0.0063 0.0715 -0.0205 -0.0124 0.1490 0.1409 0.1417Column 210.0671>> y1=y+y0y1 =1.0e+05 *Columns 1 through 10-0.0018 -0.0007 -0.0001 0.0000 0.0000 0.0004 0.0020 0.0058 0.0130 0.0252Columns 11 through 200.0441 0.0717 0.1102 0.1620 0.2299 0.3168 0.4259 0.5606 0.7245 0.9216Column 211.1560>> G1=polyfit(x,y1,4)G1 =1.0000-5.0019 -16.9766 128.9086 -179.9123实验三MATLAB的符号计算>> f=sym('sin(x)')f =sin(x)>> g=sym('y/exp(-2*t)') g =y*exp(2*t)>> syms x y t>> f=sym(sin(x))f =sin(x)>> g=sym(y/exp(-2*t)) g =y*exp(2*t)>> symvar(g)ans =[ t, y]>> symvar(g,1)ans =y>> findsym(g,2)ans =y,t>> x=0:10;>> y=subs(f,x)y =[ 0, sin(1), sin(2), sin(3), sin(4), sin(5), sin(6), sin(7), sin(8), sin(9), sin(10)] >> f1=subs(f,'5')f1 =sin(5)>> y1=double(f1)y1 =-0.9589>> y2=eval(f1)y2 =-0.9589>> digitsDigits = 32>> vpa(f1)ans =-0.95892427466313846889315440615599>> VPA(F1,10)Undefined function or variable 'F1'.Did you mean:>> vpa(f1,10)ans =-0.9589242747>> f=sym('sn(x)');>> g=sym('y/exp(-2*t)')g =y*exp(2*t)>> finverse(f)Warning: Functional inverse cannot be found.> In D:\Program Files\MATLAB\R2013a\toolbox\symbolic\symbolic\symengine.p>symengine at 56In sym.sym>sym.privBinaryOp at 1693In sym.finverse at 31ans =[ empty sym ]>> finverse(g,'t')ans =log(t/y)/2>> compose(g,'t')ans =t*exp(2*t)>> compose(f,g)ans =sn(y*exp(2*t))>> compose(f,g,'z')ans =sn(z*exp(2*t))>> diff(f)ans =diff(sn(x), x)>> cos(x)ans =Columns 1 through 81.0000 0.5403 -0.4161 -0.9900 -0.6536 0.2837 0.9602 0.7539 Columns 9 through 11-0.1455 -0.9111 -0.8391>> diff(g)ans =exp(2*t)>> diff(g,'t')ans =2*y*exp(2*t)>> syms t x>> limit((sin(x+t)-sin(x)/t,t,0)limit((sin(x+t)-sin(x)/t,t,0)|Error: Expression or statement is incorrect--possibly unbalanced (, {, or [.>> limit((sin(x+t)-sin(x))/t,t,0)ans =cos(x)>> int(f)Warning: Explicit integral could not be found.ans =int(sn(x), x)>> f=sym('sin(x)")f=sym('sin(x)")|Error: A MATLAB string constant is not terminated properly. >> f=sym('sin(x)')f =sin(x)>>>> int(f)ans =-cos(x)>> int(g)ans =(y^2*exp(2*t))/2>> int(g,'t')ans =(y*exp(2*t))/2>> int(g,'t',0,10)ans =(y*(exp(20) - 1))/2>> f=sym('x^2+3*x+2')f =x^2 + 3*x + 2>> g=sym('x^3-1')g =x^3 - 1>> f+gans =x^3 + x^2 + 3*x + 1>> f~=gans =x^2 + 3*x + 2 ~= x^3 - 1>> f~=gans =x^2 + 3*x + 2 ~= x^3 - 1>> pretty(f)2x + 3 x + 2>> f1=horner(f)f1 =x*(x + 3) + 2>> f2=factor(f1)f2 =(x + 2)*(x + 1)>> somple(g)Undefined function 'somple' for input arguments of type 'sym'. >> simple(g)simplify:x^3 - 1radsimp:x^3 - 1simplify(Steps = 100): x^3 - 1combine(sincos):x^3 - 1combine(sinhcosh): x^3 - 1combine(ln):x^3 - 1factor:(x - 1)*(x^2 + x + 1) expand:x^3 - 1combine:x^3 - 1rewrite(exp):x^3 - 1rewrite(sincos):x^3 - 1rewrite(sinhcosh):x^3 - 1rewrite(tan):x^3 - 1mwcos2sin:x^3 - 1collect(x):x^3 - 1ans =x^3 - 1>> h=sym2poly(f)h =1 32 >> f=poly2sym(h)f =x^2 + 3*x + 2>> A=sym('[x x^2;2*x cos(2*t)]')A =[ x, x^2][ 2*x, cos(2*t)]>> A.'ans =[ x, 2*x][ x^2, cos(2*t)]>> det(A)ans =- 2*x^3 + cos(2*t)*x>> diff(A)ans =[ 1, 2*x][ 2, 0]>> eq1=sym('2*x1-3*x2+2*x4=8')eq1 =2*x1 - 3*x2 + 2*x4 == 8>> eq2=('x1+5*x2+2*x3+x4=2');>> eq3=('3*x1-x2+x3-x4=7');>> eq2=sym('x1+5*x2+2*x3+x4=2'); >> eq3=sym('3*x1-x2+x3-x4=7')eq3 =3*x1 - x2 + x3 - x4 == 7>> eq4=sym('4*x1+x2+2*x3+2*x4=12');>> [x1,x2,x3,x4]=solve(eq1,eq2,eq3,eq4)x1 =3x2 =x3 =-1x4 =1>> [y,z]=dsolve('Dy-z=cos(x),Dz+y=1','x')y =sin(x)*(C4 + (sin(x)*(sin(x) + 2))/2) + cos(x)*(C5 + x/2 + 2*cos(x/2)^3*sin(x/2) + 2*cos(x/2)^2 - cos(x/2)*sin(x/2))z =cos(x)*(C4 + (sin(x)*(sin(x) + 2))/2) - sin(x)*(C5 + x/2 + 2*cos(x/2)^3*sin(x/2) + 2*cos(x/2)^2 - cos(x/2)*sin(x/2))>>实验四MATLAB的计算可视化和GUI设计1.绘制二维曲线窗口1:y=sin(2πt),t∈[0,2]; 窗口2:y=e^(-t), y=e^(-2t), y=e^(-3t) ,t∈[0,2]; 窗口3:矩形脉冲:宽度为1,高度为2,开始时间为1;窗口4:单位圆>> subplot(2,2,1)>> t1=0:0.1:2;>> y1=sin(2*pi*t1);>> plot(t1,y1)>> title('y=sin(2\pit)')>> subplot(2,2,2)>> t2=0:0.1:2;>> y2=[exp(-t2);exp(-2*t2);exp(-3*t2)];>> plot(t2,y2)>> axis([0 2 -0.2 1.2]);>> title('y=e-t,y=e-2t,y=e-3t')>> subplot(2,2,3);>> t3=[0 1 1 2 2 3 4];>> y3=[0 0 2 2 0 0 0];>> plot(t3,y3);>> axis([0 4 -0.5 3]);>> title('脉冲信号')>> subplot(2,2,4);>> t4=0:0.1:2*pi;>> plot(sin(t4),cos(t4))>> axis([-1.2 1.2 -1.2 1.2]);>> axis equal;>> title('圆')2.绘制多条二阶系统时域曲线和三维图形二阶系统的时域响应为:y=1-1/(sqrt(1-zeta^2))*e^(-zetax)*sin(sqrt(1-zeta^2)x+a*cos(zeta)) >> x=0:0.1:20;>> zeta=0zeta =>> y1=1-1/sqrt(1-zeta^2)*exp(-zeta*x).*sin(sqrt(1-zeta^2)*x+acos(zeta));>> plot(x,y1)>> zeta=0.3;>> y2=1-1/sqrt(1-zeta^2)*exp(-zeta*x).*sin(sqrt(1-zeta^2)*x+acos(zeta));>> hold on>> plot(x,y2,'r:')>> zeta=0.5;>> y3=1-1/sqrt(1-zeta^2)*exp(-zeta*x).*sin(sqrt(1-zeta^2)*x+acos(zeta));>> plot(x,y3,'g*')>> zeta=0.707;>> y4=1-1/sqrt(1-zeta^2)*exp(-zeta*x).*sin(sqrt(1-zeta^2)*x+acos(zeta));>> plot(x,y4,'m--')>> title('二阶系统曲线')>> legend('\zeta=0','\zeta=0.3','\zeta=0.5','zeta=0.707')>> grid on>> gtext('\zeta=0')>> gtext('\zeta=0.3')>> gtext('\zeta=0.5')>> gtext('\zeta=0.707')>> ginput(3)ans =4.5853 1.09067.9032 1.008814.2166 1.01463.特殊图形(1).绘制条形图>> x=0:0.3:2*pi;>> y=sin(x);>> subplot(2,2,1)>> bar(x,y,0.5)>> axis([0,2*pi,-1.2,1.2]) (2).绘制实心图>> subplot(2,2,2)>> fill(x,y,'r')(3).绘制阶梯图>> subplot(2,2,3)>> stairs(x,y)(4).绘制火柴杆图>> subplot(2,2,4)>> stem(x,y)。

西北工业大学Matlab实验报告

西北工业大学Matlab实验报告

西北工业大学《基于MATLAB的数字信号处理》实验报告学院:计算机学院学号:姓名:专业:计算机科学与技术西北工业大学2017年 07 月实验二 MATLAB 基本编程实验一、实验目的及要求1. 回顾数字信号处理的主要内容;2. 掌握利用MATLAB 进行信号处理的方法;3. 了解信号处理工具箱中一些函数的功能;二、实验设备(环境)及要求1. 计算机2. Matlab 软件编程实验平台三、实验内容1 .任何实数序列x(n)都能分解成为它的偶部分量和奇部分量之和,编写一个MATLAB 函数文件,该函数的功能是将一给定序列分解成为它的偶部分量和奇部分量。

并通过M 文件或命令行调用该函数文件将以下序列分解成为偶部分量和奇部分量。

0.05()sin(0.1/3), 0n 100n x n e n ππ-=+≤≤441()10.8145j j j e H e e ωωω--+=-plot(w1,180/pi*(angle(h1)));xlabel('frequency Hz');ylabel('phase');title('巴特沃斯的相频特性');%椭圆带通滤波器rs=60;rp=0.1; %椭圆带通滤波器的指标[B,A]=ellip(N,rp,rs,wn)[h2,w2]=freqz(B,A,256,fs);subplot(2,3,3)plot(w2,20*log10(abs(h2)/max(abs(h2))));xlabel('frequency Hz');ylabel('magnitude /dB');title('椭圆滤波器的幅频特性');subplot(2,3,6)plot(w2,180/pi*(angle(h2)));xlabel('frequency Hz');ylabel('phase');title('椭圆滤波器的相频特性');六、实验结果1.原始序列及得到的奇偶序列如下图所示2.3 输入序列与滤波器的输出序列如下图所示3.带通滤波器设计根据上图结构可以看出:巴特沃斯带通滤波器的通带无波动,且设计出来的滤波器结构简单,相频变化表现较差,但带外衰减速度较慢。

MATLAB实验报告(word文档良心出品)

MATLAB实验报告(word文档良心出品)

《MATLAB/Simulink与控制系统仿真》实验报告专业:班级:学号:姓名:指导教师:实验1、MATLAB/Simulink 仿真基础及控制系统模型的建立一、实验目的1、掌握MATLAB/Simulink 仿真的基本知识;2、熟练应用MATLAB 软件建立控制系统模型。

二、实验设备电脑一台;MATLAB 仿真软件一个 三、实验内容1、熟悉MATLAB/Smulink 仿真软件。

2、一个单位负反馈二阶系统,其开环传递函数为210()3G s s s=+。

用Simulink 建立该控制系统模型,用示波器观察模型的阶跃响应曲线,并将阶跃响应曲线导入到MATLAB 的工作空间中,在命令窗口绘制该模型的阶跃响应曲线。

图 1系统结构图图 2示波器输出结果图3、某控制系统的传递函数为()()()1()Y s G s X s G s =+,其中250()23s G s s s+=+。

用Simulink 建立该控制系统模型,用示波器观察模型的阶跃响应曲线,并将阶跃响应曲线导入到MA TLAB 的工作空间中,在命令窗口绘制该模型的阶跃响应曲线。

图 3系统结构图 图 4 示波器输出结果图图 5 工作空间中仿真结果图形化输出4、一闭环系统结构如图所示,其中系统前向通道的传递函数为320.520()0.11220s G s s s s s+=+++g ,而且前向通道有一个[-0.2,0.5]的限幅环节,图中用N 表示,反馈通道的增益为1.5,系统为负反馈,阶跃输入经1.5倍的增益作用到系统。

用Simulink 建立该控制系统模型,用示波器观察模型的阶跃响应曲线,并将阶跃响应曲线导入到MATLAB 的工作空间中,在命令窗口绘制该模型的阶跃响应曲线。

图 6 系统结构图图 7 示波器输出结果实验2 MATLAB/Simulink 在控制系统建模中的应用一、实验目的1、掌握MATLAB/Simulink 在控制系统建模中的应用; 二、实验设备电脑一台;MA TLAB 仿真软件一个 三、实验内容1、给定RLC 网络如图所示。

Matlab实验报告

Matlab实验报告

Matlab 实验报告五班第一专题计算机作业1、完成课程GUI 设计第二专题计算机作业1、 设矩阵A 和B 满足关系式AB=A+2B ,已知423A 110123⎛⎫ ⎪= ⎪ ⎪-⎝⎭求矩阵B 。

A=[4 2 3;1 1 0;-1 2 3];C=A-2*eye(3,3);B=inv(C)*A;%the answerB =3.0000 -8.0000 -6.00002.0000 -9.0000 -6.0000-2.0000 12.0000 9.00002、 求解线性方程组1231231232x x 3x 53x x 5x 54x x x 9-+=⎧⎪+-=⎨⎪-+=⎩C=[2 -1 3;3 1 -5;4 -1 1];D=[5 5 9]';answer=C\D;%the answeranswer =2-13、 求极限1/ln 0lim (tan )x x x +→syms x ;answer=limit((tan(x)^(1/log(x))),x,0,'right')answer =exp(1)4、 求积分20x d (1)x x +∞+⎰ syms x ;answer=int((x^0.5)/(1+x)^2,0,inf)%the answeranswer = pi/25、求一阶微分方程的通解y'tan cos y x x +=syms x y ;y=dsolve('Dy=cos(x)-tan(x)*y','x')%the answery =C2*cos(x) + x*cos(x)第三专题计算机作业1、曲线绘制画出衰减振荡曲线t/2y sin 2t e -=⋅及其包络线t/2t/201y e ,e y -==(虚线),t 的取值范围为[0,6]π,加上适当标注.2、曲面绘制 画出2222z sin(x )/(y )y x =++所表示的三维曲面,用暖色调,x 、y 的取值范围为[-8,8]为作业1中衰减振荡曲线绘制直方图,直方图数目为20个。

MATLAB实验报告1.doc

MATLAB实验报告1.doc

系统仿真与MATLAB实验报告实验一:MATLAB基本操作一、实验目的:1、学习并撑握MA TLAB语言的基本操作方法;2、撑握命令窗口的使用;3、熟悉MATLAB的数据表示、基本运算和程序控制语句;4、熟悉MATLAB程序设计的基本方法。

二、实验编程与测试1.矩阵运算(1)已知A=[1 2;3 4];B=[5 5;7 8];求A^2*B程序:>> A=[1 2;3 4];B=[5 5;7 8];>> C=(A^2)*BC =105 115229 251(2)矩阵除法已知A=[1 2 3;4 5 6;7 8 9];B=[1 0 0;0 2 0;0 0 3];求A/B,A\B程序:>> A=[1 2 3;4 5 6;7 8 9];B=[1 0 0;0 2 0;0 0 3];>> C1=A/BC1 =1.0000 1.0000 1.00004.0000 2.5000 2.00007.0000 4.0000 3.0000>> C2=A\BWarning: Matrix is close to singular or badly scaled.Results may be inaccurate. RCOND = 1.541976e-018.(Type "warning off MATLAB:nearlySingularMatrix" to suppress this warning.)C2 =1.0e+016 *-0.4504 1.8014 -1.35110.9007 -3.6029 2.7022-0.4504 1.8014 -1.3511(3)矩阵的转置及共轭转置已知A=[15+i, 2-i ,1;6*i,4,9-i];求A.’,A’程序:>> A=[15+i,2-i,1;6*i,4,9-i];>> B1=A.'B1 =15.0000 + 1.0000i 0 + 6.0000i2.0000 - 1.0000i 4.00001.0000 9.0000 - 1.0000i>> B2=A'B2 =15.0000 - 1.0000i 0 - 6.0000i2.0000 + 1.0000i 4.00001.0000 9.0000 + 1.0000i(4)使用冒号选出指定元素已知A=[1 2 3;4 5 6;7 8 9];求A中第3列前2个元素;A中所有第2行的元素;程序:>> A=[1 2 3;4 5 6;7 8 9];>> B1=A(1:2,3)B1 =36>> B2=A(2,1:3)B2 =4 5 6(5)方括号[]用magic函数生成一个4阶魔术矩阵,删除该矩阵的第四列A =16 2 3 135 11 10 89 7 6 124 14 15 1>> A(:,4)=[]A =16 2 35 11 109 7 64 14 152.多项式(1)求多项式的根程序:>> p=[1 0 -2 -4];>> roots(p)ans =2.0000-1.0000 + 1.0000i-1.0000 - 1.0000i(2)已知A=[1.2 3 5 0.9;5 1.7 5 6;3 9 0 1;1 2 3 4]求矩阵A的特征多项式;求矩阵多项式中未知数为20时的值;把矩阵A作为未知数代入到多项式中;程序:>> A=[1.2 3 5 0.9;5 1.7 5 6;3 9 0 1;1 2 3 4];>> b=poly(A)b =1.0000 -6.9000 -77.2600 -86.1300 604.5500>> c=polyval(b,20)c =7.2778e+004y=polyval(b,A)y =1.0e+003 *0.3801 -0.4545 -1.9951 0.4601-1.9951 0.2093 -1.9951 -2.8880-0.4545 -4.8978 0.6046 0.43530.4353 0.0840 -0.4545 -1.1617>> z=polyvalm(b,A)z =1.0e-010 *-0.0591 -0.0913 -0.0712 -0.0662-0.0909 -0.1273 -0.1065 -0.1023-0.0843 -0.1171 -0.0909 -0.0878-0.0523 -0.0777 -0.0621 -0.06033.基本程序设计(1)编写命令文件:计算1+2+…+n<2000时的n值;程序:>> clears=s+i;i=i+1;end>> i=i-1i =63(2)编写函数文件:分别用for和while循环结构编写程序,求2的0到n次幂的和。

matlab实习实验报告

matlab实习实验报告

实验报告: 分支语句一、 实验目的: 1.掌握使用分支语句;2.掌握自上而下程序设计技术方法.二、 实验内容及要求:1.实验内容:1).编写 MATLAB 语句计算 y(t)的值⎩⎨⎧<+≥+-=0530 53)(22t t t t t y 已知 t 从-5到 5 每隔0.5取一次值。

运用循环和选择语句进行计算。

2).用向量算法解决练习 1, 比较这两个方案的耗时。

三、 设计思路:1. 用循环和选择语句进行计算:1).定义自变量t :t=-5:0.5:5;2).用循环语句实现对自变量的遍历。

3).用选择语句实现对自变量的判断,选择。

4).将选择语句置入循环语句中,则实现在遍历中对数据的选择,从而实现程序的功能。

2. 用向量法实现:1).定义自变量t :t=-5:0.5:5;2).用 b=t>=0 语句,将t>=0得数据选择出,再通过向量运算y(b)=-3*t(b).^2 + 5; 得出结果。

3).用取反运算,选择出剩下的数据,在进行向量运算,得出结果。

四、 实验程序和结果1.实验程序clear%clctic;t=-5:0.5:5;for ii=1:size(t,2)columns.if(t(ii)<0)y(ii) = 3*t(ii)^2+5;elsey(ii)= -3*t(ii)^2+5;endendfigure(1);plot(t,y);title('Plot of y(t) and its derivative----(1)');xlabel('x');ylabel('y');grid on;toc; %Read the stopwatch timer,%prints the number of seconds required for the operation. clear%clctic;t=[-5:0.5:5];b=t>=0;y(b)=-3*t(b).^2 + 5;%b=t<0;y(~b)=3*t(~b).^2 + 5;figure(2);plot(t,y);title('Plot of y(t) and its derivative----(2)');xlabel('x');ylabel('y');grid on;toc;2.实验结果:>> clear>> y_tElapsed time is 0.998095 seconds.Elapsed time is 0.338708 seconds.>>五、实验总结:本次实验分支语句的使用和自上而下的程序设计技术。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

北工大MATLAB实验报告
完成日期:2018.12
目录
实验一用FFT进行谱分析 (3)
一、实验内容 (3)
二、实验过程 (3)
三、实验代码 (4)
四、实验结果及分析 (5)
五、实验心得 (5)
实验二噪声数据的抑制 (6)
一、实验内容 (6)
二、实验过程 (7)
三、实验结果分析 (14)
四、实验心得 (15)
参考文献 (15)
实验一用FFT进行谱分析
一、实验内容
FFT的用途之一是找出隐藏或淹没在噪声时域信号中信号的频率成分。

本题要求用FFT 对试验数据进行谱分析,指出数据包含的频率成份。

提示:首先建立试验数据。

过程推荐如下:生成一个包含两个频率成分的试验信号,对这个信号加入随机噪声,形成一个加噪信号y。

(试验数据参数推荐为:数据采样频率为1000Hz,时间区间从t=0到t=0.25,步长0.001秒,噪声的标准偏差为2,两个频率成分的试验信号可取50Hz和120Hz)。

(1)绘制加噪信号y它的波形。

(2)求出含噪声信号y的离散傅立叶变换(取它的FFT),(FFT试验参数推荐为:256点)。

(3)求出信号的功率谱密度(它是不同频率所含能量的度量),并绘制功率谱图,标记出两个频谱峰值对应的频率分量。

二、实验过程
1.打开matlab软件,根据实验要求,用已知条件求出重要参数:
N=256;
n=0:N-1;
t=n/fs;
2.绘制加入了噪声信号的y图象:
y=sin(2*pi*50*t)+sin(2*pi*120*t)+2*randn(size(t));
subplot(2,2,1);
plot(y);title('y的波形');
3.对y求付里叶变换:
Y=fft(y,N);
4.绘制Y的幅值图象:
fudu=abs(Y);
f=n*fs/N;
subplot(2,2,2)
plot(f,fudu);
5.抽取256点进行绘图:
subplot(2,2,3)
plot(f(1:N/2),fudu(1:N/2));
6.利用y的自相关函数求出y的功率谱,并绘图:
y2=xcorr(y,'unbiased');
y2p=fft(y2,N);
yk=abs(y2p);
subplot(2,2,4)
plot(f(1:N/2),yk(1:N/2));title('功率谱')
三、实验代码
N=256;
n=0:N-1;
t=n/fs;
y=sin(2*pi*50*t)+sin(2*pi*120*t)+2*randn(size(t)); subplot(2,2,1);
plot(y);title('y的波形');
Y=fft(y,N);
fudu=abs(Y);
f=n*fs/N;
subplot(2,2,2)
plot(f,fudu)
subplot(2,2,3)
plot(f(1:N/2),fudu(1:N/2));
y2=xcorr(y,'unbiased');
y2p=fft(y2,N);
yk=abs(y2p);
subplot(2,2,4)
plot(f(1:N/2),yk(1:N/2));title('功率谱')
四、实验结果及分析
结果分析:功率谱的两个峰值对应的频率分别为:f=50Hz和120Hz
五、实验心得
学习了一个学期的MATLAB,现在终于能够进行一次实践了。

实验过程中,总会出现一些错误。

这些错误经常是因为错误使用标点造成的。

所以,在编程的过程中要十分小心。

虽然这只是一次小实验,但我感觉到了这个软件功能的强大,以后我还会更加深入地学习。

实验二 噪声数据的抑制
一、 实验内容
考虑一组实际数据,它可以用以下公式建模:
11.02cos(284)040()2
0n
n n x n ππ⎧++≤≤⎪
=⎨⎪⎩
其它
可以看出,这是在缓慢变化的指数信号分量(1.02n
)上叠加了一个正弦干扰噪声序列。

试设计一种算法(滤波器),要求在()x n 中能够抑制、甚至消除这个正弦干扰噪声。

提示:可以考虑用L 点移动平均滤波器(MA )对()x n 进行滤波处理,若L=3,并用()x n 作为MA 滤波器的输入信号,则其输出:
[]2
1()()
31
()(1)(2)3
i y n x n i x n x n x n ==-=+-+-∑
是3个最近的输入值的数字平均。

3点MA 的框图模型见图。

图3点MA 滤波器的框图
更长长度的MA 滤波器有可能产生更好的噪声抑制效果,请试验选取7点MA 滤波器,即:
6
1()()7i y n x n i ==-∑
给出试验结果。

二、实验过程
1.打开simulink,并选择所需要的模板,然后开始放置元件
2.首先产生一个指数信号
(1)我一开始用的是rate limiter来产生时钟信号n
(2)后来发现可以用ramp产生时间信号,使图象更加简单
(3)设置参数:
(4)然后进行一次仿真,波形图如下:
产生时钟信号(5)接下来建立指数信号
(6)进行仿真,波形如下:
(7)但我们需要的非零值区间为[0,40],根据上前面的波形图,很明显不是实验所需要的信号,所以,利用两个单位阶跃信号相减建立窗函数:
(8)进行一次仿真,波形如下:
所以,得到了所需要的窗信号(9)将窗信号与指数信号相乘
(10)进行仿真,波形如下
这便是我们所需要的指数信号
(11)类似于上述的方法,建立噪声正弦波信号,并进行仿真,如下
仿真波形:
(12)接着,将这两部分信号叠加,得到输入信号x(n):
仿真波形:
(13)建立七点MA滤波器进行滤波:
仿真波形:
三、实验结果分析
七点MA滤波器对抑制信号有良好效果
四、实验心得
本次实验花相当长的时间,一开始觉得题目挺简单的,但是由于Simulink软件用提不熟练,所以大部分时间用来探索元器件的使用和功能上。

在图书馆翻阅了很多资料,但还是处于一知半解状态。

再从网上查找资料,用了特别多的时间。

不过,最后还是把实验做完了,还是感到很开心的。

参考文献
1.《Matlab软件基础教程》罗杰,陕西师范大学出版总社有限公司
2.《MATLAB 8.X实战指南》赵小川,清华大学出版社
3.《数字信号处理导论》胡广书,清华大学出版社
4.《MATLAB图像处理编程与应用》张涛,机械工业出版社
5.《MATLAB应用与实验教程》贺超英,电子工业出版社。

相关文档
最新文档