2017年-matlab实验内容

合集下载

实验一 MATLAB基本操作及运算(含实验报告)

实验一 MATLAB基本操作及运算(含实验报告)

实验一 MATLAB基本操作及运算(含实验报告)实验一matlab基本操作及运算(含实验报告)实验一matlab基本操作及运算一、实验目的1、理解matlab数据对象的特点;2、掌握基本matlab运算规则;3、掌握matlab帮助的使用方法;二、实验的设备及条件计算机一台(带有matlab7.0以上的软件环境)。

三、实验内容要求建立一个名为experiment01.m的,把与实验内容1-7相关的实验命令都放入该文件中,题与题之间用相应注释分割。

注意对实验中出现的相关函数或变量,请使用help 或doc查询相关帮助文档,学习函数的用法。

1、创建以下标量:1)a=102)b=2.5×10233)c=2+3i,(i为虚数单位)4)d=ej2?/3,(j为虚数单位,这里要用到exp,pi)2、建立以下向量:1)avec=[3.1415926]2.7182)bvec=??28182??3)cvec=[54.8…-4.8-5](向量中的数值从5到-5,步长为-0.2)4)dvec=[100100.01…100.99101](产生1至10之间的等对数间隔向量,参照logspace,特别注意向量的长度)3、建立以下矩阵:221)amat2?2??amat一个9×9的矩阵,其元素全系列为2;(参照ones或zeros)10??10??0?02)bmat050??0?0?01??0?bmat是一个9×9的矩阵,除主对角上的元素为[123454321]外,其余元素均为0。

(参考diag)。

111?129192?2?3)cmat?1020?100cmat为一个10×10的矩阵,可有1:100的向量来产生(参考reshape)nan4)dmatnan??nannannannannannannannan?nan??nan??dmat为3×4的nan矩阵,(参照nan)13155)emat2210?87?6)产生一个5×3随机整数矩阵fmat,其值的范围在-3到3之间。

MATLAB实验指导书(共5篇)

MATLAB实验指导书(共5篇)

MATLAB实验指导书(共5篇)第一篇:MATLAB实验指导书MATLAB 实验指导书皖西学院信息工程学院实验一 MATLAB编程环境及简单命令的执行一、实验目的1.熟悉MATLAB编程环境二、实验环境1.计算机2.MATLAB7.0集成环境三、实验说明1.首先应熟悉MATLAB7.0运行环境,正确操作2.实验学时:2学时四、实验内容和步骤1.实验内容(1)命令窗口的使用。

(2)工作空间窗口的使用。

(3)工作目录、搜索路径的设置。

(4)命令历史记录窗口的使用。

(5)帮助系统的使用。

(6)了解各菜单的功能。

2.实验步骤(1)启动MATLAB,熟悉MATLAB的桌面。

(2)进入MATLAB7.0集成环境。

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

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

⎡162313⎤⎢511108⎥⎥m1=⎢⎢97612⎥⎢⎥414151⎣⎦执行以下命令>>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)执行命令>>helpabs 查看函数abs的用法及用途,计算abs(3 + 4i)6)执行命令>>x=0:0.1:6*pi;>>y=5*sin(x);>>plot(x,y)7)运行MATLAB的演示程序,>>demo,以便对MATLAB有一个总体了解。

五、思考题1、以下变量名是否合法?为什么?(1)x2(2)3col(3)_row (4)for2、求以下变量的值,并在MATLAB中验证。

!实验指导—信号分析及MATLAB实现2017版(正版)

!实验指导—信号分析及MATLAB实现2017版(正版)

福建工程学院《工程测试技术基础—信号分析MATLAB实验指导书》姓名学号成绩机电一体化教研室2017年3月前言长期以来,《测试技术基础—信号分析》课程一直采用单一理论教学方式,同学们依靠做习题来巩固和理解教学内容,虽然手工演算训练了计算能力和思维方法,但是由于本课程数学公式推导较多,概念抽象,常需画各种波形,作题时难免花费很多时间,现在,我们给同学们介绍一种国际上公认的优秀科技应用软件MATLAB,借助它我们可以在电脑上轻松地完成许多习题的演算和波形的绘制。

MATLAB的功能非常强大,我们此处仅用到它的一部分,在后续课程中我们还会用到它,在未来地科学研究和工程设计中有可能继续用它,所以有兴趣的同学,可以对MATLAB再多了解一些。

MATLAB究竟有那些特点呢?1.高效的数值计算和符号计算功能,使我们从繁杂的数学运算分析中解脱出来;2.完备的图形处理功能,实现计算结果和编程的可视化;3.友好的用户界面及接近数学表达式的自然化语言,易于学习和掌握;4.功能丰富的应用工具箱,为我们提供了大量方便实用的处理工具;MATLAB的这些特点,深受大家欢迎,由于个人电脑地普及,目前许多学校已将它做为本科生必须掌握的一种软件。

正是基于这些背景,我们编写了这本《信号与系统及MA TLAB实现》指导书,内容包括信号的MATLAB表示、基本运算、系统的时域分析、频域分析、S域分析、状态变量分析等。

通过这些练习,同学们在学习《测试技术基础—信号分析章节》的同时,掌握MATLAB的基本应用,学会应用MATLAB 的数值计算和符号计算功能,摆脱烦琐的数学运算,从而更注重于信号与系统的基本分析方法和应用的理解与思考,将课程的重点、难点及部分习题用MA TLAB进行形象、直观的可视化计算机模拟与仿真实现,加深对信号与系统的基本原理、方法及应用的理解,为学习后续课程打好基础。

另外同学们在进行实验时,最好事先预习一些MATLAB的有关知识,以便更好地完成实验,同时实验中也可利用MATLAB的help命令了解具体语句以及指令的使用方法。

matlab操作实验报告

matlab操作实验报告

matlab操作实验报告一、实验目的1、学会使用matlab建立.m文件。

2、学会二机五节点的潮流计算计算原理。

3、学会使用matlab命令窗编写程序。

4、学会潮流计算的matlab的程序。

5、学会matlab中simulink模块库的模型用法。

二、实验原理潮流分布(1)描述电力系统运行状态的技术术语,它表明电力系统在某一确定运行方式和接线方式下,系统从电源经网络到负荷各处的电压、电流、功率的大小和方向的分布情况。

(2)电力系统潮流分布主要取决于负荷的分布、电力网参数、以及和供电电源之间的关系。

潮流计算的方法1)建立描述电力系统运行状态的数学模型;2)确定解算数学模型的方法;3)制定程序框图,编写计算机计算程序,并进行计算;4)对计算结果进行分析。

对图1所示电力系统拓扑图进行潮流计算该拓扑图为2机5节点的系统应用Matpower计算潮流技巧的核心在于输入好三个矩阵和部分参数,清晰的知道输入参数、矩阵中每一个元素的含义。

参数一、MATPOWER CaseFormat:Version2mpc.version='2';解释:目前普遍采用2形式的算法。

参数二、system MVA base mpc.baseMVA=100;解释:采用有铭值图1mpc.baseMVA=100;(Matpower只能计算有铭值得网络)矩阵一%%bus data %bus_i type Pd Qd Gs Bs area Vm Va baseKV zone Vmax Vmin解释:bus data母线参数也就是我们所说的节点参数,下面逐条注释:1bus number(positive integer):第一列表示节点的编号(括号里面注释正整数); 2bus type:第二列表示节点的类型,一般只用得到1、2、3三种节点类型,4类型的节点目前没有接触到。

PQ bus=1PV bu=2reference bus=3isolated bu=43Pd,(MW):表示负荷所需要的有功功率(所有数据都是正数)(有铭值)。

Matlab实验报告

Matlab实验报告

实验结果及分析实验1:程序如下x=1:10y=2*x;plot(x,y)仿真结果:实验结果分析:仿真结果是条很规则的直线,X轴和Y轴一一对应,清楚明了,而序又特别简单。

所以用Maltab 软件很方便地画出规则的直线,方便研究。

实验结果及分析1、A=2、A=1A=实验结果及分析实验三 Matlab在信号与系统中的应用实验名称实验1、掌握信号与系统课程中基本知识的Matlab编程、仿真方法目的实验原理实验1程序:b=[1];a=[1 1];p=;t=0:p:5;x=exp(-3*t);subplot(1,2,1);impulse(b,a,0:p:5);title('冲激响应');subplot(1,2,2);step(b,a,0:p:5);title('阶跃响应');实验内容<设计性实验>1、用MATLAB在时域中编程求解y′(t)+y(t)=f(t), f(t)= exp(-3t)ε(t)的冲激响应、阶跃响应。

在simulink仿真环境下,设计系统框图,分析系统的冲激响应、阶跃响应。

<设计性实验>(选做)2、用MATLAB在时域中编程求解y′(t)+y(t)=f(t), f(t)=(1+exp(-3t))ε(t)的冲激响应、阶跃响应,要求用conv编程实现系统响应。

在simulink仿真环境下,设计系统框图,分析系统的冲激响应、阶跃响应。

实验结果及分析实验1仿真结果:simulink仿真环境下冲激响应阶跃响应实验名称实验四 Matlab在数字信号处理中的应用实验结果及分析实验1仿真结果:6khz12kHZ。

matlab实验报告

matlab实验报告

matlab实验报告Matlab实验报告实验题目:利用Matlab进行数据处理与分析实验目的:通过使用Matlab进行数据处理与分析的实践,掌握Matlab的基本操作和数据处理的方法。

