实验一 matlab仿真环境

合集下载

MATLAB的实验环境及基本命令

MATLAB的实验环境及基本命令
44 43 42 4111 12 13 14
(18)实验过程及结果:rot90(A)(19)实验过程及结果:tril(A)
ans=14 24 34 44ans=11 0 0 0
13 23 33 4321 22 0 0
12 22 32 4231 32 33 0
11 21 31 4141 42 43 44
(1)实验过程及结果:A(:,1)ans= 11 (2)实验过程及结果:A(2,:)
21 ans=21 22 23 24
31
(3)实验过程及结果:A(:,2:3)ans= 12 13 (4)实验过程及结果:A(2:3,2:3)
22 23 ans=22 23
32 33 32 33
42 43
(5)实验过程及结果:A(:,1:2:3)ans=11 13 (6)实验过程及结果:A(2:3)
X=1+sqrt(4)*randn(3,3)0 0 0 0 0
X=0.1349 1.5754 3.37830 0 0 0 0
-2.3312 -1.2929 0.9247
1.2507 3.3818 1.6546
Y=1-2*rand(5,5)
Y=0.1106 0.6475 -0.7873 0.7222 0.6024
实验一MATLAB的实验环境及基本命令
一实验目的:
1.学习了解MATLAB的实验环境
2.在MATLAB系统命令窗口练习有关MATLAB命令的使用。
二实验步骤
1.学习了解MATLAB的实验环境:
在Windows桌面上,用mouse双击MATLAB图标,即可进入MATLAB的默认界面:
图1-1 MATLAB系统命令窗口
23 32
34 43

实验一MATLAB的实验环境及基本命令

实验一MATLAB的实验环境及基本命令
实验一MATLAB的实验环境及基本命令
一实验目的:
1.学习了解MATLAB的实验环境
2.在MATLAB系统命令窗口练习有关MATLAB命令的使用。
二实验步骤
1.学习了解MATLAB的实验环境:
在Windows桌面上,用mouse双击MATLAB图标,即可进入MATLAB的默认界面:
图1-1MATLAB系统命令窗口
5.36640.80874.2471-1.88192.4238
练习1-7产生一均匀分布在(-5,5)之间的随机阵(50×2),要求精确到小数点后一位。
实验结果:fix(5-2*5*rand(50,2)*10)/10
练习1-8编程实现当a∈[-π,π],间隔为1°时,求解正弦、余弦的值。
实验结果:a=-pi:180/pi:pisin(a)cos(a)
21ans=21222324
31
(3)实验过程及结果:A(:,2:3)ans=1213(4)实验过程及结果:A(2:3,2:3)
2223ans=2223
32333233
4243
(5)实验过程及结果:A(:,1:2:3)ans=1113(6)实验过程及结果:A(2:3)
2123ans=2131
3133
练习1-1:计算下列表达式:
要求计算完毕后,键入相应的变量名,查看并记录变量的值。
实验过程及结果:a=(1+sqrt(10))/2a=2.0811
b=abs(3+5*i)b=5.8310
c=sin(exp(-2.3))c=0.1001
d=250/sin(pi/6)d=500.0000
②.向量运算:n维向量是由n个成员组成的行或列数组。在MATLAB中,由分号分隔的方括号中的元素产生一个列向量;由逗号或空号分隔的方括号中的元素产生一个列向量;同维的向量可进行加减运算,乘法须遵守特殊的原则。

Matlab实验

Matlab实验

MATLAB实验报告学校:湖北文理学院学院:物理与电子工程学院专业:电子信息工程学号: 2013128182 姓名:张冲指导教师:宋立新实验一 MATLAB环境的熟悉与基本运算一、实验目的:1.熟悉MATLAB开发环境2.掌握矩阵、变量、表达式的各种基本运算二、实验内容1、学习使用help命令,例如在命令窗口输入help eye,然后根据帮助说明,学习使用指令eye(其它不会用的指令,依照此方法类推)2、学习使用clc、clear,观察command window、command history和workspace等窗口的变化结果。

3、初步程序的编写练习,新建M-file,保存(自己设定文件名,例如exerc1、exerc2、exerc3……),学习使用MATLAB的基本运算符。

三、练习1)help rand,然后随机生成一个2×6的数组,观察command window、command history和workspace等窗口的变化结果。

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

3)用逻辑表达式求下列分段函数的值4)求[100,999]之间能被21整除的数的个数。

(提示:rem,sum的用法)四、实验结果1)2)clc:清除命令窗口所有内容,数值不变;clear:初始化变量的值。

3)4)实验二 MATLAB数值运算一、实验目的1、掌握矩阵的基本运算2、掌握矩阵的数组运算二、实验内容1)输入C=1:2:20,则C(i)表示什么?其中i=1,2,3, (10)2)输入A=[7 1 5;2 5 6;3 1 5],B=[1 1 1; 2 2 2; 3 3 3],在命令窗口中执行下列表达式,掌握其含义:A(2, 3) A(:,2) A(3,:) A(:,1:2:3) A(:,3).*B(:,2)A(:,3)*B(2,:) A*B A.*B A^2 A.^2 B/A B./A3)二维数组的创建和寻访,创建一个二维数组(4×8)A,查询数组A第2行、第3列的元素,查询数组A第2行的所有元素,查询数组A第6列的所有元素。