实验内容:1. 数据读取:从文件中读取原始数据,并进行初步的观察和分析。

2. 数据清洗:对原始数据进行清洗,包括去除空值、异常值等。

3. 数据可视化:利用Matlab的绘图函数,将数据可视化呈现,以方便对数据进行进一步的分析和理解。

4. 数据分析:对清洗后的数据进行统计分析,包括求平均值、方差、相关系数等。

5. 模型建立:根据数据分析的结果,建立合适的数学模型,并使用Matlab进行参数估计和模型验证。

6. 结果验证:利用实验数据和模型进行实验结果的对比,验证模型的准确性和可靠性。

实验步骤:1. 准备实验数据:从实验样本中获得原始数据,并将其存储为文本文件。

2. 使用Matlab导入数据:使用Matlab的数据导入函数,将文本文件中的数据导入到Matlab的工作空间中。

3. 数据分析与处理:使用Matlab的数据处理函数,对导入的数据进行清洗和处理,去除异常值和空值,并进行初步的数据观察和分析。

4. 数据可视化:利用Matlab的绘图函数,绘制数据的直方图、散点图、折线图等,以展示数据的分布和趋势。

5. 数据统计分析:使用Matlab的统计分析函数,对处理后的数据进行统计分析,包括计算平均值、方差、相关系数等。

6. 模型建立与验证:根据数据分析的结果,建立合适的数学模型,并使用Matlab进行参数估计和模型验证。

7. 结果对比和讨论:将实验结果与模型预测结果进行对比,并进行结果的讨论和分析。

8. 实验结论:总结实验结果并给出结论。

实验结果:根据实验数据的分析和处理,得出如下结论:1. 数据呈现正态分布,符合正态性假设。

2. 数据之间存在显著的正相关关系,相关系数为0.8,结果具有统计学意义。

3. 建立的数学模型与实验数据拟合良好,模型预测结果与实验结果吻合度高。

实验1 Matlab基本操作

实验1 Matlab基本操作

实验1 Matlab基本操作一、实验目的1、熟悉MATLAB的实验环境;2、了解MATLAB产品族及主要功能;3、掌握MATLAB通用指令和常用快捷键;4、掌握MATLAB帮助系统。

二、实验原理MATLAB环境是一种为数值计算、数据分析和图形显示服务的交互式的环境。

MATLAB有3种窗口,即:命令窗口(The Command Window)、m-文件编辑窗口(The Edit Window)和图形窗口(The Figure Window),而Simulink另外又有Simulink模型编辑窗口。

1、命令窗口(The Command Window)当MATLAB启动后,出现的最大的窗口就是命令窗口。

用户可以在提示符“>>”后面输入交互的命令,这些命令就立即被执行。

在MATLAB中,一连串命令可以放置在一个文件中,不必把它们直接在命令窗口内输入。

在命令窗口中输入该文件名,这一连串命令就被执行了。

因为这样的文件都是以“.m”为后缀,所以称为m-文件。

2、m-文件编辑窗口(The Edit Window)我们可以用m-文件编辑窗口来产生新的m-文件,或者编辑已经存在的m-文件。

在MATLAB主界面上选择菜单“File/New/M-file”就打开了一个新的m-文件编辑窗口;选择菜单“File/Open”就可以打开一个已经存在的m-文件,并且可以在这个窗口中编辑这个m-文件。

3、图形窗口(The Figure Window)图形窗口用来显示MATLAB程序产生的图形。

图形可以是2维的、3维的数据图形,也可以是照片等。

三、系统的在线帮助help 命令①当不知系统有何帮助内容时,可直接输入help以寻求帮助:>> help(回车)②当想了解某一主题的内容时,如输入:>> help syntax (了解Matlab的语法规定)③当想了解某一具体的函数或命令的帮助信息时,如输入:>> help sqrt (了解函数sqrt的相关信息)lookfor命令现需要完成某一具体操作,不知有何命令或函数可以完成,如输入:>> lookfor line (查找与直线、线性问题有关的函数)四、实验内容1、运行 MATLAB 软件,观察 MATLAB 桌面环境的组成部分,设置不同的显示方式以及字体;2、观察 Launch Pad 中的内容,了解 MATLAB 产品族和常用工具箱;3、在命令窗口中输入demo,观察 MATLAB 自带的演示程序;4、练习使用 MATLAB 通用指令clear,clc, exit,quit,dir,ls,what,diary,format;5、在命令窗口或 M 文件编辑器中练习如下快捷键的使用:1) 上下方向键(直接使用和索引使用两种方式);2) Tab键;3) Home键;4) End键;5) Ctrl+R;6) Ctrl+T;7) Ctrl+I。

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实验报告3(1)

MATLAB实验报告3(1)

四、实验内容与步骤:1.绘制下列曲线.(1) y=x-(x^3)/6程序输入如下:fplot('x-(x^3)/6',[-5,5],'r.');程序输出:(2) x^2+2*y^2=64程序输入如下:ezplot(' x^2+2*y^2-64',[-8,8])程序输出:2.设y=1/(1+exp(-t)) –pi<=t<=pi在同一图形窗口采用子图的形式绘制条形图阶梯图杆图和对数坐标图等不同图形,并对不同图形加标注说明.程序输入如下:t=-pi:pi/10:pi;y=1./(1+exp(-t));subplot(2,2,1);bar(t,y,'r');title('条形图');axis([-4,4,0,1]);subplot(2,2,2);stairs(t,y,'b');title('阶梯图');axis([-4,4,0,1]);subplot(2,2,3);stem(t,y,'g');title('杆图');axis([-4,4,0,1]);subplot(2,2,4);semilogx(t,y,'k');title('对数坐标图');axis([-4,4,0,1]);程序输出:3.绘制下列极坐标图.(1) y=5*cos(x)+4(2) y=(5*sin(x)*sin(x))/cos(x) (1)程序输入:x=0:pi/50:2*pi;y=5*cos(x)+4;polar(x,y,'-*');程序输出:(2)程序输入:x=-pi/3:pi/50:pi/3;y=(5.*sin(x).*sin(x))./cos(x);polar(x,y,'-*');程序输出:4.绘制下列三维图形(1)x=exp(-t/20).*cos(t)y=exp(-t/20).*sin(t)z=t0<=t<=2*pi(2)z=5abs(x)<=5abs(y)<=5要求应用插值着色处理(1)程序输入:t=0:pi/10:2*pi;x=exp(-t/20).*cos(t);y=exp(-t/20).*sin(t);z=t;plot3(x,y,z);title('三维图形4-1');xlabel('x');ylabel('y');zlabel('z'); grid on;程序输出:(2)程序输入:[x,y]=meshgrid(-5:0.5:5); z=0*(x-y)+5;surf(x,y,z);shading interp;title('三维图形4-2');程序输出:五、实验总结:2.绘制下列曲线,(1) y=exp(-x*x/2)/(2*pi)程序输入:fplot('exp(-x*x/2)/(2*pi)',[0,5],'r.')程序输出:(2) x=t*sin(t)y=t*cos(t)程序输入:t=0:0.1:2*pi;x=t.*sin(t);y=t.*cos(t);plot(x,y);程序输出:3.在同一坐标轴中绘制下列两条曲线并标注两曲线交叉点(1) y=2*x-0.5(2) x=sin(3*t).*cos(t)y= sin(3*t).*sin(t)0<=t<=pi程序输入:t=0:pi/100:pi;x=sin(3*t).*cos(t);y2=sin(3*t).*sin(t);y1=2*x-0.5;plot(x,y1,'m',x,y2,'g');hold onk=find(abs(y2-y1)<1e-4);x1=x(k);y3=2*x1-0.5;plot(x1,y3,'bp');程序输出:4.分别用plot和fplot函数绘制函数y=sin(1/x)的曲线,分析两曲线的差别程序输入:x=-1:pi/100:1;y=sin(1./x);subplot(2,1,1);plot(x,y,'g');subplot(2,1,2);fplot('sin(1./x)',[-1,1],'m');程序输出:两曲线的差别plot函数在取数据点时一般都是等间隔采样,fplot函数可自适应地对函数进行采样,能更好的反应函数的变化规律6.绘制曲面图形(1)x=3*u*sin(v)y=2*u*cos(v)z=4*u*u程序输入:[u,v]=meshgrid(0:pi/100:2*pi);x=3*u.*sin(v);y=2*u.*cos(v);z=4*u.*u;mesh(x,y,z);程序输出:严重觉得对细节方面很重要,,差一个点就能导致整个程序的不能运行。

MATLAB实验报告_8

MATLAB实验报告_8

实验一基本操作和简单语句输入一、实验环境计算机MATLAB软件二、实验目的1.熟悉MA TLAB的命令窗口。

2、掌握MATLAB的一些基本操作, 能够进行一般的数值计算。

3.实现语句的重调和修改。

三、实验内容与步骤1.启动MA TLAB2.观察MA TLAB窗口的各个组成部分(1)了解菜单栏各窗口项的功能, 用鼠标打开MA TLAB的各个菜单, 在状态栏里显示当前鼠标所指的菜单项的含义。

(2)用鼠标指向常用工具栏的每个工具按钮, 了解各工具按钮的含义。

3.命令窗口的打开和关闭(1)查看菜单窗口中有哪些菜单命令。

(2)在命令窗口中输入命令a=3;b=4;y=a*b+a/b, 然后回车, 查看命令显示结果。

>> a=3;b=4;y=a*b+a/b,y =12.7500(3)利用MA TLAB中编辑命令时常用的按键功能, 调用上一个语句, 对它进行修改(如把分号改成逗号, 看运行结果), 并把运行结果复制到word中保存。

>> a=3,b=4,y=a*b+a/b,a =3b =4y =12.7500(4)关闭命令窗口。

(5)打开命令窗口。

4.使用MA TLAB帮助熟悉MATLAB的帮助系统, 通过帮助系统了解有关内容。

5、在命令窗口中输入demo, 将出现MA TLAB的演示窗, 通过演示窗, 对MATLAB的功能进行一次浏览。

四、练习1.计算y=x^3+(x-0.98)^2/(x+1.25)^3-5*(x+1/x), x=2, x=3时的值。

>> x=2;y=x^3+(x-0.98)^2/(x+1.25)^3-5*(x+1/x)y =-4.4697>> x=3;y=x^3+(x-0.98)^2/(x+1.25)^3-5*(x+1/x)y =10.38652.计算cos(pi/3)-sqrt(9-sqrt(2))>> cos(pi/3)-sqrt(9-sqrt(2))ans =-2.25423.已知: a=3,A=4,b=a^2,B=b^2-1,c=a+A-2*B,C=a+B+2*c, 求: C>> a=3;A=4;b=a^2;B=b^2-1;c=a+A-2*B;C=a+B+2*cC =-2234.复数z1=1+3*i,z2=1+2*i,z3=2*exp((pi/6)*i),求z=(z1*z2)/z3>> z1=1+3*i;z2=1+2*i;z3=2*exp((pi/6)*i);z=(z1*z2)/z3z =-0.9151 + 3.4151i实验二矩阵和数组的操作一、实验环境计算机MATLAB软件二、实验目的1.掌握矩阵和数组的一般操作, 包括创建、保存、修改和调用等。

MATLAB实验教案5篇

MATLAB实验教案5篇

MATLAB实验教案5篇第一篇:MATLAB实验教案实验一离散系统的时域分析和复频域分析1.实验目的(1)掌握在时域求系统响应的方法。

(2)掌握时域离散系统的时域特性。

(3)通过实验判断系统稳定性(4)掌握利用Z变换对系统进行复频域分析。

(5)掌握系统零、极点的绘制方法。

(6)通过复频域分析系统稳定性、频率特性。

(7)熟悉Z变换的应用2.实验设备λ计算机λ MATLAB R2012a仿真软件3.实验原理(1)离散系统的时域分析在时域中,描写系统特性的方法是差分方程和单位脉冲响应,在频域可以用系统函数描述系统特性。

已知输入信号可以由差分方程、单位脉冲响应或系统函数求出系统对于该输入信号的响应,利用filter 函数或conv函数计算输入信号和系统的单位脉冲响应的线性卷积,求出系统的响应。

系统的时域特性是指系统的线性移不变性质、因果性和稳定性。

重点分析实验系统的稳定性,包括观察系统的暂态响应和稳定响应。

系统的稳定性是指对任意有界的输入信号,系统都能得到有界的系统响应,或者系统的单位脉冲响应满足绝对可和的条件。

系统的稳定性由其差分方程的系数决定。

实际中检查系统是否稳定,不可能检查系统对所有有界的输入信号、输出是否都是有界输出,或者检查系统的单位脉冲响应满足绝对可和的条件。

可行的方法是在系统的输入端加入单位阶跃序列,如果系统的输出趋近一个常数(包括零),就可以断定系统是稳定的。

系统的稳态输出是指当n→∞时系统的输出。

如果系统稳定,信号加入系统后,系统输出的开始一段称为暂态效应,随着n的加大,幅度趋于稳定,达到稳态输出。

注意在以下实验中均假设系统的初始状态为零。

(2)离散系统的复频域分析离散系统的时域方程为∑dk=0Nky(n-k)=x(n-k)∑pkK=0∞M其变换域分析如下y(n)=x(n)*h(n)=频域系统频率响应为m=-∞∑x(m)h(n-m)⇔Y(e)=X(e)H(e)jωjωjωH(e)=Z域 jωY(e)X(e)jωjωy(n)=x(n)*h(n)=系统的转移函数为m=-∞∑x(m)h(n-m)⇔Y(z)=Y(z)X(Z)-i∞X(z)H(z)H(z)=0分解因式H(z)i=N∑pkz∑dkzi=0M=K-i X(1-ξX(1-i=1i=1NMiz-1)),其中,ξ和iλzi-1λi称为零、极点。

信号与系统MATLAB实验

信号与系统MATLAB实验