实验一 MATLAB环境及命令窗口的使用

实验一 MATLAB环境及命令窗口的使用

实验一MATLAB环境及命令窗口的使用一、实验目的和要求1.熟练掌握MATLAB的启动和退出2.熟悉MATLAB的命令窗口3.熟悉常用选单和工具栏4.熟悉MATLAB桌面及其他窗口5.使用“帮助”查找帮助信息二、实验器材PC机一台,MATLAB6.5软件。

三、实验内容和步骤学习使用MATLAB必须先熟悉MATLAB的桌面环境。

MA TLAB的窗口包含命令窗口(Command Window)、历史命令窗口(Comand Histroy)、当前目录浏览器窗口(Current Directory Browser)、工作空间窗口(Workspace Browser)、帮助导航/浏览器窗口(Help Browser)、数组编辑器窗口(Array Editor)、交互界面分类目录窗口(Launch Pad)、M文件编辑/调试器窗口(Editor/Debugger)和程序性能剖析窗口(Profiler)。

1.启动MATLAB双击桌面上MA TLAB6.5的图标,或通过Windows的“开始”按钮,在“程序”中选择“MATLAB6.5”命令来启动。

启动后显示MATLAB6.5的集成化桌面。

2.使用命令窗口在命令窗口输入以下命令并查看运行结果。

>>a=2.5>>b=[1 2 ; 3 4]>>c=’a’>>d=cos(a*b*pi/180)>>e=a+c(1)单独显示命令窗口选择菜单“View”—“Undock Command Window”,则会出现单独的命令窗口。

然后选择命令窗口的选单“View”—“Dock Command Window”,可是单独的窗口返回桌面。

(2)使用标点符号修改命令行; 不显示结果>>a=2.5;% 用作注释>>b=[1 2 ; 3 4] %b为矩阵... 用于把后面的行与该行连接>>d=cos(a*b*pi/...180)(3)数值显示格式的设置使用MA TLAB的桌面选单“File”—“Preference”或“Format”命令,单击左栏的“Command Window”项,在右边的“Numeric Format”栏设置数据的显示格式,并查看各种格式下矩阵b的显示情况。

2018实验1认识matlab环境

2018实验1认识matlab环境

X X X X 大学(自动化学院)课内实验报告实验名称:认识matlab编程环境专业名称:班级:学生姓名:学号:指导教师:实验日期:实验1 认识matlab编程环境一、实验目的(1)熟悉启动和退出matlab软件方法(2)掌握主要窗口的使用方法二、实验设备及条件( 1).计算机(2)Matlab7.0集成环境三、实验内容及要求(1)启动matlab,熟悉matlab界面(2)练习下面指令:clear ,clc, help, doc, who, whos 熟悉各命令的作用并写出总结.(3)建立自己的当前工作目录mywork建立自己搜索路径:点 FILE 菜单下的setpath,如下图行进设置:在add folder 下添加搜索路径,然后保存。

(4) 在命令窗口中执行命令完成以下运算,观察workspace变化,记录运算结果。

1)计算(365-52*2-70)/32)计算area=pi*2.5^2h = exp(log(realmax))toobig = pi*h3)已知x=3,y=4,z=x+y在Matlab中求z4)执行命令>>help abs 查看函数abs的用法及用途,计算abs(3+4i)5)字符串赋值:>>a=’This is my book‘实验结果四、心得体会通过本次实验,使我们了解并熟悉了MATLAB的运行环境,以及启动及退出的方法,并且掌握主要窗口的使用方法。

因为是第一次接触到matlab软件,对于matlab这门技术并不是很了解,对它并不能很熟悉的运用,有很多地方需要多次尝试与练习,但是随着学习的深入我对matlab的了解也相应深入,了解到Matlab有很多的优点,计算方便、快捷、准确、操作方便、流程简单。

虽然所以可能会有些困难,但我会好好学习这门课程。

设计性实验(MATLAB仿真实验)

设计性实验(MATLAB仿真实验)

设计性实验(MATLA仿真实验)3.1 MATALAB语言概述3.1.1 MATALAB 语言的发展MATALAB 是一种科学计算软件,主要适用于矩阵运算及控制和信息处理领域的分析设计。

它使用方便,输入简洁,运算高效,内容丰富,并且很容易由用户自行扩展,因此,当前已成为美国和其他发达国家大学教学和科学研究中最常用而必不可少的工具。

MATLAB 是由美国Mathworks 公司与 1 984年正式推出的,从那时到现在已升级到7.x 版本。

随着版本的升级,内容不断扩充,功能更强大。

特别是在系统仿真和实时运行等方面,有很多新进展,更扩大了它的应用前景。

MATLAB 是“矩阵实验室”( MATrix Laboratoy )的缩写,它是一种以矩阵运算为基础的交互式程序语言,专门针对科学、工程计算及绘图的需求。

它用解释方式工作,键入程序立即得出结果,人机交互性能好,适应于多种平台。