2016-2017学年第一学期信号与系统实验报告班级:姓名:学号:成绩:指导教师:实验一 常见信号的MATLAB 表示及运算一.实验目的1.熟悉常见信号的意义、特性及波形2.学会使用MATLAB 表示信号的方法并绘制信号波形 3. 掌握使用MATLAB 进行信号基本运算的指令 4. 熟悉用MATLAB 实现卷积积分的方法二.实验原理信号一般是随时间而变化的某些物理量;按照自变量的取值是否连续,信号分为连续时间信号和离散时间信号,一般用()f t 和()f k 来表示;若对信号进行时域分析,就需要绘制其波形,如果信号比较复杂,则手工绘制波形就变得很困难,且难以精确;MATLAB 强大的图形处理功能及符号运算功能,为实现信号的可视化及其时域分析提供了强有力的工具;根据MATLAB 的数值计算功能和符号运算功能,在MATLAB 中,信号有两种表示方法,一种是用向量来表示,另一种则是用符号运算的方法;在采用适当的MATLAB 语句表示出信号后,就可以利用MATLAB 中的绘图命令绘制出直观的信号波形了;下面分别介绍连续时间信号和离散时间信号的MATLAB 表示及其波形绘制方法;1.连续时间信号所谓连续时间信号,是指其自变量的取值是连续的,并且除了若干不连续的点外,对于一切自变量的取值,信号都有确定的值与之对应;从严格意义上讲,MATLAB 并不能处理连续信号;在MATLAB 中,是用连续信号在等时间间隔点上的样值来近似表示的,当取样时间间隔足够小时,这些离散的样值就能较好地近似出连续信号;在MATLAB 中连续信号可用向量或符号运算功能来表示;⑴ 向量表示法对于连续时间信号()f t ,可以用两个行向量f 和t 来表示,其中向量t 是用形如12::t t p t 的命令定义的时间范围向量,其中,1t 为信号起始时间,2t 为终止时间,p 为时间间隔;向量f 为连续信号()f t 在向量t 所定义的时间点上的样值; 说明: plot 是常用的绘制连续信号波形的函数;严格说来,MATLAB 不能表示连续信号,所以,在用plot 命令绘制波形时,要对自变量t 进行取值,MATLAB 会分别计算对应点上的函数值,然后将各个数据点通过折线连接起来绘制图形,从而形成连续的曲线;因此,绘制的只是近似波形,而且,其精度取决于t 的取样间隔;t 的取样间隔越小,即点与点之间的距离越小,则近似程度越好,曲线越光滑;例如:图1-1是在取样间隔为p=时绘制的波形,而图1-2是在取样间隔p=时绘制的波形,两相对照,可以看出图1-2要比图1-1光滑得多;在上面的f=sint . /t 语句中,必须用点除符号,以表示是两个函数对应点上的值相除;⑵ 符号运算表示法如果一个信号或函数可以用符号表达式来表示,那么我们就可以用前面介绍的符号函数专用绘图命令ezplot 等函数来绘出信号的波形; ⑶ 常见信号的MATLAB 表示对于普通的信号,应用以上介绍的两种方法即可完成计算函数值或绘制波形,但是对于一些比较特殊的信号,比如单位阶跃信号t 、符号函数sgnt 等,在MATLAB 中这些信号都有专门的表示方法; 单位阶跃信号单位阶跃信号的定义为:10()0t t t ε>⎧=⎨<⎩,单位阶跃信号是信号分析的基本信号之一,在信号与系统分析中有着非常重要的作用,通常,我们用它来表示信号的定义域,简化信号的时域表示形式;例如:可以用两个不同延时的单位阶跃信号来表示一个矩形门信号,即:2()(1)(1)G t t t εε=+--在MATLAB 中,可通过多种方法得到单位阶跃信号,下面分别介绍; 方法一: 调用Heavisidet 函数在MATLAB 的Symbolic Math Toolbox 中,有专门用于表示单位阶跃信号的函数,即Heavisidet 函数,用它即可方便地表示出单位阶跃信号以及延时的单位阶跃信号,并且可以方便地参加有关的各种运算过程;首先定义函数Heavisidet 的m 函数文件,该文件名应与函数名同名即;%定义函数文件,函数名为Heaviside,输入变量为x,输出变量为y function y= Heavisidety=t>0; %定义函数体,即函数所执行指令%此处定义t>0时y=1,t<=0时y=0,注意与实际阶跃信号定义的区别; 方法二:数值计算法在MATLAB 中,有一个专门用于表示单位阶跃信号的函数,即stepfun 函数,它是用数值计算法表示的单位阶跃函数()t ε;其调用格式为: stepfunt,t0其中,t 是以向量形式表示的变量,t0表示信号发生突变的时刻,在t0以前,函数值小于零,t0以后函数值大于零;有趣的是它同时还可以表示单位阶跃序列()k ε,这只要将自变量以及取样间隔设定为整数即可;有关单位阶跃序列()k ε的表示方法,我们后面有专门论述,下面通过一个例子来说明如何调用stepfun 函数来表示单位阶跃函数; 符号函数符号函数的定义为:10sgn()1t t t >⎧=⎨-<⎩在MATLAB 中有专门用于表示符号函数的函数sign ,由于单位阶跃信号 t和符号函数两者之间存在以下关系:1122()sgn()t t ε=+,因此,利用这个函数就可以很容易地生成单位阶跃信号;下面举个例子来说明如何利用sign 函数生成单位阶跃信号,并同时绘制其波形; 2.离散时间信号离散时间信号又叫离散时间序列,一般用()f k 表示,其中变量k 为整数,代表离散的采样时间点采样次数;三.实验内容1.分别用MATLAB 的向量表示法和符号运算功能,表示并绘出下列连续时间信号的波形:2[]()cos()()(4)2tf t t t πεε=--syms t;f=sym'costpit/2heavisidet-heavisidet-4'; ezplotf,-2,8; 423()(2)f t t t ε=+syms t;f=sym'2/3theavisidet+2'; ezplotf,-4,8;2.分别用MATLAB 表示并绘出下列离散时间信号的波形: 2[]()()(8)f t k k k εε=-- t=0:8; t1=-10:15;f=zeros1,10,t,zeros1,7; stemt1,faxis-10,15,0,10 4 ()(2)f k k ε=-+t=-20:10;f=ones1,23,zeros1,8; stemt,f stemt,f3.已知信号f t 的波形如下图所示,试用MATLAB 绘出满足下列要求的信号波形; 2(2)f t -t=-1::4; t0=0; t1=1; t2=2;ut=2stepfunt,t0-2stepfunt,t1+stepfunt,t1-stepfunt,t2;plott-2,ut axis-3,2,0,3 4(0.51)f t +t=-1::4;t0=0;t1=1; t2=2;ut=2stepfunt,t0-2stepfunt,t1+stepfunt,t1-stepfunt,t2; plott+1,ut axis-1,2,0,44.已知两信号1()(1)()f t t t εε=+-,2()()(1)f t t t εε=--,求卷积积分12()()()g t f t f t =*,并与例题比较;程序清单:t1=-1::0; t2=0::1; t3=3::5;f1=onessizet1; f2=onessizet2; g=convf1,f2; plott3,g 信号波形:5.已知两信号1()()f t t t ε=,20()()0t tt te t f t t eε-≥⎧=⎨<⎩,求卷积积分12()()()g t f t f t =*;程序代码:t1=0::5;t2=-5::5; t3=-5::10; f1=t1;f2=expt2.t2<0+t2.exp-t2.t2>=0; g=convf1,f2; plott3,g;运行结果截图:6.已知{}{}12()1,1,1,2,()1,2,3,4,5f k f k ==,求两序列的卷积和 ; 程序清单:f1=1,1,1,2,0; f2=1,2,3,4,5; f=convf1,f2; x=0:8;stemx,f,'filled' 信号波形:实验二 LTI 系统的响应一、实验目的1.熟悉连续时间系统的单位冲激响应、阶跃响应的意义及求解方法2.熟悉连续离散时间系统在任意信号激励下响应的求解方法3.熟悉应用MATLAB 实现求解系统响应的方法二、实验原理1.连续时间系统对于连续的LTI 系统,当系统输入为ft ,输出为yt ,则输入与输出之间满足如下的线性常系数微分方程:()()0()()nmi j i j i j a y t b f t ===∑∑,当系统输入为单位冲激信号δt 时产生的零状态响应称为系统的单位冲激响应,用ht 表示;若输入为单位阶跃信号εt 时,系统产生的零状态响应则称为系统的单位阶跃响应,记为gt ,如下图所示;系统的单位冲激响应ht 包含了系统的固有特性,它是由系统本身的结构及参数所决定的,与系统的输入无关;我们只要知道了系统的冲激响应,即可求得系统在不同激励下产生的响应;因此,求解系统的冲激响应ht 对我们进行连续系统的分析具有非常重要的意义;在MATLAB 中有专门用于求解连续系统冲激响应和阶跃响应, 并绘制其时域波形的函数impulse 和step ;如果系统输入为ft ,冲激响应为ht ,系统的零状态响应为yt ,则有:()()()y t h t f t =*;若已知系统的输入信号及初始状态,我们便可以用微分方程的经典时域求解方法,求出系统的响应;但是对于高阶系统,手工计算这一问题的过程非常困难和繁琐;在MATLAB 中,应用lsim 函数很容易就能对上述微分方程所描述的系统的响应进行仿真,求出系统在任意激励信号作用下的响应;lsim 函数不仅能够求出连续系统在指定的任意时间范围内系统响应的数值解,而且还能同时绘制出系统响应的时域波形图;2.离散时间系统LTI 离散系统中,其输入和输出的关系由差分方程描述:00()()n mi ji j a y k i bf k j ==+=+∑∑前向差分方程()()nmi ji j a y k i bf k n j ==-=-+∑∑ 后向差分方程当系统的输入为单位序列δk 时产生的零状态响应称为系统的单位函数响应,用hk 表示;当输入为 εk 时产生的零状态响应称为系统的单位阶跃应,记为:gk ,如下图所示;如果系统输入为ek ,冲激响应为hk ,系统的零状态响应为y k ,则有:()()()y k h k f k =*;与连续系统的单位冲激响应ht 相类似,离散系统的单位函数响应hk 也包含了系统的固有特性,与输入序列无关;我们只要知道了系统的单位函数响应,即可求得系统在不同激励信号作用下产生的响应;因此,求解系统的单位函数响应hk 对我们进行离散系统的分析也同样具有非常重要的意义;MATLAB 中为用户提供了专门用于求解离散系统单位函数响应, 并绘制其时域波形的函数impz ;同样也提供了求离散系统响应的专用函数filter ,该函数能求出由差分方程所描述的离散系统在指定时间范围内的输入序列作用时,产生的响应序列的数值解;当系统初值不为零时,可以使用dlsim 函数求出离散系统的全响应,其调用方法与前面连续系统的lsim 函数相似;另外,求解离散系统阶跃响应可以通过如下两种方法实现:一种是直接调用专用函数dstep ,其调用方法与求解连续系统阶跃响应的专用函数step 的调用方法相似;另一种方法是利用求解离散系统零状态响应的专用函数filter ,只要将其中的激励信号看成是单位阶跃信号εk 即可;三、实验内容1. 已知描述系统的微分方程和激励信号et 分别如下,试用解析方法求系统的单位冲激响应ht 和零状态响应rt ,并用MATLAB 绘出系统单位冲激响应和系统零状态响应的波形,验证结果是否相同;①''()4'()4()'()3()y t y t y t f t f t ++=+;()()t f t e t ε-=程序清单:a=1 4 4;b=1 3; impulseb,a,10 p=;t=0:p:10; x=exp-1t;y=filterb,a,xsubplot2,1,1,impulseb,a,10 subplot2,1,2,lsimb,a,x,t②''()2'()26()'()y t y t y t f t ++=;()()f t t ε= 单位冲激响应程序代码: a=1 2 26;b=1;subplot2,1,1, impulseb,a,4 subplot2,1,2, stepb,a,4 运行结果截图:零状态响应程序代码: a=1 2 26;b=1; p1=;t1=0:p1:10; x1=t1;lsimb,a,x1,t1 运行结果截图:③''()4'()3()()y t y t y t f t ++=;2()()t f t e t ε-=a=1 4 3;b=1; p=;t=0:p:10; x=exp-2ty=filterb,a,xsubplot2,1,1,impulseb,a,10 subplot2,1,2,lsimb,a,x,t④如下图所示的电路中,已知1234()R R R ===Ω,121()L L H ==,且两电感上初始电流分别为12(0)2(),(0)0()i A i A ==,如果以电阻3R 上电压()y t 作为系统输出,请求出系统在激励()12()f t t ε=v 作用下的全响应;程序清单:A=-8 4;4 -8;B=1;0;C=-4 4;D=0; x0=2;0; t=0::10;E=12.onessizet;r,x=lsimA,B,C,D,E,t,x0; plott,r信号波形:阶跃响应程序代码: a=1,-5/6,1/6;b=1,0,-1; k=0:20;x=heavisidek; y=filterb,a,xsubplot2,1,1,stemk,x title'输入序列'subplot2,1,2,stemk,y title'输出序列' 运行结果截图:④一带通滤波器可由下列差分方程描述:()0.81(2)()(2)y k y k f k f k +-=--,其中()f k 为系统输入, ()y k 为系统输出;请求出当激励[]()1010cos(/2)10cos()()f k kn kn k ε=++选取适当的n 值时滤波器的稳态输出;a=1,0,81/100; b=1,0,-1; k=0:20;x=10+10.cos1/2.k+10.cosk; y=filterb,a,xsubplot3,1,1,impzb,a,0:20, subplot3,1,2,dstepb,a,0:20, subplot3,1,3,stemk,y实验三连续时间信号的频域分析一、实验目的1.熟悉傅里叶变换的性质 2.熟悉常见信号的傅里叶变换3.了解傅里叶变换的MATLAB 实现方法二、实验原理傅里叶变换是信号分析 的最重要的内容之一;从已知信号()f t 求出相应的频谱函数()F j ω的数学表示为:()F j ω()j t f t e dt ω∞--∞=⎰()f t 的傅里叶变换存在的充分条件是()f t 在无限区间内绝对可积,即()f t 满足下式: ()f t dt ∞-∞<∞⎰但上式并非傅里叶变换存在的必要条件;在引入广义函数概念之后,使一些不满足绝对可积条件的函数也能进行傅里叶变换;傅里叶反变换的定义为:1()()2j tf t F j e d ωωωπ∞-∞=⎰; 在这一部分的学习中,大家都体会到了这种数学运算的麻烦;在MATLAB 语言中有专门对信号进行正反傅里叶变换的语句,使得傅里叶变换很容易在MATLAB 中实现;在MATLAB 中实现傅里叶变换的方法有两种,一种是利用MATLAB 中的Symbolic Math Toolbox 提供的专用函数直接求解函数的傅里叶变换和傅里叶反变换,另一种是傅里叶变换的数值计算实现法;1.直接调用专用函数法①在MATLAB 中实现傅里叶变换的函数为: F=fourier f对ft 进行傅里叶变换,其结果为FwF =fourierf,v对ft 进行傅里叶变换,其结果为FvF=fourier f,u,v对fu 进行傅里叶变换,其结果为Fv②傅里叶反变换f=ifourier F 对Fw 进行傅里叶反变换,其结果为fx f=ifourierF,U对Fw 进行傅里叶反变换,其结果为fu f=ifourier F,v,u 对Fv 进行傅里叶反变换,其结果为fu由于MATLAB 中函数类型非常丰富,要想了解函数的意义和用法,可以用mhelp 命令;如在命令窗口键入:mhelp fourier 回车,则会得到fourier 的意义和用法; 注意:1在调用函数fourier 及ifourier 之前,要用syms 命令对所有需要用到的变量如t,u,v,w 等进行说明,即要将这些变量说明成符号变量;对fourier 中的f 及ifourier 中的F 也要用符号定义符sym 将其说明为符号表达式;2采用fourier 及fourier 得到的返回函数,仍然为符号表达式;在对其作图时要用ezplot 函数,而不能用plot 函数;3fourier 及fourier 函数的应用有很多局限性,如果在返回函数中含有δω等函数,则ezplot 函数也无法作出图来;另外,在用fourier 函数对某些信号进行变换时,其返回函数如果包含一些不能直接表达的式子,则此时当然也就无法作图了;这是fourier 函数的一个局限;另一个局限是在很多场合,尽管原时间信号ft 是连续的,但却不能表示成符号表达式,此时只能应用下面介绍的数值计算法来进行傅氏变换了,当然,大多数情况下,用数值计算法所求的频谱函数只是一种近似值;三、 实验内容1.编程实现求下列信号的幅度频谱1求出1()(21)(21)f t t t εε=+--的频谱函数F1jω,请将它与上面门宽为2的门函数()(1)(1)f t t t εε=+--的频谱进行比较,观察两者的特点,说明两者的关系;f1t 函数程序代码: syms t w;Gt=sym'Heaviside2t+1-Heaviside2t-1'; Fw=fourierGt,t,w;FFw=maple'convert',Fw,'piecewise'; FFP=absFFw;ezplotFFP,-10pi 10pi;grid; axis-10pi 10pi 0 ; f1t 函数图像: 门函数程序代码: syms t w;Gt=sym'Heavisidet+1-Heavisidet-1'; Fw=fourierGt,t,w;FFw=maple'convert',Fw,'piecewise'; FFP=absFFw;ezplotFFP,-10pi 10pi;grid; axis-10pi 10pi 0 ; 门函数图像:2 三角脉冲21||||1()0||1t t f t t -≤⎧=⎨>⎩程序清单:f2t 函数程序代码:syms t wGt=sym'1+tHeavisidet+1-Heavisidet+1-tHeavisidet-Heavisidet-1'; Fw=fourierGt,t,w;FFw=maple'convert',Fw,'piecewise';FFP=absFFw;ezplotFFP,-10pi 10pi;grid;axis-10pi 10pi 0 ;f2t 函数图像:3 单边指数信号 3()()t f t e t ε-=程序清单:syms t wGt=sym'exp-1theavisidet';Fw=fourierGt,t,w;FFw=maple'convert',Fw,'piecewise';FFP=absFFw; ezplotFFP,-7pi 7pi;grid;axis-7pi 7pi 0信号波形:4 高斯信号23()t f t e -=程序清单:syms t w;Gt=exp-t.^2;Fw=fourierGt,t,wFFP=absFwezplotFw,-30 30;grid;axis-30 30 0 2信号波形:2.利用ifourier 函数求下列频谱函数的傅氏反变换 122()16F j j ωωω=-+ 程序清单:syms t wFw=sym '-j2w/16+w^2';ft=ifourier Fwft=ifourierFw,w,t;运行结果:ft=-jexp-4absxsignx1i222()58()()65j jF jj jωωωωω+-=++syms t wFw=sym'jw^2+5jw-8/jw^2+6jw+5';ft=ifourierFwft=ifourierFw,w,t;运行结果:ft =2pidiracx + piexp-x1i/jsignimag1/j3i/j -piexp-x5i/jsignimag1/j2i/j - piexp-x1i/jsignx3i/j +piexp-x5i/jsignx2i/j/2pi实验四离散信号与系统的时域分析一、实验目的1.学会用MATLAB表示常用离散信号的方法;2.学会用MATLAB实现离散信号卷积的方法;3.学会用MATLAB求解离散系统的单位响应;4.学会用MATLAB求解离散系统的零状态响应;二、实验原理1.离散信号的MATLAB表示表示离散时间信号fk需要两个行向量,一个是表示序号k= ,一个是表示相应函数值f= ,画图命令是stem;2.离散信号的卷积和两个有限长序列f1,f2卷积可调用MATLAB函数conv,调用格式是f=convf1,f2, f是卷积结果,但不显示时间序号,可自编一个函数dconv给出f 和k,并画图;3.离散系统的单位响应MATLAB提供画系统单位响应函数impz,调用格式是impzb,a 式中b和a是表示离散系统的行向量;impzb,a,n 式中b和a是表示离散系统的行向量,时间范围是0~n;impzb,a,n1,n2 时间范围是n1~n2 ;y=impzb,a,n1,n2 由y给出数值序列;4.离散系统的零状态响应MATLAB提供求离散系统零状态响应数值解函数filter,调用格式为filterb,a,x,式中b和a是表示离散系统的向量,x是输入序列非零样值点行向量,输出向量序号同x一样;三、上机实验内容1.验证实验原理中程序离散信号的MATLAB表示例2-1正弦序列信号 正弦序列信号可直接调用MATLAB 函数cos,例)cos(ϕω+k ,当ωπ/2是整数或分数时,才是周期信号;画)8/cos(ϕπ+k ,)2cos(k 波形程序是:k=0:40;subplot2,1,1stemk,coskpi/8,'filled'title'coskpi/8'subplot2,1,2stemk,cos2k,'filled'title'cos2k'2.已知)2(2)1(3)()2()1(2)(2-+-+=-+--k f k f k f k y k y k y ,画单位响应波形;a=2,-2,1;b=1,3,2;impzb,aimpzb,a,60impzb,a,-10:403.已知)()2(25.0)1()(k f k y k y k y =-+-+,输入)()(k t f ε=,画输出波形,范围0~15;a=1 1 ;b=1 ;t=0:15;x=t;y=filterb,a,xsubplot2,1,1stemt,xtitle'输入序列'subplot2,1,2stemt,ytitle'响应序列'实验五 连续信号与系统的S 域分析一、实验目的1. 熟悉拉普拉斯变换的原理及性质2. 熟悉常见信号的拉氏变换3. 了解正/反拉氏变换的MATLAB 实现方法和利用MATLAB 绘制三维曲面图的方法4. 了解信号的零极点分布对信号拉氏变换曲面图的影响及续信号的拉氏变换与傅氏变换的关系二、实验原理拉普拉斯变换是分析连续时间信号的重要手段;对于当t ∞时信号的幅值不衰减的时间信号,即在ft 不满足绝对可积的条件时,其傅里叶变换可能不存在,但此时可以用拉氏变换法来分析它们;连续时间信号ft 的单边拉普拉斯变换Fs 的定义为: 拉氏反变换的定义为:1()()2j st j f t F s e ds j σωσωπ+-=⎰显然,上式中Fs 是复变量s 的复变函数,为了便于理解和分析Fs 随s 的变化规律,我们将Fs 写成模及相位的形式:()()()j s F s F s e ϕ=;其中,|Fs|为复信号Fs 的模,而()s ϕ为Fs 的相位;由于复变量s=σ+jω,如果以σ为横坐标实轴,jω为纵坐标虚轴,这样,复变量s 就成为一个复平面,我们称之为s 平面;从三维几何空间的角度来看,|()|F s 和()s ϕ分别对应着复平面上的两个曲面,如果绘出它们的三维曲面图,就可以直观地分析连续信号的拉氏变换Fs 随复变量s 的变化情况,在MATLAB 语言中有专门对信号进行正反拉氏变换的函数,并且利用 MATLAB 的三维绘图功能很容易画出漂亮的三维曲面图;①在MATLAB 中实现拉氏变换的函数为:F=laplace f 对ft 进行拉氏变换,其结果为FsF=laplace f,v对ft 进行拉氏变换,其结果为FvF=laplace f,u,v对fu 进行拉氏变换,其结果为Fv②拉氏反变换f=ilaplace F对Fs 进行拉氏反变换,其结果为ftf=ilaplaceF,u 对Fw 进行拉氏反变换,其结果为fuf=ilaplaceF,v,u 对Fv 进行拉氏反变换,其结果为fu注意: 在调用函数laplace 及ilaplace 之前,要用syms 命令对所有需要用到的变量如t,u,v,w 等进行说明,即要将这些变量说明成符号变量;对laplace 中的f 及ilaplace 中的F 也要用符号定义符sym 将其说明为符号表达式;三、实验内容1.求出下列函数的拉氏变换式,并用MATLAB 绘制拉氏变换在s 平面的三维曲面图① 3()2()5()t t f t e t e t εε--=+函数程序代码:syms t sft=sym'2exp-tHeavisidet+5exp-3tHeavisidet';Fs=laplaceft运算结果:绘制三维曲面图的程序代码:syms x y ss=x+iy;FFs=2/s+1+5/s+3;FFss=absFFs;ezmeshFFss;ezsurfFFss;colormaphsv;运算结果截图:② ()()(2)f t t t εε=--函数程序代码:syms t sft=sym'Heavisidet-Heavisidet-2';Fs=laplaceft运算结果:绘制三维曲面图的程序代码:syms x y ss=x+iy;FFs=1/s-exp-2s/s;FFss=absFFs;ezmeshFFss;ezsurfFFss;colormaphsv;运算结果截图:③ 3()sin()()t f t e t t ε-=函数程序代码:syms t sft=sym'exp-3tsintHeavisidet';Fs=laplaceft运算结果:绘制三维曲面图的程序代码:syms x y ss=x+iy;FFs=1/s+3^2+1;FFss=absFFs;ezmeshFFss;ezsurfFFss;colormaphsv;运算结果截图:④ []()sin()()(2)f t t t t πεε=--函数程序代码:syms t sft=sym'sinpitHeavisidet-Heavisidet-2';Fs=laplaceft运算结果:绘制三维曲面图的程序代码:syms x y ss=x+iy;FFs= pi/s^2+pi^21/s-exp-2s/s;FFss=absFFs;ezmeshFFss;ezsurfFFss;colormaphsv;运算结果截图:2. 已知信号的拉氏变换如下,请用MATLAB 画出其三维曲面图,观察其图形特点,说出函数零极点位置与其对应曲面图的关系,并且求出它们所对应的原时间函数f t ①22(3)(3)()(5)(16)s s F s s s -+=-+ 函数程序代码:syms x y ss=x+iy;FFs=2s-3s+3/s-5s^2+16;FFss=absFFs;ezmeshFFss;ezsurfFFss;colormaphsv;运行结果截图:求原函数的程序代码:syms t sFs =sym'2s-3s+3/s-5s^2+16'ft=ilaplaceFs原函数:ft = 50cos4t/41 + 32exp5t/41 + 125sin4t/82 ②(1)(3)()(2)(5)s s F s s s s ++=++ 函数程序代码:syms x y ss=x+iy;FFs=s+1s+3/ss+2s+5;FFss=absFFs;ezmeshFFss;ezsurfFFss;colormaphsv;运行结果截图:求原函数的程序代码:syms t sFs =sym's+1s+3/ss+2s+5'ft=ilaplaceFs原函数:ft = exp-2t/6 + 8exp-5t/15 + 3/103. 已知连续时间信号[]()s(2)()(4)f t co t t t πεε=--,请分别求出该信号的拉氏变换()F s 及其傅里叶变换()F j ω,并用MATLAB 绘出()F s 的曲面图及振幅频谱()F j ω的波形,观察()F s 的曲面图在虚轴上的剖面图,并将它与信号的振幅频谱曲线进行比较,分析两者的对应关系;1拉氏变换:程序代码:syms t sft=sym'cos2pitHeavisidet-Heavisidet-4';Fs=laplaceft运算结果:Fs=laplaceHeavisidet, t, s-pi2i/2 + laplaceHeavisidet, t, s+pi2i/2 - laplaceHeavisidet - 4, t, s - pi2i/2 - laplaceHeavisidet - 4, t, s + pi2i/22傅里叶变换:程序代码:syms t wGt=sym'cos2pitHeavisidet-Heavisidet-4';Fw=fourierGt运算结果:Fw = fouriercos2pitHeavisidet, t, w - fourierHeavisidet - 4cos2pit, t, w四、总结报告由于平时都是在上课过程中学习理论知识,而这次实验是在理论知识的基础上来进行实验操作,但并是不全是上课时学习的理论知识,也存在许多的新知识;所以对于这次把上课时的理论知识并结合新知识一起应用于实践操作来说是有点困难的; 信号与系统的实验不同于大物实验,一开始说可以多人合作完成的实验,到最后是一个人单独完成;在为数不多的四次实验中,我深深感受到了团队合作在实验中的重要性;在自己对自己写出的代码,运行出现错误的时候,两个人或者多个人对实验的共同理解是实验高效、误差小完成的基础;参考文献:MATLAB应用大全MATLAB无师自通。

matlab基本操作实验报告

matlab基本操作实验报告

实验一 matlab 基本操作一、 实验目的熟悉matlab 的安装与启动;熟悉matlab 用户界面;熟悉matlab 功能、建模元素;熟悉matlab 优化建模过程。

二、 实验设备与仪器1.微机2.matlab 仿真软件三、 实验步骤1. 了解matlab 的硬件和软件必备环境;2. 启动matlab ;3. 熟悉标题栏,菜单栏,工具栏,元素选择窗口,状态栏,控制栏以及系统布局区;4. 学习优化建模过程。

四、 实验报告要求1. 写出matlab 系统界面的各个构成;以及系统布局区的组成;以及每一部分的功能;2. 优化建模过程应用举例五、实验内容(一)、Matlab 操作界面1. 命令窗口(command window )2. 命令历史窗口(command history )3. 工作空间管理窗口(workspace )4. 当前路径窗口(current directory )(二)、优化建模过程应用举例1、简单矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=987654321A 的输入步骤。

(1)在键盘上输入下列内容A = [1,2,3; 4,5,6; 7,8,9](2)按【Enter 】键,指令被执行。

(3)在指令执行后,MATLAB 指令窗中将显示以下结果:A = 1 2 34 5 67 8 92、矩阵的分行输入。