MATLAB 语言在国外的大学工学院中,特别是数值计算用的最频繁的电子信息类学科中,已成为每个学生都掌握的工具了。

它大大提高了课程教学、解题作业、分析研究的效率。

MATLAB 语言比较好学,因为它只有一种数据类型,一种标准的输入输出语句,不用“指针”,不需编译,比其他语言少了很多内容听三、四个小时课,上机练几个小时,就可入门了。

以后自学也十分方便,通过它的演示(dem0)和求助(help)命令,人们可以方便地在线学习各种函数的用法及其内涵MATLAB 语言的难点是函数较多,仅基本部分就有700多个,其中常用的有二三百个,要尽量多记少查,可以提高编程效率。

3.1.2MATLAB 语言的特点1.矩阵运算:每个变量代表一个矩阵,它以矩阵运算见长;每个元素都看作复数,所有的运算都对矩阵和复数有效。

(虚部符号可用i 或j) clear %清除内存变量format short %c1=1-2i,c2=3*(2-sqrt(-1)*3),c3=6+sin(.5)*1j c4=complex(1,2) %建立复数c1 =1.0000 -2.0000ic2 =6.0000 - 9.0000ic3 =6.0000 + 0.4794i c4 =1.0000 +2.0000ic1r二real(c1),c1i二imag(c1),abs_c1二abs(c1),a ngle_c仁a ngle(c1) 结果:" "c1r =1c1i =-2abs_c1 =2.2361an gle_c1 =-1.1071注意:(1)所有的标点符号必须是在英文状态下输入。

实验一_MATLAB_软件环境及基本操作

实验一_MATLAB_软件环境及基本操作

实验⼀_MATLAB_软件环境及基本操作实验⼀ MATLAB 软件环境及基本操作⼀、实验⽬的熟悉 MATLAB 软件的⼯作环境,练习 MATLAB 命令窗⼝的基本操作。

⼆、实验内容1、命令窗⼝(Command Window )运⾏⼊门(1)最简单的计算器使⽤法【例 1】求[12 + 2×(7- 4)]÷32的算术运算结果。

1)⽤键盘在 MATLAB 命令窗⼝中命令提⽰符>>后输⼊以下内容:(12+2*(7-4))/3^22)在上述表达式输⼊完成后,按【Enter 】键,执⾏命令。

3)MA TLAB 命令窗⼝中将显⽰以下结果:ans =【例 2】简单矩阵的输⼊步骤。

123A=4567891)在键盘上输⼊下列内容A = [1,2,3; 4,5,6; 7,8,9]2)按【Enter 】键执⾏命令。

3)在命令执⾏后,MATLAB 命令窗⼝中将显⽰以下结果:A =1 2 34 5 67 8 9【例 3】矩阵的分⾏输⼊A=[1 2 34 5 67 8 9](显⽰结果同例2)【例 4】命令的续⾏输⼊。

…是续⾏符号,表明下⼀⾏是本⾏的接续。

S = 1 – 1/2 + 1/3 –1/4 + 1/5 – 1/6 ... + 1/7 – 1/8S =0.6345 (2)复数和复数矩阵【例1】复数z1 = 3+ 4i,z2 =1+ 2i,z3 = 2eπi/6表达,及计算123z z zz(1)直⾓坐标表⽰法z1= 3 + 4iz1 =3.0000 +4.0000i(2)采⽤运算符构成的直⾓坐标表⽰法和极坐标表⽰法>> z2 = 1 + 2 * i %运算符构成的直⾓坐标表⽰法。

z2 =1.0000 +2.0000i>> z3=2*exp(i*pi/6) %运算符构成的极坐标表⽰法z3 =1.7321 + 1.0000i>> z=z1*z2/z3z =0.3349 + 5.5801i【例-2】复数矩阵的⽣成及运算>> A=[1,3;2,4]-[5,8;6,9]*iB=[1+5i,2+6i;3+8*i,4+9*i]C=A*BA =1.0000 - 5.0000i 3.0000 - 8.0000i2.0000 - 6.0000i 4.0000 - 9.0000iB =1.0000 + 5.0000i2.0000 + 6.0000i3.0000 + 8.0000i4.0000 + 9.0000iC =1.0e+002 * 0.9900 1.1600 - 0.0900i1.1600 + 0.0900i 1.3700【例3】求上例复数矩阵C 的实部、虚部、模和相⾓。

MATLAB仿真实验项目

MATLAB仿真实验项目

实验一熟悉MATLAB仿真工具一、实验目的1、了解MATLAB语言环境。

2、熟悉MATLAB命令的基本操作。

3、练习m文件的基本操作。

二、实验设备PC机,MATLAB仿真软件。

三、实验内容1、了解MATLAB语言环境:MATLAB的启动,运行; MATLAB的联机帮助及实例演示。

2、熟悉MATLAB常见命令dir、type、cd等的基本操作。

3、练习m文件的基本操作:文件的建立、保存,运行。

四、实验步骤1、学习了解MATLAB语言环境开机执行程序matlab.exe(或用鼠标双击图标)即可进人 MATLAB命令窗口:“Command Window”.在命令提示符位置键人命令。