A=[1,2,34,5,67,8,9]A =1 2 34 5 67 8 93、指令的续行输入S=1-1/2+1/3-1/4+ ...1/5-1/6+1/7-1/8S =0.63454、画出衰减振荡曲线t ey t 3sin 3-=及其它的包络线30t e y -=。

t 的取值范围是]4,0[π。

t=0:pi/50:4*pi;y0=exp(-t/3);y=exp(-t/3).*sin(3*t);plot(t,y,'-r',t,y0,':b',t,-y0,':b')grid5、画出2222)sin(y x y x z ++=所表示的三维曲面。

MATLAB上机实验实验报告

MATLAB上机实验实验报告

MATLAB上机实验实验报告实验名称:用MATLAB实现多项式拟合及插值一、实验目的:通过使用MATLAB实现多项式拟合及插值的方法,掌握MATLAB软件的基本操作和函数应用,进一步了解多项式拟合及插值的原理和实现过程。

二、实验原理:多项式拟合及插值是一种常见的数值分析方法,通过对已知数据点集合的拟合或插值,构造出一个多项式函数,用于近似表示原始数据。

1.多项式拟合:通过最小二乘法原理,选择一个合适的多项式函数,使得拟合出的多项式与已知数据点之间的误差最小。

拟合函数可以是一次、二次或高阶多项式。

2.多项式插值:通过已知数据点的横纵坐标值,构造一个满足这些点的多项式函数。

插值函数可以是一次、二次或高阶多项式。

插值函数经过每个已知数据点。

三、实验步骤:1.数据准备:选择一组已知数据,包含横纵坐标值。

数据点的个数可以根据具体情况自行确定。

2.多项式拟合:使用MATLAB中的polyfit函数,根据已知数据点进行多项式拟合。

根据拟合结果,获取拟合的多项式系数。

3.多项式插值:使用MATLAB中的polyfit函数,根据已知数据点进行多项式插值。

通过plot函数绘制原始数据点的散点图和插值多项式的曲线图。

可以尝试不同阶数的多项式插值。

4.结果分析:根据实验结果,分析拟合与插值的效果。

对比拟合结果与原始数据的误差大小,评估拟合的准确性。

对比插值结果与原始数据的差异,评估插值的精确度。

五、实验总结:通过这次实验,我熟练掌握了使用MATLAB实现多项式拟合及插值的方法。

在实验中,我了解了多项式拟合的原理,以及如何利用最小二乘法求取多项式拟合的系数。

同时,我也学会了如何使用MATLAB中的polyfit函数实现多项式拟合和插值。

通过实验结果的分析,我对拟合和插值的实际应用和效果有了更加深入的认识。

[1]MATLAB官方文档[2]高等数值分析教程以上为MATLAB上机实验实验报告,共计1200字。

MATLAB实验报告

MATLAB实验报告

MATLAB实践报告2016/2017学年第一学期专业:电气工程及其自动化班级:学号:姓名:2017年 2 月目录第1章绪论 (1)1.1 Matlab简介 (1)1.2 Matlab语言特点及优势 (1)1.2.1 语言特点 (1)1.2.2 优势 (2)1.3 Matlab的功能 (5)第2章Matlab实践任务 (6)2.1实验一Matlab环境语法、基本运算及绘图 (6)2.1.1实验目的 (6)2.1.2实验原理 (6)2.1.3实验内容 (6)2.2实验二Matlab数值运算 (10)2.2.1实验目的 (10)2.2.2实验原理 (10)2.2.3实验内容 (10)2.3实验三Matlab的符号计算 (19)2.3.1实验目的 (19)2.3.2实验内容 (19)2.4实验四Matlab基本编程方法 (23)2.4.1实验目的 (23)2.4.2实验内容 (23)第3章小结 (27)参考文献 (28)第1章绪论1.1 Matlab简介Matlab是“Matrix Laboratory”的缩写,意为“矩阵实验室”,是当今美国很流行的科学计算软件.信息技术、计算机技术发展到今天,科学计算在各个领域得到了广泛的应用.在许多诸如控制论、时间序列分析、系统仿真、图像信号处理等方面产生了大量的矩阵及其相应的计算问题.自己去编写大量的繁复的计算程序,不仅会消耗大量的时间和精力,减缓工作进程,而且往往质量不高.美国Mathwork软件公司推出的Matlab软件就是为了给人们提供一个方便的数值计算平台而设计的.Matlab是一个交互式的系统,它的基本运算单元是不需指定维数的矩阵,按照IEEE的数值计算标准(能正确处理无穷数Inf(Infinity)、无定义数NaN(not-a-number)及其运算)进行计算。

系统提供了大量的矩阵及其它运算函数,可以方便地进行一些很复杂的计算,而且运算效率极高。

Matlab命令和数学中的符号、公式非常接近,可读性强,容易掌握,还可利用它所提供的编程语言进行编程完成特定的工作。

MATLAB教学实验大纲2017

MATLAB教学实验大纲2017

MATLAB应用课程实验教学大纲课程名称:《MATLAB应用》课程编码:060132010课程类别:专业课课程性质:必修课适用专业:自动化专业适用教学计划版本:自动化专业2017版教学计划课程总学时:40实验(上机)计划学时: 8开课单位:自动化与电气工程学院一、大纲编写依据1.自动化专业2017教学计划;2.自动化专业《MATLAB应用》理论教学大纲对实验环节的要求;3.近年来《MATLAB应用》实验教学经验。

二、实验课程地位及相关课程的联系1.《MATLAB应用》是自动化专业重要的专业基础课程;2.本实验项目是《MATLAB应用》课程综合知识的运用;3.本实验是一门实践性很强的课程,在计算机行业里应用非常广泛,通过上机实验,不仅巩固学生在课堂上所学的知识,加深对MATLAB编程的理解,更重要的是通过实验题目,提高学生的动手能力,增强学生就业的竞争力;4.本实验为后续的毕业设计具有指导意义。

三、本课程实验目的和任务MATLAB语言是信息科学与技术平台必修课程,注重锻炼学生的数学建模、分析能力等所需的基础知识和基本能力。

MATLAB是一种以数值计算和数据图示为主的计算机软件,并包含适应多个学科的专业软件包,以及完善程序开发功能。

本课程要求学生掌握MATLAB的数据类型、矩阵输入和操作方法、语法结构、函数的使用以及二维、三维绘图功能,并能够熟练地将MATLAB 应用于学习中,解决相关课程中的复杂的数学计算问题。

上机操作是本课程重要的教学环节,学生只有通过上机实习,才能领会MATLAB中众多功能,才能达到熟练应用的程度。

四、教学方法、教学形式、教学手段的特色1. 教学方法:采用启发式教学,培养学生思考问题、分析问题和解决问题的能力,让学生通过上机实践加深对所学知识的理解。

2. 教学形式:每次上实验课以一个专业的一个班级为单位,每个学生使用一台计算机,独立进行程序设计。

3. 教学手段:每次实验课结束前实验教师布置下次课的任务,要求学生预习,实验课上讲授的内容必须精简,要将绝大部分的时间留给学生上机实践,对每位学生提出的问题进行单独辅导和解答而不占用其他学生的时间,对每位学生的实验完成情况及时跟踪和记录。

2017年-matlab实验内容

2017年-matlab实验内容

2017年文化素质课 MATLAB实验实验一、MATLAB基本操与运算基础【实验目的】〔1〕熟悉MATLAB基本环境,掌握MATLAB变量的使用〔2〕掌握MATLAB数组的创建〔3〕掌握MA TLAB数组和矩阵的运算【实验内容及步骤】熟悉建立数组的方法:逐个元素输入法、冒号法、特殊方法〔使用函数linspace建立〕1、有关向量、矩阵或数组的一些运算(1)设A=15;B=20;求C=A+B与c=a+b?(2)设A=[1 2 3;4 5 6;7 8 9],B=[9 8 7;6 5 4;3 2 1];求A*B与A.*B?(3)设a=10,b=20;求i=a/b=?与j=a\b= ?(4)设a=[1 -2 3;4 5 -4;5 -6 7](5)在MATLAB命令行窗口运行A=[1,2;3,4]+i*[5,6;7,8];看结果如何?如果改成运行A=[1,2;3,4]+i[5,6;7,8],结果又如何?(6)请写出完成以下计算的指令:a=[1 2 3;3 4 2;5 2 3],求a^2=?,a.^2=?(7)有一段指令如下,请思考并说明运行结果及其原因clearX=[1 2;8 9;3 6];X( : ) %转化为列向量(8)写出以下指令的运行结果>> A = [ 1 2 3 ]; B = [ 4 5 6 ];>> C = 3.^A>> D = A.^B2、设有矩阵A和B,A=[1 2 3 4 5;6 7 8 9 10;11 12 13 14 15;16 17 18 19 20;21 2223 24 25],B=[3 0 16;17 -6 9;0 23 -4;9 7 0;4 13 11]1)求它们的乘积C2)将矩阵C的右下角3x2子矩阵赋给D3、完成以下操作1〕求[100,999]之间能被61整除的数及其个数〔提示:先利用冒号表达式,再利用find和length 函数。

MATLABsy17

MATLABsy17

实验1 常见离散信号的MATLAB 产生和图形显示MATLAB 是一套功能强大的工程计算及数据处理软件,广泛应用于工业,电子,医疗和建筑等众多领域。

它是一种面向对象的,交互式程序设计语言,其结构完整又优良的可移植性。

它在矩阵运算,数字信号处理方面有强大的功能。

另外,MATLAB 提供了方便的绘图功能,便于用户直观地输出处理结果。

本课程实验要求学生运用MATLAB 编程完成一些数字信号处理的基本功能,加深对教学内容的理解。

实验1 常见离散信号的MATLAB 产生和图形显示实验目的:加深对常用离散信号的理解;实验原理:1. 单位抽样序列⎩⎨⎧=01)(n δ 00≠=n n 在MATLAB 中可以利用zeros()函数实现。

;1)1();,1(==x N zeros x 如果)(n δ在时间轴上延迟了k 个单位,得到)(k n -δ即:⎩⎨⎧=-01)(k n δ0≠=n k n 2.单位阶越序列⎩⎨⎧01)(n u 00<≥n n 在MATLAB 中可以利用ones()函数实现。

);,1(N ones x =3.正弦序列 )/2sin()(ϕπ+=Fs fn A n x在MATLAB 中)/***2sin(*1:0fai Fs n f pi A x N n +=-= 4.复正弦序列n j e n x ϖ=)(在MATLAB 中)**exp(1:0n w j x N n =-= 5.指数序列n a n x =)(在MATLAB 中n a x N n .^1:0=-=实验内容:编制程序产生上述5种信号(长度可输入确定),并绘出其图形。

实验要求:(1)预先阅读附录(MATLAB 基础介绍);(2)讨论复指数序列的性质。

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

2017年-matlab实验内容2017年文化素质课 MATLAB实验实验一、MATLAB基本操与运算基础【实验目的】(1)熟悉MATLAB基本环境,掌握MATLAB变量的使用(2)掌握MATLAB数组的创建(3)掌握MATLAB数组和矩阵的运算【实验内容及步骤】熟悉建立数组的方法:逐个元素输入法、冒号法、特殊方法(使用函数linspace建立)1、有关向量、矩阵或数组的一些运算(1)设A=15;B=20;求C=A+B与c=a+b?(2)设A=[1 2 3;4 5 6;7 8 9],B=[9 8 7;6 5 4;3 2 1];求A*B与A.*B?(3)设a=10,b=20;求i=a/b=?与j=a\b= ?(4)设a=[1 -2 3;4 5 -4;5 -6 7](5)在MATLAB命令行窗口运行A=[1,2;3,4]+i*[5,6;7,8];看结果如何?如果改成运行A=[1,2;3,4]+i[5,6;7,8],结果又如何?(6)请写出完成下列计算的指令:a=[1 2 3;3 4 2;5 2 3],求a^2=?,a.^2=?(7)有一段指令如下,请思考并说明运行结果及其原因clearX=[1 2;8 9;3 6];X( : ) %转化为列向量(8)写出下列指令的运行结果>> A = [ 1 2 3 ]; B = [ 4 5 6 ];>> C = 3.^A>> D = A.^B2、设有矩阵A和B,A=[1 2 3 4 5;6 7 8 9 10;11 12 13 14 15;16 17 18 19 20;21 2223 24 25],B=[3 0 16;17 -6 9;0 23 -4;9 7 0;4 13 11]1)求它们的乘积C2)将矩阵C的右下角3x2子矩阵赋给D3、完成下列操作1)求[100,999]之间能被61整除的数及其个数(提示:先利用冒号表达式,再利用find和length 函数。

)2)建立一个字符串向量,删除其中的大写字母(提示:利用find函数和空矩阵。

)4、求S=20+21+22+23+24+……+210的值(提示:利用求和函数与累乘积函数。

)5、熟悉mean( )、median( )、max( )、min( )、 sort( )、 round( )等的使用利用MATLAB提供的rand函数和圆整函数随机生成4X3整数矩阵A,进行如下操作1)A各列元素的平均值和中值2)A的最大元素和最小元素及它们的位置3)求A的每行元素的和以及全部元素之和4)分别对A的每列元素按升序、每行元素按降序排列6 、熟悉一些特殊矩阵的建立方法,如单位矩阵、零矩阵、随机矩阵、对角矩阵、全1矩阵、三角矩阵、魔方矩阵等,矩阵元素的处理(1) 高效地创建如下图矩阵A;(2) 将A的第1行乘以2, 第2行乘以4, …,第10行乘以20得到矩阵B;(3) 提取矩阵B中1,3,5,7,9行, 3,4,5,9列的交叉位置处元素, 构成新的矩阵C.(4)熟悉矩阵分解,如Cholesky分解,LU分解、QR分解、Schur分解等已知X=pascal(3);A=[1,2,3;4,5,6;7,8,0],分别求[R,P]=Chol(X);求[L,U]=lu(A),[Q,R]=qr(A)实验二、MATLAB程序设计实验目的熟悉M文件的概念、建立及运行,掌握Matlab的流程控制语句、函数及脚本文件的编程、调试方法。

实验内容及步骤1、分别用if语句和switch语句实现:输入一个百分制成绩,要求输出成绩等级A、B、C、D、E。

其中90分~100分为A,80分~89分为B,70分~79为C,60分~69分为D,60分以下为E。

(注意:对不合理的成绩应输出出错信息“输入的成绩不合理”(若成绩出现小数,则只能是“.5”)2、设计程序,完成两位数的加、减、乘、除四则运算,即随机输入两个整数,再输入一个运算符号,做相应的运算,显示相应的结果,并要求结果显示类似于“a=x+y=34”。

3、用if语句实现,求下列分段函数的值(注意:分别输出x = x1,x2,…,xn,其中xi为任意数值,X的值以向量的形式从键盘输入)。

2 2 26,0 56,1,yχχχχχχχχχχχ⎧+-<≠⎪=-+≤≠≠⎨⎪--⎩且-30<10,2且3其他4、熟悉矩阵的卷积和多项式的乘法,(1)展开多项式(s2+2s+2)(s+4)(s+1)(2)求多项式(x3+2x2+3x+4)(10x2+20x+30)的卷积实验三 MATLAB 程序设计实验内容及步骤1、分别使用for 循环语句和while 循环语句找出最小的n 值,使得n!>10100,并求出n!。

要求显示的结果为 n=70n!=1.197857e+100>1e100 或 70!=1.197857e+100>1e1002、已知⎪⎭⎫ ⎝⎛+⋅=-334sin 234πt e y t 若需要计算t ∈[-1,1],取间隔为0.01,试计算出相对应的y 值。

用步长为0.01的for 循环3、已知 f 1=1,n=1f 2=0,n=2 f 3=1,n=3f n =f n-1-2f n-2+f n-3,n>3求f 1 ~ f 50中:1)最大值和最小值及它们的位置,各数之和(最大值给变量MAX ,其位置给变量x ,最小值给变量MIN ,其位置给变量y ,各数之和给变量SUM )。

2)正数、零、负数的个数(依次赋值给变量positive ,zero ,negative )。

4、Fibonacci 数组的元素满足Fibonacci 规则:a k+2=a k +a k+1,(k=1,2,3,…);且a 1= a 2=1。

请设计一段程序,求出该数组中第一个大于10000的元素 要求显示的结果为: i=21 a(i)=10946 或者 a(21)=10946实验四 athlab 文件实验目的1.定制自己的工作环境。

2.编写简单的M 文件。

3.保存内存工作区中的变量到.mat 文件。

4.学会只用Matlab 帮助。

实验内容及步骤1、 编写一个函数文件chengji.m ,用于求两个矩阵的乘积和点乘,然后在命令行窗口中调用该函数(提示:使用varargout 函数)要求:1)当两矩阵是尺寸相同的方阵时,返回它们的乘积和点乘。

2)当两矩阵不是尺寸相同的方阵时,则根据它们的尺寸,分别进行乘积或点乘 3)当两矩阵的尺寸不能满足乘积或点乘的要求时,则提示“这两个矩阵不能乘”2、设向量V=(5,-3,2),求V 的方向余弦。

建立一个函数文件f.m :3、编写一个求一元二次方程ax2 +bx+c=0的根程序。

4、计算分段函数值5、 设x,y,z 的初值为x 0=-0,6,y 0=-1.2,z 0=0.135,求函数f(x,y,z)=x 2+2.5siny-z 2x 2y 2的极值。

6、求积分30π⎰7、求解泊松方程21u -∇= 并与精确解比较,区域为单位圆盘,在圆盘的边界=0cos(1)1010x x y x ⎧+=⎪=⎨⎪≠⎩实验五数据插值与曲线拟合实验实验目的1.掌握函数的编写规则。

2.掌握函数的调用。

3.会用Matlab程序设计实现一些工程算法问题实验内容1.已知原始数据)5/ypi==,,插值点为pi4:3.0:0xi*=,试用四x-*exp().sin(4:1:0x*x种不同的插值方法进行插值,并在一副图中绘出四种插值曲线。

2.考虑下面的数据,一位举重教练收集了不同性别的举重动员每个年龄的最大举重磅数,他Array相信这三者之间存在着函数关系,请创建一个年龄数组,以便估算当前队伍中队员(要求13~20岁每一岁都有)的最大举重,并绘制图形。

3.某乡镇企业2006-2012年的生产利润如下要求用多项式拟合法预测出该企业2013年和2014年的利润,并绘出拟合图。

4、对矩阵A的列向量、行向量分别进行离散傅立叶变换、并对变换结果进行逆变换。

实验六MATLAB绘图实验目的1.掌握二维图形的绘制。

2.掌握图形的标注3.了解三维曲线和曲面图形的绘制。

实验内容1、二维图形的绘制1)设计程序,在一个图形窗体中画出函数y=e x和y=logx的特性曲线。

其中y=e x中x 取值为(-2:0.1:2),y=logx中x取值为(0.1:0.1:5)。

要求:要有图例、标题('二维图')、坐标轴标签('x轴数据'和'y轴数据');每条曲线的clm自己设置。

2)绘制tan图形,其中x的取值为(0:pi/30:pi/2)。

要求:要有图例、标题、坐标轴标签('x轴数据'和'y轴数据');绘制出的图形应如下右图所示。

3)绘制曲线 x=tcos(3t)y=tsin2t 其中-π≤t≤π,步长取π/100。

要求:要有图例、标题、坐标轴标签。

4)编制M 文件,绘制图案:r=2sin 3(θ), r=cos 3 (θ), r=sin 2(θ), r=5cos 3(3.5θ)四种图。

2、三维图形的绘制分别用线框图和曲面图表现函数z=cos(x)sin(y)/y ,其中x 的取值为[-1.5pi,1.5pi],y=x ,要求:要有标题、坐标轴标签3、特殊图形的绘制求解热传导方程21uu t∂-∇=∂ ,区域为单位方形,边界上u=0,生成动态图。

附加实验 MATLAB 自选项目不作全面要求,根据自己的学习能力,完成问题分析、建模、编程。

1、Koch 分形曲线 分形原理这是一类复杂的平面曲线,可用算法描述。

从一条直线段开始,将线段中间三分之一部分用等边三角形的两条边代替,形成具有5个结点的图形(图1);在新的图形中,又将图中每一直线段中间的三分之一部分都用一等边三角形的两条边代替,再次形成新的图形(图2),这时,图形中共有17个结点。

这种迭代继续进行下去可以形成Koch 分形曲线。

在迭代过程中,图形中的点将越来越多,而曲线最终显示细节的多少将取决于迭代次数和显示系统的分辩率。

模型分析考虑由直线段(2个点)产生第一个图形(5个点)的过图2 第二图1 第一程。

设1P 和5P 分别为原始直线段的两个端点。

现在需要在直线段的中间依次插入三个点234,,P P P 产生第一次迭代的图形(图1)。

显然,2P 位于1P 点右端直线段的三分之一处, 4P 位于1P 点右端直线段的三分之二处;而3P 点的位置可以看成是由4P 点绕2P 旋转60度(逆时针方向)而得到的,故可以处理为向量24P P 经正交变换而得到向量23P P 。

算法如下:(1) 2151()/3P P P P =+-;(2) 41512()/3P P P P =+-;(3) 3242()T P P P P A =+-⨯;在(3)中, A 为正交矩阵: cos sin 33sin cos 33A ππππ⎡⎤-⎢⎥=⎢⎥⎢⎥⎢⎥⎣⎦ 算法根据初始数据(1P 和5P 点的坐标),产生图1中5个结点的坐标。

相关文档
最新文档