完成下述练习。

MATLAB的联机帮助:help。

MATLAB的实例演示:demo。

2、练习MATLAB常见命令MATLAB语言与DOS操作系统有如下常用的相似命令,在操作界面上练习这些命令。

dir dir c:\matlab\toolboxtype type anyprogram.mcd cd.. cd toolbox3、练习m文件的基本操作打开File菜单,其中有“New M-file”用于打开m文件。

“Open M-file”用于打开m文件。

“Run M-file”用于执行m文件。

可以自由练习上述两项操作。

注意:大部分m文件需要相应的数据才可以运行,此时命令平台上给出警告提示。

五、预习要求1、仔细阅读实验指导书。

2、有条件的可提前上机练习。

六、实验报告要求按照上述步骤进行实验,并按实验记录完成实验报告。

实验二 基于MATLAB 的二阶系统动态性能分析一、实验目的1、观察学习二阶控制系统的单位阶跃响应、脉冲响应。

2、记录单位阶跃响应曲线、脉冲响应曲线。

3、掌握时间响应分析的一般方法。

4、掌握系统阶跃响应曲线与传递函数参数的对应关系。

二、实验设备PC 机,MATLAB 仿真软件。

三、实验内容1、作以下二阶系统的单位阶跃响应曲线1010)(2++=s ss G2、分别改变该系统的ζ和n ω,观察阶跃响应曲线的变化。

matlab实验一实验报告

matlab实验一实验报告

石家庄铁道大学《Matlab语言及其应用》实验报告--实验1 Matlab软件环境的基本使用实验者姓名:韩云星实验者学号:20153254实验者班级:信1501-1所在学院:信息科学与技术学院课程编号:RL090011指导教师:刘展威报告完成日期:2017年 4月 28 日实验一熟悉MATLAB 工作环境一、实验目的1、了解Matlab的发展和主要功能;2、熟悉Matlab工作环境的各个窗口;3、掌握建立矩阵的方法;4、掌握Matlab各种表达式的书写规则以及常用函数的使用。

二、实验内容图 1实验内容1图 2实验内容2图 3实验内容3三、实验设备和软件环境处理器: Intel(R) Core(TM) i5-6200 CPU @ 2.30GHz (4 CPUs), ~2.3GHz内存: 4096MB RAMIntel(R) Core(TM) i5-6200 CPU @ 2.30GHz (8 CPUs), ~2.3GHz硬盘: Model: ATA ST2000DM001-1ER1 SCSI Disk Device操作系统: Windows 7 旗舰版 64-bit (6.1, Build 7601) (7601.win7_gdr.101026-1503)Matlab版本:9.0.0.341360 (R2016a)四、实验步骤或过程1.在命令窗口依次输入下列命令,根据执行结果分析其功能:help在命令窗口输入后,会看到帮助的目录信息,如下图所示图 4 帮助的目录信息lookfor inv输入后会在命令窗口显示帮助中含有字母inv的函数和函数功能的列表。

图 5 帮助中含有字母inv的函数和函数功能help inv查找函数inv,并显示其帮助信息。

图 6查找函数invWhich inv显示函数保存的位置信息和类型。

图 7显示函数保存的位置信息和类型2.建立自己的工作目录,再将自己的工作目录设置到Matlab搜索路径下。

实验一 典型环节的MATLAB仿真

实验一  典型环节的MATLAB仿真

1. 比例环节

对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料电试力卷保相护互装作置用调与试相技互术关,系电,力根保通据护过生高管产中线工资敷艺料设高试技中卷术资配0料不置试仅技卷可术要以是求解指,决机对吊组电顶在气层进设配行备置继进不电行规保空范护载高高与中中带资资负料料荷试试下卷卷高问总中题体资,配料而置试且时卷可,调保需控障要试各在验类最;管大对路限设习度备题内进到来行位确调。保整在机使管组其路高在敷中正设资常过料工程试况中卷下,安与要全过加,度强并工看且作护尽下关可都于能可管地以路缩正高小常中故工资障作料高;试中对卷资于连料继接试电管卷保口破护处坏进理范行高围整中,核资或对料者定试对值卷某,弯些审扁异核度常与固高校定中对盒资图位料纸置试,.卷保编工护写况层复进防杂行腐设自跨备动接与处地装理线置,弯高尤曲中其半资要径料避标试免高卷错等调误,试高要方中求案资技,料术编试交写5、卷底重电保。要气护管设设装线备备置敷4高、调动设中电试作技资气高,术料课中并中3试、件资且包卷管中料拒含试路调试绝线验敷试卷动槽方设技作、案技术,管以术来架及避等系免多统不项启必方动要式方高,案中为;资解对料决整试高套卷中启突语动然文过停电程机气中。课高因件中此中资,管料电壁试力薄卷高、电中接气资口设料不备试严进卷等行保问调护题试装,工置合作调理并试利且技用进术管行,线过要敷关求设运电技行力术高保。中护线资装缆料置敷试做设卷到原技准则术确:指灵在导活分。。线对对盒于于处调差,试动当过保不程护同中装电高置压中高回资中路料资交试料叉卷试时技卷,术调应问试采题技用,术金作是属为指隔调发板试电进人机行员一隔,变开需压处要器理在组;事在同前发一掌生线握内槽图部内纸故,资障强料时电、,回设需路备要须制进同造行时厂外切家部断出电习具源题高高电中中源资资,料料线试试缆卷卷敷试切设验除完报从毕告而,与采要相用进关高行技中检术资查资料和料试检,卷测并主处且要理了保。解护现装场置设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。

工大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仿真技术》实验指导书2016附问题详解

《MATLAB仿真技术》实验指导书2016附问题详解

实验项目及学时安排实验一 MATLAB环境的熟悉与基本运算 2学时实验二 MATLAB数值计算实验 2学时实验三 MATLAB数组应用实验 2学时实验四 MATLAB符号计算实验 2学时实验五 MATLAB的图形绘制实验 2学时实验六 MATLAB的程序设计实验 2学时实验七 MATLAB工具箱Simulink的应用实验 2学时实验八 MATLAB图形用户接口GUI的应用实验 2学时实验一 MATLAB环境的熟悉与基本运算一、实验目的1.熟悉MATLAB开发环境2.掌握矩阵、变量、表达式的各种基本运算二、实验基本知识1.熟悉MATLAB环境:MATLAB桌面和命令窗口、命令历史窗口、帮助信息浏览器、工作空间浏览器、文件和搜索路径浏览器。

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

MATLAB运算符,通过下面几个表来说明MATLAB的各种常用运算符4.MATLAB的一维、二维数组的寻访表6 子数组访问与赋值常用的相关指令格式5.MATLAB的基本运算表7 两种运算指令形式和实质涵的异同表6.MATLAB的常用函数表8 标准数组生成函数表9 数组操作函数三、实验容1、学习使用help命令,例如在命令窗口输入help eye,然后根据帮助说明,学习使用指令eye(其它不会用的指令,依照此方法类推)2、学习使用clc、clear,观察command window、command history和workspace等窗口的变化结果。

3、初步程序的编写练习,新建M-file,保存(自己设定文件名,例如exerc1、exerc2、 exerc3……),学习使用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 仿真环境下,创建所需要的系统三、实验内容按下列各典型环节的传递函数,建立相应的SIMULINK 仿真模型,观察并记录其单位阶跃响应波形。

① 比例环节1)(1=s G 和2)(1=s G 实验处理:1)(1=s G SIMULINK 仿真模型波形图为:实验处理:2)(1=s G SIMULINK 仿真模型波形图为:实验结果分析:增加比例函数环节以后,系统的输出型号将输入信号成倍数放大.② 惯性环节11)(1+=s s G 和15.01)(2+=s s G 实验处理:11)(1+=s s GSIMULINK 仿真模型波形图为:实验处理:15.01)(2+=s s GSIMULINK 仿真模型波形图为:实验结果分析:当11)(1+=s s G 时,系统达到稳定需要时间接近5s,当15.01)(2+=s s G 时,行动达到稳定需要时间为2.5s,由此可得,惯性环节可以调节系统达到稳定所需时间,可以通过惯性环节,调节系统达到稳定输出的时间。

③ 积分环节s s G 1)(1=实验处理: SIMULINK 仿真模型实物图为:实验结果分析:由以上波形可以的出,当系统加入积分环节以后,系统的输出量随时间的变化成正比例增加。

实验一MATLAB编程环境及常用信号的生成及波形仿真

实验一MATLAB编程环境及常用信号的生成及波形仿真

实验⼀MATLAB编程环境及常⽤信号的⽣成及波形仿真实验⼀ MATLAB 编程环境及常⽤信号的⽣成及波形仿真⼀、实验⽬的1、学会运⽤Matlab 表⽰常⽤连续时间信号的⽅法2、观察并熟悉这些信号的波形和特性:3、实验内容:编程实现如下常⽤离散信号:单位脉冲序列,单位阶跃序列,矩形序列,实指数序列,正弦序列,复指数序列;⼆、实验原理及实例分析2、如何表⽰连续信号?从严格意义上讲,Matlab 数值计算的⽅法不能处理连续时间信号。

然⽽,可利⽤连续信号在等时间间隔点的取样值来近似表⽰连续信号,即当取样时间间隔⾜够⼩时,这些离散样值能被Matlab 处理,并且能较好地近似表⽰连续信号。

3、Matlab 提供了⼤量⽣成基本信号的函数。

如:(1)指数信号:K*exp(a*t)(2)正弦信号:K*sin(w*t+phi)和K*cos(w*t+phi)(3)复指数信号:K*exp((a+i*b)*t)(4)抽样信号:sin(t*pi)注意:在Matlab 中⽤与Sa(t)类似的sinc(t)函数表⽰,定义为:)t /()t (sin )t (sinc ππ=(5)矩形脉冲信号:rectpuls(t,width)(6)周期矩形脉冲信号:square(t,DUTY),其中DUTY 参数表⽰信号的占空⽐DUTY%,即在⼀个周期脉冲宽度(正值部分)与脉冲周期的⽐值。

占空⽐默认为0.5。

(7)三⾓波脉冲信号:tripuls(t, width, skew),其中skew 取值范围在-1~+1之间。

(8)周期三⾓波信号:sawtooth(t, width)(9)单位阶跃信号:y=(t>=0)常⽤的图形控制函数1)学习clc, dir(ls), help, clear, format,hold, clf控制命令的使⽤和M⽂件编辑/调试器使⽤操作;2)主函数函数的创建和⼦程序的调⽤;3)plot,subplot, grid on, figure, xlabel,ylabel,title,hold,title,Legend,绘图函数使⽤;axis([xmin,xmax,ymin,ymax]):图型显⽰区域控制函数,其中xmin为横轴的显⽰起点,xmax为横轴的显⽰终点,ymin为纵轴的显⽰起点,ymax为纵轴的显⽰终点。

MATLAB实验指导书(第一次实验)

MATLAB实验指导书(第一次实验)

************************ MATLAB上机指导书************************昆明理工大学机电学院刘孝保2013年3月实验一 MATLAB 工作环境熟悉及简单命令的执行一、实验目的:熟悉MATLAB 的工作环境,学会使用MATLAB 进行一些简单的运算。

二、实验内容:MATLAB 的启动和退出,熟悉MATLAB 的桌面(Desktop ),包括菜单(Menu )、工具条 (Toolbar )、命令窗口(Command Window)、历史命令窗口、工作空间(Workspace)等;完成一些基本的矩阵操作;学习使用在线帮助系统。

三、实验步骤:1、启动MATLAB ,熟悉MATLAB 的桌面。

2、在命令窗口执行命令完成以下运算,观察workspace 的变化,记录运算结果。

(1)(365-52⨯2-70)÷3 (2)>>area=pi*2.5^2(3)已知x=3,y=4,在MATLAB 中求z :()232y x y x z -= (4)将下面的矩阵赋值给变量m1,在workspace 中察看m1在内存中占用的字节数。

m1=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡11514412679810115133216 执行以下命令 >>m1( 2 , 3 ) >>m1( 11 ) >>m1( : , 3 )>>m1( 2 : 3 , 1 : 3 )>>m1( 1 ,4 ) + m1( 2 ,3 ) + m1( 3 ,2 ) + m1( 4 ,1) (5)执行命令>>help abs查看函数abs 的用法及用途,计算abs( 3 + 4i ) (6)执行命令>>x=0:0.1:6*pi; >>y=5*sin(x); >>plot(x,y)(6)运行MATLAB 的演示程序,>>demo ,以便对MATLAB 有一个总体了解。

自动控制原理MATLAB仿真实验指导书(4个实验)

自动控制原理MATLAB仿真实验指导书(4个实验)

自动控制原理MATLAB仿真实验实验指导书电子信息工程教研室实验一典型环节的MA TLAB仿真一、实验目的1.熟悉MATLAB桌面和命令窗口,初步了解SIMULINK功能模块的使用方法。

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

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

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

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

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

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

图1-1 SIMULINK仿真界面图1-2 系统方框图3.在simulink仿真环境下,创建所需要的系统。

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

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

2)改变模块参数。

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

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

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

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

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

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

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

试验一 熟悉MATLAB环境(实验报告)

试验一  熟悉MATLAB环境(实验报告)

试验一熟悉MATLAB环境(实验报告)一、实验目的(1) 熟悉MA TLAB的主要操作命令;(2) 学会简单的短阵输入和数据读写;(3) 掌握简单的绘图命令;(4) 用MATLAB编程井学会创建函数;(5) 观察离散系统的频率响应。

二、实验内容认真阅读本章附录,在MATLAB环境下重新做一遍附录中的例子,体会各条命令的含义。

在熟悉了MATLAB的基本命令的基础上,完成以下实验。

上机实验内容:(1)数组的加、减、乘、除和乘方运算。

输入A=[1 2 3 4],B=[3 4 5 6],求C=A+B,D=A-B,E=A.*B,F=A./B,G=A.^B并用stem语句画出A、B、C、D、E、F、G。

>> A=[1 2 3 4];>> B=[3 4 5 6];>>C=A+B>> D=A-B>> E=A.*B>> F=A./B>>G=A.^B>> subplot(3,3,1);stem(A);>> subplot(3,3,2);stem(B);>> subplot(3,3,3);stem(C);>> subplot(3,3,4);stem(D);>> subplot(3,3,5);stem(E);>> subplot(3,3,6);stem(F);>> subplot(3,3,7);stem(G);(2)用MATLAB 实现下列序列:a )()0.8n x n = 015n ≤≤n=[0:15];>> a=0.8;>> x=a.^nb )()3cos(0.1250.2)2sin(0.250.1)x n n n ππππ=+++ 015n ≤≤>> n=[0:15];>> x=3*cos(0.125*pi*n+o.2*pi)+2*sin(0.25*pi*n+0.1*pi)(3)用plot 函数绘制二维图形:a) y=sin(πt)+1/cos(πt)+2t=0.1:0.001:10;y=(sin(pi*t)+1)./(cos(pi*t)+2);plot(t,y);xlabel('t');ylabel('y');(4) 在n=[-10;10]范围内画出以下信号:a) x1(n)= δ(n+2)n1=-10;n2=10;n0=-2;n=n1:n2;x=[n==n0]; stem(n,x,'filled');b) x2(n)=δ(n-4)n1=-10;n2=10;n0=4;n=n1:n2;x=[n==n0];stem(n,x,'filled');c) x3(n)=2δ(n+2) -δ(n-4)n1=-10;n2=10;n01=4;n02=-2; n=n1:n2;x1=[n==n01];x2=[n==n02]; x=2*x2-x1;stem(n,x,'filled');(5)产生复信号,并画出其实部与虚部及幅度和相位:a)x1(n)=ej (π/8 )n 0≤n≤32b) x1(n)=e(-0.1+j0.3)nn1=[0:32];n2=[-10:10];x1=exp(j*(pi/8)*n1);x2=exp((-0.1+j*0.3)*n2);re1=real(x1);im1=imag(x1);a1=abs(x1);th1=angle(x1);subplot(3,3,1);stem(re1);subplot(3,3,2);stem(im1);subplot(3,3,3);stem(a1);subplot(3,3,4);stem(th1);re2=real(x2);im2=imag(x2);a2=abs(x2);th2=angle(x2);subplot(3,3,5);stem(re2);subplot(3,3,6);stem(im2);subplot(3,3,7);stem(a2);subplot(3,3,8);stem(th2);(6) 利用conv函数计算序列{8 -2 -1 2 3}和序列{2 3 -1 -3}的卷积,并作图表示卷积结果f1=[8,-2,-1,2,3];f2=[2,3,-1,-3];y=conv(f1,f2);stem(y,'filled');(三)、思考题(1)对于两个子系统级联或并联的系统,如何用matlab计算它们的幅频响应与相频相应?答:级联转换为直接型:cas2dir,并联转换为直接型:par2dir然后应用freqz的函数。

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

实验一matlab仿真环境一、实验目的1、熟悉和掌握常用的用于信号与系统时域仿真分析的MA TLAB函数;2、掌握连续时间和离散时间信号的MA TLAB产生,掌握用周期延拓的方法将一个非周期信号进行周期信号延拓形成一个周期信号的MATLAB编程;3、牢固掌握系统的单位冲激响应的概念,掌握函数的编程方法;基本要求:掌握用MA TLAB描述连续时间信号和离散时间信号的方法,能够编写MATLAB程序,并且以图形的方式再现各种信号的波形。

二、实验原理信号(Signal)一般都是随某一个或某几个独立变量的变化而变化的,例如,温度、压力、声音,还有股票市场的日收盘指数等,这些信号都是随时间的变化而变化的,还有一些信号,例如在研究地球结构时,地下某处的密度就是随着海拔高度的变化而变化的。

一幅图片中的每一个象素点的位置取决于两个坐标轴,即横轴和纵轴,因此,图像信号具有两个或两个以上的独立变量。

在《信号与系统》课程中,我们只关注这种只有一个独立变量(Independent variable)的信号,并且把这个独立变量统称为时间变量(Time variable),不管这个独立变量是否是时间变量。

在自然界中,大多数信号的时间变量都是连续变化的,因此这种信号被称为连续时间信号(Continuous-Time Signals)或模拟信号(Analog Signals),例如前面提到的温度、压力和声音信号就是连续时间信号的例子。

但是,还有一些信号的独立时间变量是离散变化的,这种信号称为离散时间信号。

前面提到的股票市场的日收盘指数,由于相邻两个交易日的日收盘指数相隔24小时,这意味着日收盘指数的时间变量是不连续的,因此日收盘指数是离散时间信号。

1. 信号的时域表示方法1.1将信号表示成独立时间变量的函数例如x(t)=sin(ωt) 和x[n]=n(0.5)n u[n]分别表示一个连续时间信号和一个离散时间信号。

在MA TLAB中有许多内部函数,可以直接完成信号的这种表达,例如:sin():正弦信号cos():余弦信号exp():指数信号1.2用信号的波形图来描述信号用函数曲线表示一个信号,图1.1就是一个连续时间信号和一个离散时间信号的波形图。

图1.1 连续时间信号与离散时间信号的波形图1.3将信号用一个数据序列来表示对于离散时间信号,还可以表示成一个数的序列,例如:x[n]={...., 0.1, 1.1, -1.2, 0, 1.3, ….}↑n=0在《信号与系统》和《数字信号处理》课程中,上述三种信号的描述方法是经常要使用的。

2 用MATLAB仿真连续时间信号和离散时间信号在MATLAB中,无论是连续时间信号还是离散时间信号,MATLAB都是用一个数字序列来表示信号,这个数字序列在MATLAB中叫做向量(vector)。

通常的情况下,需要与时间变量相对应。

如前所述,MA TLAB有很多内部数学函数可以用来产生这样的数字序列,例如sin()、cos()、exp()等函数可以直接产生一个按照正弦、余弦或指数规律变化的数字序列。

2.1连续时间信号的仿真程序Program1_1是用MATLAB对一个正弦信号进行仿真的程序,请仔细阅读该程序,并在计算机上运行,观察所得图形。

% Program1_1% This program is used to generate a sinusoidal signal and draw its plotclear, % Clear all variablesclose all, % Close all figure windowsdt = 0.01; % Specify the step of time variablet = -2:dt:0.2; % Specify the interval of timex = sin(2*pi*t); % Generate the signalplot(t,x) % Open a figure window and draw the plot of x(t)title('Sinusoidal signal x(t)')xlabel('Time t (sec)')常用的图形控制函数axis([xmin,xmax,ymin,ymax]):图型显示区域控制函数,其中xmin为横轴的显示起点,xmax为横轴的显示终点,ymin为纵轴的显示起点,ymax为纵轴的显示终点。

有时,为了使图形具有可读性,需要在所绘制的图形中,加上一些网格线来反映信号的幅度大小。

MA TLAB中的grid on/grid off可以实现在你的图形中加网格线。

grid on :在图形中加网格线。

grid off :取消图形中的网格线。

x = input(‘Type in signal x(t) in closed form:’)在《信号与系统》课程中,单位阶跃信号u(t) 和单位冲激信号δ(t) 是二个非常有用的信号。

它们的定义如下0,0)(1)(≠==⎰∞-∞=t t dt t t δδ 1.1(a) ⎩⎨⎧≤>=0,00,1)(t t t u 1.1(b)这里分别给出相应的简单的产生单位冲激信号和单位阶跃信号的扩展函数。

产生单位冲激信号的扩展函数为:function y = delta(t)dt = 0.01;y = (u(t)-u(t-dt))/dt;产生单位阶跃信号的扩展函数为:% Unit step functionfunction y = u(t)y = (t>=0); % y = 1 for t > 0, else y = 0请将这二个MA TLAB 函数分别以delta 和u 为文件名保存在work 文件夹中,以后,就可以像教材中的方法使用单位冲激信号δ(t) 和单位阶跃信号u(t)。

2.2离散时间信号的仿真程序Program1_2用来产生离散时间信号x[n]=sin(0.2πn)。

% Program1_2% This program is used to generate a discrete-time sinusoidal signal and draw its plotclear, % Clear all variablesclose all, % Close all figure windowsn = -10:10; % Specify the interval of timex = sin(0.2*pi*n); % Generate the signalstem (n,x) % Open a figure window and draw the plot of x[n]title ('Sinusoidal signal x[n]')xlabel ('Time index n')请仔细阅读该程序,比较程序Program1_1和Program1_2中的不同之处,以便自己编程时能够正确使用这种方法方针连续时间信号和离散时间信号。

程序Program1_3用来仿真下面形式的离散时间信号:x[n]={...., 0.1, 1.1, -1.2, 0, 1.3, ….}↑n=0% Program1_3% This program is used to generate a discrete-time sequence% and draw its plotclear, % Clear all variablesclose all, % Close all figure windowsn = -5:5; % Specify the interval of time, the number of points of n is 11.x = [0, 0, 0, 0, 0.1, 1.1, -1.2, 0, 1.3, 0, 0]; % Generate the signalstem(n,x,'.') % Open a figure window and draw the plot of x[n]grid on,title ('A discrete-time sequence x[n]')xlabel ('Time index n')由于在程序的stem(n,x,'.') 语句中加有'.'选项,因此绘制的图形中每根棒条线的顶端是一个实心点。

如果需要在序列的前后补较多的零的话,可以利用函数zeros(),其语法为:zeros(1, N):圆括号中的1和N 表示该函数将产生一个一行N 列的矩阵,矩阵中的所有元素均为零。

利用这个矩阵与序列x[n]进行组合,从而得到一个长度与n 相等的向量。

例如,当 x[n]={ 0.1, 1.1, -1.2, 0, 1.3} 时,为了得到程序Program1_3中的序列, ↑n=0可以用这个MA TLAB 语句x = [zeros(1,4) x zeros(1, 2)] 来实现。

用这种方法编写的程序如下:% Program1_4% This program is used to generate a discrete-time sinusoidal signal% and draw its plotclear, % Clear all variablesclose all, % Close all figure windowsn = -5:5; % Specify the interval of timex = [zeros(1,4), 0.1, 1.1, -1.2, 0, 1.3, zeros(1,2)]; % Generate the sequencestem (n,x,'.') % Open a figure window and draw the plot of x[n]grid on,title ('A discrete-time sequence x[n]')xlabel ('Time index n')离散时间单位阶跃信号u[n]定义为⎩⎨⎧<≥=0,00,1][n n n u 1.2离散时间单位阶跃信号u[n]除了也可以直接用前面给出的扩展函数来产生,还可以利用MATLAB 内部函数ones(1,N) 来实现。

这个函数类似于zeros(1,N),所不同的是它产生的矩阵的所有元素都为1。

值得注意的是,利用ones(1,N) 来实现的单位阶跃序列并不是真正的单位阶跃序列,而是一个长度为N 单位门(Gate)序列,也就是u[n]-u[n-N]。

相关文档
最新文档