当前位置:文档之家› Matlab仿真实验教程

Matlab仿真实验教程

Matlab仿真实验教程
Matlab仿真实验教程

MATLAB的实验仿真

目录

实验一MATLAB在控制系统模型建立与仿真中的应用 (1)

实验二典型系统的时域响应分析 (13)

实验三线性控制系统的根轨迹与频域分析 (17)

实验四线性系统的校正 (22)

附录一 MATLAB6.5 控制系统工具箱函数和结构化的控制语句 (30)

附录二 SIMULINK 基本模块介绍 (34)

实验一 MATLAB 在控制系统模型建立与仿真中的应用

一、 MATLAB 基本操作与使用

1. 实验目的

1) 掌握MATLAB 仿真软件的安装及启动,熟悉 MATLAB 工作环境平台。

2) MATLAB 命令窗口,包括工具条以及菜单选项的使用;MATLAB 语言的基本规定,包括数值的表示、变量命名规定、基本运算符、预定义变量以及表达式等。

3) MATLAB 图形绘制功能、M 文件程序设计和线性控制系统传递函数模型的建立等。 2. 实验仪器

PC 计算机一台,MATLAB 软件1套 3. 实验内容 1) MATLAB 的启动

这里介绍MATLAB 装入硬盘后,如何创建MATLAB 的工作环境。 方法一

MATLAB 的工作环境由matlab.exe 创建,该程序驻留在文件夹matlab\bin\

中。它的图标是 matlab 。只要从<我的电脑>或<资源管理器>中去找这个程序,然后双击此图标,就会自动创建如图1所示的MATLAB6.5 版的工作平台 。

图1 在英文Windows 平台上的MATLAB6.5 MATLAB 工作平台

方法二

假如经常使用MATLAB ,则可以在Windows 桌面上创建一个MATLAB 快捷方式图标。具体办法为: 把<我的电脑>中的

matlab 图标用鼠标点亮,然后直接把此图标拖到Windows

桌面上即可。此后,直接双击Windows 桌面上的matlab 图标,就可建立图1所示的

MATLAB 工作平台。 2) MATLAB 工作环境平台

桌面平台是各桌面组件的展示平台,默认设置情况下的桌面平台包括 6 个窗口,具体如下: ① MATLAB 窗口

Command Window

MATLAB6 比早期版本增加了一个窗口。该窗口不能进行任何计算任务的操作,只用来进行一些整体的环境参数的设置。

②命令窗口(Command Window)

命令窗口是对 MATLAB 进行操作的主要载体,默认的情况下,启动MATLAB 时就会打开命令窗口,显示形式如图 1-1 所示。一般来说,MATLAB的所有函数和命令都可以在命令窗口中执行。在 MATLAB 命令窗口中,命令的实现不仅可以由菜单操作来实现,也可以由命令行操作来执行。实际上,掌握 MALAB 命令行操作是走入 MATLAB 世界的第一步,命令行操作实现了对程序设计而言简单而又重要的人机交互,通过对命令行操作,避免了编程序的麻烦,体现了MATLAB所特有的灵活性。下面就详细介绍 MALTAB 命令行操作。

在运行MATLAB后,当命令窗口为活动窗口时,将出现一个光标,光标的左侧还出现提示符“>>”,表示MATLAB正在等待执行命令。

为求得表达式的值,只需按照MALAB语言规则将表达式输入即可,结果会自动返回,而不必像其他的程序设计语言那样,编制冗长的程序来执行。当需要处理相当繁琐的计算时,可能在一行之内无法写完表达式,可以换行表示,此时需要使用续行符“…”否则 MATLAB 将只计算一行的值,而不理会该行是否已输入完毕。

使用续行符之后 MATLAB 会自动将前一行保留而不加以计算,并与下一行衔接,等待完整输入后再计算整个输入的结果。

在 MATLAB 命令行操作中,有一些键盘按键可以提供特殊而方便的编辑操作。比如:“↑”可用于调出前一个命令行,“↓”可调出后一个命令行,避免了重新输入的麻烦。当然下面即将讲到的历史窗口也具有此功能。

举例如《自动控制理论》书p409-411中简单数学运算和矩阵运算。请在MATLAB 命令窗口中对这些例子进行验证。

③历史窗口(Command History)

历史命令窗口是 MATLAB6 新增添的一个用户界面窗口,默认设置下历史命令窗口会保留自安装时起所有命令的历史记录,并标明使用时间,以方便使用者的查询。而且双击某一行命令,即在命令窗口中执行该命令。

④发行说明书窗口(Launch Pad)

发行说明书窗口是 MATLAB6 所特有的,用来说明用户所拥有的Mathworks 公司产品的工具包、演示以及帮助信息。当选中该窗口中的某个组件之后,可以打开相应的窗口工具包。

⑤当前目录窗口(Current Directory )

在当前目录窗口中可显示或改变当前目录,还可以显示当前目录下的文件,包括文件名、文件类型、最后修改时间以及该文件的说明信息等并提供搜索功能。

⑥工作空间管理窗口(Workspace)

工作空间管理窗口是 MATLAB 的重要组成部分。在工作空间管理窗口中将显示所有目前保存在内存中的 MATLAB 变量的变量名、数据结构、字节数以及类型,而不同的变量类型分别对应不同的变量名图标。

3)MATLAB窗口

(1)工具条

MATLAB窗口工具条如图2所示。

直接打开Editor/Debugger 编辑/调试窗

通过选中M 文件打开Editor/Debugger 编辑/调试器

或通过选中MDL 文件打开SIMULINK 模型窗

打开Simulink Library Browser 浏览器

打开Help Window 分类帮助窗

图2在英文Windows 平台上的MATLAB6.5 工具条

(2)菜单选项

MATLAB 工作窗具有标准的Windows 界面,因此,可以通过工作菜单中的各种选项来实现对工作窗中内容的操作,此处仅介绍使用较多的菜单操作。

①基本文件操作【File】选项

New 打开编辑/调试器、新图形窗、Simulink 用的MDL 文件

Open 通过已有M 文件打开编辑/调试器

②编辑操作【Edit】选项

Cut 剪切

Copy 复制

Paste 粘贴

Clear Session 清除命令窗里的显示内容,但它不清除工作存中的变量

③MATLAB 环境下工作窗管理【Windows】选项

如果没有图形的话,则只有一个【1. MATLAB Command Window】选项;如果有图形的话,则会有相应的图形窗选项。

④帮助【Help】选项

Help Windows 打开分类帮助窗

Help Tips 打开函数文件指令名帮助窗

Help Desk 打开以html 超文本形式存储的帮助文件主页

Examples and Demos 打开MATLAB 演示窗主页

About MATLAB MATLAB 注册图标、版本、制造商和用户信息

4) MATLAB 的基本规定

(1)数值的表示

MATLAB 的数值采用十进制,可以带小数点或负号。以下表示都合法。0,-100,0.008,12.752,1.8e-6 ,8.2e52

(2)变量命名规定

①变量名、函数名:字母大小写表示不同的变量名。如A 和a 表示不同的变量名;sin是MATLAB 定义的正弦函数,而Sin,SIN 等都不是。

②变量名的第一个字母必须是英文字母,最多可包含31 个字符(英文、数字和下连字符)。如A21 是合法的变量名,而3A21 是不合法的变量名。

③变量名中不得包含空格、标点,但可以有下连字符。如变量名A _b21 是合法变量名,而A,21 是不合法的。

(3)基本运算符

MATLAB 表达式的基本运算符见表1。

[说明]MATLAB 用左斜杠或右斜杠分别表示“左除”或“右除”运算。对标量而言,这两者的作用没有区别;对矩阵来说,“左除”和“右除”将产生不同的结果。

(4)MATLAB 默认的预定义变量

在MATLAB 中有一些预定义变量(predefined variable)。每当MATLAB 启动,这些变量就被产生。用户在定义变量时,尽量避开表2所列预定义变量名,以免产生混淆。

(5)表达式

MATLAB 书写表达式的规则与“手写算式”几乎完全相同。

i) 表达式由变量名、运算符和函数名组成。

ii) 表达式将按常规相同的优先级自左至右执行运算。

iii) 优先级的规定为:指数运算级别最高,乘除运算次之,加减运算级别最低。

iv) 括号可以改变运算的次序。

5) MATLAB 图形绘制

在二维曲线绘制中,最基本的指令是plot()函数。如果用户将x 和y 两组数据分别在向量x 和y 中存储,且它们的长度相同,调用该函数的格式为:

plot(x,y)

这时将在一个图形窗口上绘出所需要的二维图形。

请在MATLAB 命令窗口提示符“>>”下,完成下述任务:

(1)可在MATLAB 命令窗口提示符“>>”下键入help plot ,可得到plot()函数的相关内容,如曲线颜色和线型的改变。

(2)绘制一个周期内的正弦曲线。

i) 先产生自变量t 向量。

ii) 由给出的自变量向量求取其正弦函数值向量。

iii) 调用plot()函数绘制曲线。

输入x=0:0.01:3*pi; y= sin(x); , plot(x,y)

(3)在一个绘图窗口上同时绘制多条曲线

输入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’);grid

这两个例子来自《自动控制理论》书p411-412,运行这两个例子,看书中解释是否能得到验证。

6) M 文件程序设计

MATLAB 作为一种高级语言,它不仅可以如前所介绍的那样,以一种人机交互式的命令行的方式工作,还可以像BASIC、FORTRAN、C等其他高级计算机语言一样进行控制流的程序设计(MATLAB 语言的流程控制语句主要有 for、while、if-else-end 及 switch-case 等 4 种语句,这4种流程控制语句功能介绍见附录一)。MATLAB控制流,即编制一种以. m为扩展名的MATLAB程序(简称M文件)。由于商用的 MATLAB 软件是用 C 语言编写而成。因此,M文件的语法与C语言十分相似。对广大参加建模竞赛且学过C语言的同学来说,M文件的编写是相当容易的。

建立和运行M文件程序的过程如下:

①打开M文件编辑窗口:在图1中选择File→New→M-file菜单项实现

②在M文件编辑窗口键入M文件的各行:如在编辑窗口键入下面5行

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’);

grid

③保存文件:在图2中选择File→Save菜单项,保存文件。例如可键入exp1,上述命令行

就保存为exp1.m。

④调试运行M文件程序:可在图中选择Debug→Run菜单项,全速运行M文件程序。也可

用鼠标点击行号后短横线,给程序设置断点,选择Debug→Step,单步运行M文件程序,并根据工作空间管理窗口(Workspace)结果了解每条指令的功能。

要求按上面的过程来建立M文件程序,并用Run和Step两种方式来调试运行M文件程序。

图3 建立和运行M文件程序的过程

7) 线性系统的传递函数模型

若要在MATLAB 环境下得到传递函数的形式,可以调用tf ( )函数。该函数的调用格式为

G = tf ( num, den );

其中num, den 分别为系统传递函数的分子和分母多项式系数向量。返回的G 为传递函数形式。

但如果分子或分母多项式给出的不是完全的展开的形式,而是若干个因式的乘积,则事先需要将其变换为完全展开的形式,两个多项式的乘积在MATLAB下借用卷积求取函数conv( )得出,其调用格式为

p=conv(p1,p2)

其中p1和p2为两个多项式,调用这个函数就能返回乘积多项式p。如果有3个多项式的乘积,就需要嵌套使用此函数,即

p=conv(p1,conv(p2,p3)) 或

p=conv(conv(p1,p2),p3)

请注意在调用时括号的匹配。

MATLAB还支持一种特殊的传递函数的输入格式,在这样的输入方式下,应该先用s=tf(’s’)定义传递函数算子,然后用数学表达式直接输入系统的传递函数。请自己通过下面两个例子来演示和掌握tf ()和s=tf(’s’)算子这两种输入方式。

例1 设系统传递函数

1

3422

35234

23+++++++=s s s s s s s G 输入下面的命令

num = [1, 5, 3, 2]; den = [1, 2, 4, 3, 1]; %分子多项式和分母多项式 G = tf ( num , den ); %这样就获得系统的数学模型G 了。

这些命令可在命令行输入也可编成一个M 文件。在MATLB 提示符“>>”下键入G ,或省略最后命令中 分号,则可显示该数学模型。

>> G %下面是MATLB 的显示结果 Transfer function:

s^3 + 5 s^2 + 3 s + 2 ----------------------------- s^4 + 2 s^3 + 4 s^2 + 3 s + 1

如采用第二种输入法,则输入下面的命令

s=tf(’s ’); G=( s^3 + 5* s^2 + 3* s + 2)/( s^4 + 2*s^3 + 4* s^2 + 3* s + 1);

例2 设系统传递函数

4

325

34

++++=s s s s G 可采用上面两种输入方式、其命令和实现步骤同例1。

例3 设系统传递函数

)

1)(43()1()

4.2(522

2+++++=s s s s s G 此提分子或分母多项式给出的不是完全展开的形式,而是若干个因式的乘积,采用tf () 第一种输入法之前,应先用conv( )函数获得分子和分母多项式给出的完全展开的形式num 和den ,即输入命令

num=conv([0,5],[1,2.4]);

den=conv(conv(conv([1,1],[1,1]),[1,3,4]),[1,0,1]);

G=tf(num,den) %语句没有分号结尾,故将显示系统传递函数 Transfer function:

5 s + 12

-------------------------------------------------

s^6 + 5 s^5 + 12 s^4 + 16 s^3 + 15 s^2 + 11 s + 4

用算子方法可以更直观地输入系统模型,输入命令为 s=tf('s');G=5*(s+2.4)/((s+1)^2*(s^2+3*s+4)*(s^2+1));

有前面的例子可以看出,在MATLAB 语言环境表示一个传递函数是很容易的。如果有了传递函数G ,则提取系统的分子和分母多项式可以由tfdata()函数来实现。如输入命令:

s=tf('s');G=5*(s+2.4)/((s+1)^2*(s^2+3*s+4)*(s^2+1)) [num,den]=tfdata(G,'v') %其中'v'表示想获得数值

屏幕显示:

num =

0 0 0 0 0 5 12

den =

1 5 1

2 16 15 11 4

由MATLB的显示结果知,上面三个例子得到的控制系统传递函数形式为分子、分母多项式的表达形式。若要得到控制系统零极点传递函数,可以调用zpk( )函数。该函数的调用格式为

G = zpk( Z, P,K);

其中K为系统的增益,Z, P分别为系统传递函数的零点和极点列向量。返回的G 为传递函数形式。

例4 设系统传递函数

)1

)(

2

)(

3

)(

4

(

) 8538 .2

7305

.2

)(

8538

.2

7305

.2

)(

539

.1

(

+

+

+

+-

+

+

+

+

=

s

s

s

s j

s

j

s

s

G

输入下面的命令

Z=[-1.539; -2.7305+2.8538i;-2.7305-2.8538i]; %注意使用列向量,另外注意符号

P=[-1;-2;-3;-4];

G=zpk(Z,P,1);

在MATLB提示符“>>”下键入G,或省略最后命令中分号,则可显示该数学模型。>> G %下面是MATLB的显示结果

Zero/pole/gain:

(s+1.539) (s^2 + 5.461s + 15.6)

---------------------------------------- -

(s+1) (s+2) (s+3) (s+4)

注意在MATLAB的零极点模型显示中,如果有复数零极点存在,则用二阶多项式来表示两个因子,而不直接展成复数的一阶因式。

控制系统分子、分母多项式传递函数与控制系统零极点传递函数可以用tf2zp( )、zp2tf( )函数转换。tf2zp( )可将分子、分母多项式的传递函数转换为零、极点增益形式。该函数的调用格式为

[ Z, P,K]= tf2zp ( num, den );

zp2tf( )可将零、极点增益形式转换为分子、分母多项式的传递函数。该函数的调用格式为

[ num, den]= zp2tf ( Z, P,K)

例5 应用tf2zp( )函数求出例1和例2的零极点。

4. 实验报告

1) 写出MATLAB 仿真软件的6个工作环境平台窗口功能。

2) 写出如何建立和运行M文件程序。

3) 实现7个实验内容的所有题目,并将答案记录。

4) 整理在实验过程中遇到的问题及如何解决的。

5. 预习要求

1) 阅读实验内容及实验目的。

2) 完成对MATLAB 软件的熟悉工作。

二、 SIMULINK 基本功能与使用

1. 实验目的

1) SIMULINK 的使用方法。

2) 熟悉SIMULINK 模块库的分类及其相应用途。

3) 能够使用SIMULINK 进行系统模型的建立并仿真等。 2. 实验仪器

PC 计算机一台,MATLAB 软件1套 3. 实验内容 1) SIMULINK 的启动

要启动SIMULINK ,先要启动MATLAB 。在 MATLAB 命令窗口,键入“SIMULINK ”,或点击窗口上面的 SIMULINK 图标,如图4 所示,就打开了 SIMULINK 窗口,进入SIMULINK 库模块浏览界面,如图5所示。在 SIMULINK 窗口下,用鼠标点击 new model 图标或选取菜单 File → New → Model 后,SIMULINK 会打开一个名为untilited (无标题)的模型窗口,如图6 所示。随后,按用户要求可以在此模型窗口中创建模型及进行仿真运行。

图4 启动SIMULINK

new

model

打开

Simulink Library Browser 浏览器

图5 Simulink 的主界面—库模块浏览器

图6 空的模块窗口

2) SIMULINK 模块库

SIMULINK 提供了9 类基本模块库:连续系统模块库(Continous )、离散系统模块库(Discrete )、函数与表模块库(Function&Tables )、数学运算模块库(Math )、非线性系统模块库(Nonlinear )、信号模块库(Signal Routing )、输出模块库(Sinks )、输入源模块库(Sourses )、子系统模块库(Subsystems )等基本模块库。附录二对本实验书中用到的5个模块:连续系统模块库(Continous )、数学运算模块库(Math )、信号模块库(Signal Routing )、输出模块库(Sinks )、和输入源模块库(Sourses )的功能进行了介绍。 3) 用SIMULINK 建立系统模型及仿真

(1) SIMULINK 建模方法

例1 以求一个惯性环节2

8.05

+=

s G 的阶跃响应为例,说明模型的建立过程。

①开启 SIMULINK 窗口及模块库:在 MATLAB 命令窗口,键入“SIMULINK ”,或点击窗口上面的 SIMULINK 图标,如图4 所示,就打开了 SIMULINK 窗口,进入SIMULINK 库模块浏览界面,如图5所示。

②建立新文件:在 SIMULINK 窗口下,用鼠标点击 new model 图标或选取菜单 File → New → Model 后,SIMULINK 会打开一个名为untilited (无标题)的模型窗口,如图6 所示。新文件建立后,可以用菜单 File 中的 Save as 命令保存程序,这时需要给文件取名。保存的文件扩展应名为.mdl 。本例中将文件名命名为examp1.mdl 。

③复制模块

双击模块组图标打开模块子库,将鼠标移到所要复制的模块上,然后按下左键并拖动鼠标到目标窗口,再松开键,用右键可在任意窗口内复制模块,此时原模块保留。

本例中双击Sources 图标将打开模块子库,将Step 模块复制到examp1.mdl 目标窗口;双击Continuous 图标将打开模块子库,将Transfer Fcn 模块复制到examp1.mdl 目标窗口;双击Sinks 图标将打开模块子库,将Scope 模块复制到examp1.mdl 目标窗口。

④修改模块参数。通常目标窗口中复制的模块的参数和要求不一致,因此需对这些复制过来的模块参数进行修改。双击复制过来的模块,会出现对一个对话框,在对话框中设置相应参数。

本例中双击Step 模块,设置阶跃信号的起始时间从默认的1修改为0、并可根据实际情况设计设置初值和终值;双击Transfer Fcn 模块,设置传递函数的表达式,在分子(Numerator )多项式系数处键入[5],在分母(Denominator )多项式系数处键入[0.8,2].

⑤模块之间的连接

模块左侧和右侧尖角>分别表示模块的输入和输出,模块之间的连接按照下述方法进行:鼠标移到一个模块的输入(出)端,按下左键,拖动鼠标到另一个模块的输出(入)端,松开,连线完毕。若要从一条已经存在的连线上引出另一条连线,首先把鼠标指针移到这个连线上,按下右键,拖动鼠标到目标端口,再松开键。

按照上述步骤建立的惯性环节模型如图7所示。

图7 用SIMULINK建立的惯性环节模型

⑥选择对象与删除对象用鼠标左键在所选对象上单击一下,被选对象就会出现相应标记。若要删除模块或连线,首先要选中该模块过连线,然后再按 Delete 或Clear 键。

⑦仿真与显示

若要开始仿真,或选择 Simulation→ Start就可以了。双击 Scope 模块就打开示波器,示波器上就显示出变量随时间变化的曲线。

(2)典型环节仿真与分析

自控系统是由比例、积分、惯性环节等按一定的关系连接而成。熟悉这些惯性环节对阶跃输入的响应,对分析线性系统将是十分有益。

①典型环节的仿真

写出各典型环节(比例、惯性、积分环节)的传递函数,记录仿真各典型环节的单位阶跃响应,并研究参数变化对输出响应的影响。

②实验思考题

A)积分环节和惯性环节主要差别是什么?在什么条件下,惯性环节可以近似地视为积分环节?而又在什么条件下,惯性环节可以近似地视为比例环节?

B)在积分环节和惯性环节实验中,如何根据单位阶跃响应曲线的波形,确定积分环节和惯性环节的时间常数?

(3)仿真题目

在SIMULINK 环境下搭建阶跃响应时的模型,并用示波器观测输出波形

A)2

21

)(2+++=s s s s G (传递函数形式)

B ))

6)(5)(1(2

)(++++=s s s s s G (零极点形式)

将上面题目中的示波器横轴终值修改为50。 4. 实验报告

1) 写出SIMULINK 模块库的特点。 2) 如何修改用到的模块的参数。 3) 示波器模块的功能。

4) 完成仿真题目,并将答案记录与思考题回答。 5) 整理在实验过程中遇到的问题及如何解决的。 5. 预习要求

1) 阅读实验内容及实验目的。

2) 完成对SIMULINK 模块库的熟悉工作。

实验二 典型系统的时域响应分析

1. 实验目的

1) 通过用MATLAB 及SIMULINK 对控制系统的时域分析有感性认识。

2) 明确对于一阶系统,单位阶跃信号、单位斜坡信号以及单位脉冲信号的响应曲线图。 3) 对于二阶系统阶跃信号的响应曲线图以及不同阻尼比、不同自然角频率取值范围的二阶系统曲线比较图。

4) 利用MATLAB 软件来绘制高阶控制系统的零极点分布图,判断此系统是否有主导极点,能否用低阶系统来近似,并将高阶系统与低阶系统的阶跃响应特性进行比较

5)编制简单的M 文件程序。 2. 实验仪器

PC 计算机一台,MATLAB 软件1套 3. 实验内容 1)一阶系统的响应

(1) 一阶系统的单位阶跃响应

在SIMULINK 环境下搭建图1的模型,进行仿真,得出仿真曲线图。

图1 一阶系统的单位阶跃响应模型

分析仿真结果与理论情况是否统一,记录仿真曲线图。 (2) 一阶系统的单位斜坡响应 在SIMULINK 环境下搭建图2的模型,将示波器横轴终值修改为12进行仿真,得出仿真曲线图。

图2 一阶系统的单位斜坡响应模型

分析仿真结果与理论情况是否统一,记录仿真曲线图。 (3) 一阶系统的单位脉冲响应

在medit 环境下,编译一个.m 文件,利用impulse ()函数可以得出仿真曲线图。此处注意分析在SIMULINK 环境中可否得到该曲线图。 2)二阶系统的单位阶跃响应

二阶系统的闭环传递函数标准形式为

2

22

2)(n

n n s s s G ωζωω++=

其阶跃响应可以分以下情况解出

①当0=ζ时,系统阶跃响应为 )cos(1)(t t c n ω-=

②当10<<ζ时,系统阶跃响应为 )sin(111)(2

θωζ

ζω+--=-t e t c d t

n

其中ζζθ/121-=-tg ,21ζωω-=n d

③当1=ζ时,系统阶跃响应为 t n n e t t c ωω-+-=)1(1)(

④当1>ζ时,系统阶跃响应为 ???? ??---=21

2

21121)(λλζωλλt t n

e e t c 其中121---=ζζλ,122-+-=ζζλ

为了分析阻尼比ζ、自然角频率n ω对系统暂态响应的影响,就必须求得系统的阶跃响应曲线。用MATLAB 得到二阶系统阶跃响应曲线的实现方法有三种:

A. 利用二阶系统的阶跃响应公式和MATLAB 语言的if-elseif-end 和for 循环等函数和指令,在medit 环境下,编译了一个.m 文件,可得到二阶系统阶跃响应仿真曲线图。注:if-elseif-end ()函数和for 指令可通过帮助文件查找其用法。

B.利用单位阶跃响应step()、figure()和hold on()等函数和指令,在medit 环境下,编译一个.m 文件,可得到单位阶跃信号仿真曲线图。注:Step()、figure()和hold on()等函数和指令可通过帮助文件查找其用法。其编程思想见《自动控制理论》书上p110~111的例3-13-7.

C. 使用MA TLAB 软件中的SIMULINK 工具箱实现。

(1)自然角频率1=n ω

选取不同阻尼比=ζ0,0.2,0.4,0.6,0.8,1.0,2.0,用MATLAB 得到二阶系统阶跃响应曲线。

本题采用第一种编程方法,参考程序清单:

wn=1;cc=[];t=0:0.1:12;zetas=[0:0.2:1,2]; L1=length(zetas); for i=1:L1

z=zetas(i); if z==0

c=1-cos(wn*t); elseif (z>0 & z<1)

wd=wn*sqrt(1-z^2);th=atan(sqrt(1-z^2)/z); c=1-exp(-z*wn*t).*sin(wd*t+th)/sqrt(1-z^2); elseif z==1

c=1-(1+wn*t).*exp(-wn*t); elseif z>1

lam1=-z-sqrt(z^2-1);lam2=-z+sqrt(z^2-1);

c=1-0.5*wn*(exp(lam1*t)/lam1-exp(lam2*t)/lam2)/sqrt(z^2-1); end

cc=[cc;c] end

plot(t,cc);

运行以上程序得到实验结果

实验结果分析:在图中标注阻尼比ζ的值,分析ζ对系统的影响。

(2)阻尼比5.0=ζ

选取不同自然角频率=n ω0.2,0.4,0.6,0.8,1.0,用MATLAB 得到二阶系统阶跃响应曲线,并分析比较不同自然角频率对应的系统输出的情况。

本题采用第三种,在SIMULINK 环境下搭建图1的模型,进行仿真,二阶系统阶跃响应曲线。

实验结果分析:在图中标注不同自然角频率n ω值,分析n ω对系统的影响。

(3) 系统动态性能分析

对于20

520

)(2++=s s s G 表示的二阶系统

①用《自动控制理论》书上的公式,求系统的性能指标:上升时间、峰值时间、超调量以及调整时间。

②利用单位阶跃响应Step( ),用MATLAB 编程得到当输入单位阶跃信号时,系统的性能指标:上升时间、峰值时间、超调量以及调整时间。

参考程序清单:

num=[20];den=[1 5 20];%系统模型 step(num,den) %绘制阶跃响应曲线

在自动绘制的系统阶跃响应曲线上,若单击曲线上某点,则可以显示该点的时间信息和响应的幅值信息,从而可以容易得到系统的性能指标:上升时间、峰值时间、超调量以及调整时间。

3)高阶系统的单位阶跃响应

已知高阶系统的闭环传递函数为

45

514.678.296.845

)(2

345

+++++=s s s s s s G

用下式低阶系统近似原系统

1

6.01

)(2

++=s s s G

(1)用MATLAB 分别求原系统和降阶系统的零点Z 、极点P 和增益K ,依据自控理论和它们的零、极点图和增益K ,判断该是否可用低阶系统近似原系统

用MATLAB 在medit 环境下,编译一个.m 文件,参考程序清单: num=[45];den=[1,8.6,29.8,67.4,51,45];%原系统分子、分母多项式 G=tf(num,den);% 原系统传函

[Z,P,K]=tf2zp(num,den); %求原系统的零点Z 、极点P 和增益K num1=[1];den1=[1,0.6,1];%低阶系统分子、分母多项式

[Z1,P1,K1]=tf2zp(num,den);%求低阶系统的零点Z1、极点P1和增益K1 G1=tf(num1,den1);% 低阶系统传函

figure(1)

subplot(221);pzmap(G) %绘制原系统的零点、极点图 subplot(222);pzmap(G1) %绘制低阶系统的零点、极点图

subplot(223);pzmap(G) ;hold on;pzmap(G1);hold off %绘制原、低阶系统的零点、极点图 title('Pole-zero Map')

(2)利用单位阶跃响应step( )、figure( )和hold on( )等函数和指令,在medit 环境下,编译一个.m 文件,能够将原系统和降阶系统的单位阶跃响应绘制在一个图中,记录它们的响应曲线和暂态性能指标(上升时间、峰值时间、超调量以及调整时间),进行比较分析。其编程思想见《自动控制理论》书上p110~111的例3-13-7。 4. 实验报告

1) 记录上述一阶系统实验的曲线图。

2) 设计表格记录上述二阶系统(1)和(2)实验的曲线图,分析二阶系统中ζ、n ω对系统响应的影响;记录上述二阶系统(3)实验的曲线图,设计表格比较曲线图与理论值所得系统的性能指标(上升时间、峰值时间、超调量以及调整时间)的异同,并给出结论。

3) 记录上述高阶系统(1)实验原高阶系统和降阶系统的零点Z 、极点P 和增益K ,和它们的零、极点图;回答此问题:原高阶系统是否可用低阶系统近似?

4)写出上述高阶系统(2)实验的程序代码,设计表格记录原系统和降阶系统的单位阶跃响应曲线和暂态性能指标(上升时间、峰值时间、超调量以及调整时间),进行比较分析。

5) 整理在实验过程中遇到的问题及解决方案。 5. 预习要求

1) 阅读实验内容及实验目的。

2)明确对控制系统进行时域分析的目的。

实验三线性控制系统的根轨迹与频域分析

1. 实验目的

1) 通过用MATLAB 及SIMULINK 对控制系统的频域分析有感性认识。

2) 能够利用MATLAB 仿真软件得到任何传递函数所对应的根轨迹图、伯徳图和乃奎斯特图。

3) 能利用根轨迹图对控制系统性能进行分析。

4) 能利用伯徳图和乃奎斯特图对控制系统性能进行分析。

2. 实验仪器

PC计算机一台,MATLAB软件1套

3. 相关函数说明

1)绘制根轨迹函数。

MATLAB提供了rlocus()函数,可以直接用于系统常规根轨迹绘制,根轨迹函数的调用方法也很直观,其调用格式为

rlocus(G)或rlocus(num,den)

其中G为系统的开环传递函数,num, den 分别为G系统传递函数的分子和分母多项式系数向量。

在绘制出的根轨迹上,如果用鼠标单击某个点,将显示关于这个点的有关信息,包括这个点处的增益值对应的系统特征根的值和可能的闭环系统阻尼比和超调量等。

在s平面中绘制根轨迹的同时,可用sgrid函数绘制阻尼比和自然振荡角频率的栅格,有助于系统分析。

2)绘制伯徳图函数。

命令bode 可以计算线性连续定常系统频率响应的幅值和相角。当不带左端变量时,MATLAB 可以在屏幕上产生伯德图。

当包含左端变量时,即

[ mag, phase, ω]=bode (num, den, ω)

命令bode 将把系统的频率响应转变成mag,phase 和ω矩阵,这时在屏幕上不显示频率响应图。矩阵mag 和phase 包含系统频率响应的幅值和相角,这些幅值和相角值是在用户指定的频率点上计算得到的。相角以度来表示,表达式magdB=20*log10 (mag)可以把幅值转变成分贝。

为了指明频率范围,采用命令logspace (d1, d2)或logspace(d1, d2, n)。logspace (d1, d2)在两个十进制数10d1和10d2之间产生一个由50 个点组成的矢量,这50 个点彼此在对数上有相等的距离。这就是说,在0.1rad/s 与100rad/s 之间,将产生50 个点。为此输入命令:

ω=logspace (-1, 2)

logspace (d1, d2, n)在十进制数10d1和10d2之间,产生n 个在对数上相等距离的点。例如为了在1rad/s 与1000rad/s 之间产生100 个点,输入下列命令:

ω=logspace (0, 3, 100)

当画伯德图时,为了将这些频率包括进去,采用命令bode (num, den, ω)。

为了绘制的Bode图中标有相角裕度和增益裕度,还可使用margin()函数,其调用格式为

margin(G)或margin (num,den)

其中G为系统的开环传递函数,num, den 分别为G系统传递函数的分子和分母多项式系数向量。

3) 绘制乃奎斯特图函数。

命令nyquist可以计算线性连续定常系统的乃奎斯特频率曲线。当不带左端变量时,MATLAB 可以在屏幕上产生乃奎斯特图,其调用格式为

nyquist (G)或 nyquist (num,den)

其中G 为系统的开环传递函数,num , den 分别为G 系统传递函数的分子和分母多项式系数向量。

当包含左端变量时,即

[ re, im,ω]= nyquist (num, den, ω)

命令nyquist 将把系统的频率响应转变成re ,im 和ω矩阵,这时在屏幕上不显示频率响应图。矩阵re 和im 分别表示系统频率响应的实频和虚频特性,这些实频值和虚频值是在用户指定的频率点上计算得到的。

4. 实验内容

4.1 控制系统的根轨迹分析

1)设已知单位反馈系统的开环传递函数为

)

3)(1()(1

++=

s s s K s G

(1)请编写程序绘制开环增益K 1变化时的根轨迹,并由根轨迹图分析K 1变化对闭环系统稳定性的影响:

①K 1等于何值时,闭环极点有一对在虚轴上的根,闭环系统处于无阻尼0=ζ状态,系统等幅振荡临界稳定;

②K 1在什么范围时,根轨迹进入s 右半平面,闭环系统处于阻尼0<ζ状态,系统发散不稳定;

③K 1为何值时,闭环极点有一对实部为负的相等实根,闭环系统处于临界阻尼1=ζ状态,系统为单调衰减过程;

④K 1在什么范围时,闭环极点有一对实部为负的共轭复数,闭环系统处于欠阻尼10<<ζ状态,系统为衰减振荡过程;

⑤K 1为何值时,根轨迹与7.0=ζ等阻尼线相交,闭环极点有一对实部为负的共轭复数,系统呈现最佳衰减振荡过程。

②请编写程序绘制出在不同K 1时,系统的闭环传递阶跃响应曲线以验证①中分析。

程序参考清单:

s=tf('s');G1=1/(s*(s+1)*(s+3));

figure(1) %创建图形窗口1 rlocus(G1);sgrid

K1=12;K2=13;K3=0.7; K4=5.75; K5=1.1; figure(2) %创建图形窗口2

subplot(221);step(feedback(G1*K1,1)) %图形窗口2被分为2行2列4个子窗口,在第1个 %子窗口,绘制K 1=12的单位反馈闭环阶跃响应曲线 subplot(222);step(feedback(G1*K2,1)) %在第2个子窗口,绘制K 1=13的单位反馈闭环阶跃

%响应曲线

subplot(223);step(feedback(G1*K3,1)) %在第3个子窗口,绘制K 1=0.7的单位反馈闭环阶跃

%响应曲线

subplot(224);step(feedback(G1*K4,1)),hold on, step(feedback(G1*K5,1)),hold off

%在第4个子%窗口,绘制K 1=5.75和 K1=1.1的2个 %单位反馈闭%环阶跃响应曲线

注:feedback ()函数可通过帮助文件查找其用法。 2)设已知单位反馈系统的开环传递函数为

)

2()(2

1

+=

s s K s G

若增加一个零点z=-1, 单位反馈系统的开环传递函数变为

)

2()

1()(21

++=s s s K s G ①请编写程序绘制开环增益K 1变化时,这两个系统的根轨迹;

②分析这两个系统的稳定性,看增加的开环零点z=-1,对系统稳定性有何影响? ④请编写程序绘制K 1=8时,系统的闭环传递阶跃响应曲线以验证②分析 3)设系统的框图如图1所示

图1 有局部反馈的系统框图

①编写程序绘制以a 为变量的根轨迹,来确定临界阻尼时的a 值

②编写程序绘制无局部反馈时(a =0)系统单位斜坡响应的曲线与误差曲线,以求稳态误差;绘制无局部反馈时(a =0)系统单位阶跃响应的曲线,以求系统暂态性能指标(上升时间、峰值时间、超调量以及调整时间)。

③编写程序绘制有局部反馈时(a =2)系统单位斜坡响应的曲线与误差曲线,以求稳态误差;绘制有局部反馈时(a =2)系统单位阶跃响应的曲线,以求系统暂态性能指标(上升时间、峰值时间、超调量以及调整时间)。

参考程序清单:

s=tf('s');Geq=s/(s^2+s+1); figure(1)

rlocus(Geq);sgrid t=[0:0.01:15];u=t;

G1=1/(s^2+3*s+1); %无局部反馈时(a =0)系统的闭环传函

c1=lsim(G1,u,t); %在斜坡信号u=t 下,无局部反馈系统输出响应为c1 e1=u-c1'; %在斜坡信号u=t 下,无局部反馈系统输出误差 G2=1/(s^2+1.2*s+1); %有局部反馈时(a =2)系统的闭环传函

c2=lsim(G2,u,t); %在斜坡信号u=t 下,有局部反馈系统输出响应为c2 e2=u-c2'; %在斜坡信号u=t 下,有局部反馈系统输出误差 figure(3)

subplot(221);plot(t,u,'k',u,c1,'r',u,c2,'b') %绘制斜坡信号u=t 曲线,a =0和a =2

%单位斜坡响应的曲线

subplot(222);plot(t,e1,'r',t,e2,'b');grid %绘制a =0和a =2单位斜坡响应的误差

%曲线

subplot(223);step(G1,'r',G2,'b');%绘制a =0和a =2系统单位阶跃响应的曲线 4.2 控制系统的频域分析

会址下列各控制系统伯特图和乃奎斯特图。

1)典型二阶系统2

22

2)(n

n n s s s G ωζωω++=绘制ζ取不同值时的Bode 图。 取6=n ω,]0.1:1.0:1.0[=ζ时的二阶系统的Bode 图,也可采用Bode( )函数得到。

实验参考程序清单:

wn=6;kosi=[0.1:0.1:1.0];

w=logspace(-1,1,100);num=[wn^2]; L1=length(kosi);figure(1) for i=1:L1

kos=kosi(i);

den=[1 2*kos*wn wn^2]; hold on; bode(num, den,w); end

hold off

运行以上程序得到Bode 图,并进行分析。

2)已知单位反馈系统的任一开环传递函数,利用margin()函数、nyquist ()函数绘制下列各控制系统伯德图和乃奎斯特图,并求相角裕度和增益裕度。

(1) )

21)(1(1

)(s s s G ++=

参考程序如下: s=tf('s');

G=1/((1+s)*(1+2*s)); figure(1) ;nyquist(G)

figure(2) ; margin(G); grid

运行以上程序得到系统伯德图和乃奎斯特图,相角裕度和增益裕度。

(2))

21)(1(1

)(s s s s G ++=

(3))

15.0)(11.0(10

)(++=s s s s G

(4))

21)(1(1

)(s s s s G ++=

3) 设有单位负反馈、I 型系统的对象传递函数为

)

4)(1(5

)(0++=s s s s G

现在系统中附加一个零点和一个极点,其传递函数为

)

95.4()

2.1(94.5)(++=

s s s G c 这样,附加零、极点后,系统的开环传递函数为

现代信号处理Matlab仿真——例611

例6.11 利用卡尔曼滤波估计一个未知常数 题目: 设已知一个未知常数x 的噪声观测集合,已知噪声v(n)的均值为零, 方差为 ,v(n)与x 不相关,试用卡尔曼滤波估计该常数 题目分析: 回忆Kalman 递推估计公式 由于已知x 为一常数,即不随时间n 变化,因此可以得到: 状态方程: x(n)=x(n-1) 观测方程: y(n)=x(n)+v(n) 得到A(n)=1,C(n)=1, , 将A(n)=1,代入迭代公式 得到:P(n|n-1)=P(n-1|n-1) 用P(n-1)来表示P(n|n-1)和P(n-1|n-1),这是卡尔曼增益表达式变为 从而 2v σ1??(|1)(1)(1|1)(|1)(1)(1|1)(1)()()(|1)()[()(|1)()()]???(|)(|1)()[()()(|1)](|)[()()](|1)H w H H v x n n A n x n n P n n A n P n n A n Q n K n P n n C n C n P n n C n Q n x n n x n n K n y n C n x n n P n n I K n C n P n n --=----=----+=--+=-+--=--2()v v Q n σ=()0w Q n =(|1)(1)(1|1)(1)()H w P n n A n P n n A n Q n -=----+21 ()(|1)[(|1)]v K n P n n P n n σ-=--+22(1)()[1()](1)(1)v v P n P n K n P n P n σσ-=--=-+

数学实验练习题(MATLAB)

注意:在下面的题目中m 为你的学号的后3位(1-9班)或4位(10班以上). 第一次练习题 1.求解下列各题: 1)30sin lim x mx mx x ->- 2)(4)cos ,1000.0=x mx y e y 求 3)21/2 0mx e dx ?(求近似值,可以先用inline 定义被积函数,然后用quad 命令) 4)4 224x dx m x +? 5 0x =展开(最高次幂为8). 2.对矩阵21102041A m -?? ?= ? ?-?? ,分别求逆矩阵,特征值,特征向量,行列式,并求矩阵,P D (D 是对角矩阵),使得1A PDP -=。 3. 已知2 1(),()2f x e x μσ=--分别在下列条件下画出)(x f 的图形: (1)/600m σ=,μ分别为0,1,1-(在同一坐标系上作图); (2)0μ=,σ分别为1,2,4,/100m (在同一坐标系上作图). 4.画 (1)sin 020cos 02100x u t t y u t u t z m ??=≤≤?=?≤≤??=?

(2) sin()03,03z mxy x y =≤≤≤≤ (3)sin()(/100cos )02cos()(/100cos )02sin x t m u t y t m u u z u π π=+?≤≤?=+?≤≤?=? 的图(第4题只要写出程序). 5.对于方程50.10200 m x x --=,先画出左边的函数在合适的区间上的图形,借助于软件中的方程求根的命令求出所有的实根,找出函数的单调区间,结合高等数学的知识说明函数为什么在这些区间上是单调的,以及该方程确实只有你求出的这些实根。最后写出你做此题的体会. 第二次练习题 判断迭代收敛速度的程序 x0=1;stopc=1;eps=10^(-8);a=1;c=1;b=2*c;d=a;k=0; f=inline('(a*x+b)/(c*x+d)'); kmax=100; while stopc>eps&k

MATLAB仿真实验报告

MATLAB 仿真实验报告 课题名称:MATLAB 仿真——图像处理 学院:机电与信息工程学院 专业:电子信息科学与技术 年级班级:2012级电子二班 一、实验目的 1、掌握MATLAB处理图像的相关操作,熟悉相关的函数以及基本的MATLAB语句。 2、掌握对多维图像处理的相关技能,理解多维图像的相关性质 3、熟悉Help 命令的使用,掌握对相关函数的查找,了解Demos下的MATLAB自带的原函数文件。 4、熟练掌握部分绘图函数的应用,能够处理多维图像。 二、实验条件

MATLAB调试环境以及相关图像处理的基本MATLAB语句,会使用Help命令进行相关函数查找 三、实验内容 1、nddemo.m函数文件的相关介绍 Manipulating Multidimensional Arrays MATLAB supports arrays with more than two dimensions. Multidimensional arrays can be numeric, character, cell, or structure arrays. Multidimensional arrays can be used to represent multivariate data. MATLAB provides a number of functions that directly support multidimensional arrays. Contents : ●Creating multi-dimensional arrays 创建多维数组 ●Finding the dimensions寻找尺寸 ●Accessing elements 访问元素 ●Manipulating multi-dimensional arrays操纵多维数组 ●Selecting 2D matrices from multi-dimensional arrays从多维数组中选择二维矩 阵 (1)、Creating multi-dimensional arrays Multidimensional arrays in MATLAB are created the same way as two-dimensional arrays. For example, first define the 3 by 3 matrix, and then add a third dimension. The CAT function is a useful tool for building multidimensional arrays. B = cat(DIM,A1,A2,...) builds a multidimensional array by concatenating(联系起来)A1, A2 ... along the dimension DIM. Calls to CAT can be nested(嵌套). (2)、Finding the dimensions SIZE and NDIMS return the size and number of dimensions of matrices. (3)、Accessing elements To access a single element of a multidimensional array, use integer subscripts(整数下标). (4)、Manipulating multi-dimensional arrays

Matlab通信系统仿真实验报告

Matlab通信原理仿真 学号: 2142402 姓名:圣斌

实验一Matlab 基本语法与信号系统分析 一、实验目的: 1、掌握MATLAB的基本绘图方法; 2、实现绘制复指数信号的时域波形。 二、实验设备与软件环境: 1、实验设备:计算机 2、软件环境:MATLAB R2009a 三、实验内容: 1、MATLAB为用户提供了结果可视化功能,只要在命令行窗口输入相应的命令,结果就会用图形直接表示出来。 MATLAB程序如下: x = -pi::pi; y1 = sin(x); y2 = cos(x); %准备绘图数据 figure(1); %打开图形窗口 subplot(2,1,1); %确定第一幅图绘图窗口 plot(x,y1); %以x,y1绘图 title('plot(x,y1)'); %为第一幅图取名为’plot(x,y1)’ grid on; %为第一幅图绘制网格线 subplot(2,1,2) %确定第二幅图绘图窗口 plot(x,y2); %以x,y2绘图 xlabel('time'),ylabel('y') %第二幅图横坐标为’time’,纵坐标为’y’运行结果如下图: 2、上例中的图形使用的是默认的颜色和线型,MATLAB中提供了多种颜色和线型,并且可以绘制出脉冲图、误差条形图等多种形式图: MATLAB程序如下: x=-pi:.1:pi; y1=sin (x); y2=cos (x); figure (1); %subplot (2,1,1); plot (x,y1); title ('plot (x,y1)'); grid on %subplot (2,1,2); plot (x,y2);

Matlab仿真实例-卫星轨迹

卫星轨迹 一.问题提出 设卫星在空中运行的运动方程为: 其中是k 重力系数(k=401408km3/s)。卫星轨道采用极坐标表示,通过仿真,研究发射速度对卫星轨道的影响。实验将作出卫星在地球表面(r=6400KM ,θ=0)分别以v=8KM/s,v=10KM/s,v=12KM/s 发射时,卫星绕地球运行的轨迹。 二.问题分析 1.卫星运动方程一个二阶微分方程组,应用Matlab 的常微分方程求解命令ode45求解时,首先需要将二阶微分方程组转换成一阶微分方程组。若设,则有: 2.建立极坐标如上图所示,初值分别为:卫星径向初始位置,即地球半径:y(1,1)=6400;卫星初始角度位置:y(2,1)=0;卫星初始径向线速度:y(3,1)=0;卫星初始周向角速度:y(4,1)=v/6400。 3.将上述一阶微分方程及其初值带入常微分方程求解命令ode45求解,可得到一定时间间隔的卫星的径向坐标值y(1)向量;周向角度坐标值y(2)向量;径向线速度y(3)向量;周向角速度y(4)向量。 4.通过以上步骤所求得的是极坐标下的解,若需要在直角坐标系下绘制卫星的运动轨迹,还需要进行坐标变换,将径向坐标值y(1)向量;周向角度坐标值y(2)向量通过以下方程转换为直角坐标下的横纵坐标值X,Y 。 5.卫星发射速度速度的不同将导致卫星的运动轨迹不同,实验将绘制卫星分别以v=8KM/s ,v=10KM/s ,v=12KM/s 的初速度发射的运动轨迹。 三.Matlab 程序及注释 1.主程序 v=input('请输入卫星发射速度单位Km/s :\nv=');%卫星发射速度输入。 axis([-264007000-1000042400]);%定制图形输出坐标范围。 %为了直观表达卫星轨迹,以下语句将绘制三维地球。 [x1,y1,z1]=sphere(15);%绘制单位球。 x1=x1*6400;y1=y1*6400;???????-=+-=dt d dt dr r dt d dt d r r k dt r d θ θθ2)(2 22222θ==)2(,)1(y r y ?????????????**-=**+*-===)1(/)4()3(2)4()4()4()1()1()1()3()4()2() 3()1(y y y dt dy y y y y y k dt dy y dt dy y dt dy ???*=*=)] 2(sin[)1(Y )]2(cos[)1(X y y y y

MATLAB仿真实验全部

实验一 MATLAB 及仿真实验(控制系统的时域分析) 一、实验目的 学习利用MATLAB 进行控制系统时域分析,包括典型响应、判断系统稳定性和分析系统的动态特性; 二、预习要点 1、 系统的典型响应有哪些 2、 如何判断系统稳定性 3、 系统的动态性能指标有哪些 三、实验方法 (一) 四种典型响应 1、 阶跃响应: 阶跃响应常用格式: 1、)(sys step ;其中sys 可以为连续系统,也可为离散系统。 2、),(Tn sys step ;表示时间范围0---Tn 。 3、),(T sys step ;表示时间范围向量T 指定。 4、),(T sys step Y =;可详细了解某段时间的输入、输出情况。 2、 脉冲响应: 脉冲函数在数学上的精确定义:0 ,0)(1)(0 ?==?∞ t x f dx x f 其拉氏变换为:) ()()()(1)(s G s f s G s Y s f === 所以脉冲响应即为传函的反拉氏变换。 脉冲响应函数常用格式: ① )(sys impulse ; ② ); ,();,(T sys impulse Tn sys impulse ③ ),(T sys impulse Y = (二) 分析系统稳定性 有以下三种方法: 1、 利用pzmap 绘制连续系统的零极点图; 2、 利用tf2zp 求出系统零极点; 3、 利用roots 求分母多项式的根来确定系统的极点 (三) 系统的动态特性分析 Matlab 提供了求取连续系统的单位阶跃响应函数step 、单位脉冲响应函数impulse 、零输入响应函数initial 以及任意输入下的仿真函数lsim.

一个简单的Matlab_GUI编程实例

Matlab GUI编程教程(适用于初学者) 1.首先我们新建一个GUI文件:如下图所示; 选择Blank GUI(Default) 2.进入GUI开发环境以后添加两个编辑文本框,6个静态文本框,和一个按钮,布置如下

图所示; 布置好各控件以后,我们就可以来为这些控件编写程序来实现两数相加的功能了。3.我们先为数据1文本框添加代码; 点击上图所示红色方框,选择edit1_Callback,光标便立刻移到下面这段代码的位置。 1. 2. 3.function edit1_Callback(hObject, eventdata, handles) 4.% hObject handle to edit1 (see GCBO) 5.% eventdata reserved - to be defined in a future version of MATLAB

6.% handles structure with handles and user data (see GUIDATA) 7.% Hints: get(hObject,'String') returns contents of edit1 as text 8.% str2double(get(hObject,'String')) returns contents of edit1 as a double 复制代码 然后在上面这段代码的下面插入如下代码: 1. 2.%以字符串的形式来存储数据文本框1的内容. 如果字符串不是数字,则现实空白内容input = str2num(get(hObject,'String')); %检查输入是否为空. 如果为空,则默认显示为0if (isempty(input)) set(hObject,'String','0')endguidata(hObject, handles); 复制代码 这段代码使得输入被严格限制,我们不能试图输入一个非数字。 4.为edit2_Callback添加同样一段代码 5 现在我们为计算按钮添加代码来实现把数据1和数据2相加的目的。 用3中同样的方法在m文件中找到pushbutton1_Callback代码段 如下; 1.function pushbutton1_Callback(hObject, eventdata, handles) 2.% hObject handle to pushbutton1 (see GCBO) 3.% eventdata reserved - to be defined in a future version of MATLAB 4.% handles structure with handles and user data (see GUIDATA) 复制代码

(整理)matlab实例教程-比较实用.

实验一特殊函数与图形 一、问题背景与实验目的 二、相关函数(命令)及简介 三、实验内容 四、自己动手 一、问题背景与实验目的 著名的Riemann函数大家都很熟悉了,但是关于它的图像你是否清楚呢除了最上面那几点,其他都很难画吧你想不想看看下面那些“挤在一起”的点是怎样分布的呢还有几何中的马鞍面、单叶双曲面等是怎样由直线生成的,是不是也想目睹一下呢这些,都离不开绘图. 实际上绘图一直是数学中的一种重要手段,借助图形,往往可以化繁为简,使抽象的对象得到明白直观的体现.比如函数的基本性质,一个图形常可以使之一目了然,非常有效.它虽不能代替严格的分析与证明,但在问题的研究过程中,可以帮助研究人员节约相当一部分精力.此外,它还可以使计算、证明、建模等的结果得到更明白易懂的表现,有时,这比科学论证更有说服力.同时,数学的教学与学习过程也离不开绘图.借助直观的图形,常可以使初学者更容易接受新知识.如数学分析中有不少函数,其解析式着实让人望而生畏,即使对其性质作了详尽的分析,还是感到难明就里;但如果能看到它的图形,再配合理论分析,则问题可以迎刃而解.又如在几何的学习中,会遇到大量的曲线与曲面,也离不开图形的配合. 传统的手工作图,往往费力耗时,效果也不尽理想.计算机恰恰弥补了这个不足,使你可以方便地指定各种视角、比例、明暗,从各个角度进行观察.本实验通过对函数的图形表示和几个曲面(线)图形的介绍,一方面展示它们的特点,另一方面,也将就Matlab软件的作图功能作一个简单介绍.大家将会看到,Matlab 的作图功能非常强大. 二、相关函数(命令)及简介 1.平面作图函数:plot,其基本调用形式: plot(x,y,s) 以x作为横坐标,y作为纵坐标.s是图形显示属性的设置选项.例如:x=-pi:pi/10:pi; y=sin(x); plot(x,y,'--rh','linewidth',2,'markeredgecolor','b','markerfac ecolor','g')

MATLAB实现通信系统仿真实例

补充内容:模拟调制系统的MATLAB 仿真 1.抽样定理 为了用实验的手段对连续信号分析,需要先对信号进行抽样(时间上的离散化),把连续数据转变为离散数据分析。抽样(时间离散化)是模拟信号数字化的第一步。 Nyquist 抽样定律:要无失真地恢复出抽样前的信号,要求抽样频率要大于等于两倍基带信号带宽。 抽样定理建立了模拟信号和离散信号之间的关系,在Matlab 中对模拟信号的实验仿真都是通过先抽样,转变成离散信号,然后用该离散信号近似替代原来的模拟信号进行分析的。 【例1】用图形表示DSB 调制波形)4cos()2cos(t t y ππ= 及其包络线。 clf %%计算抽样时间间隔 fh=1;%%调制信号带宽(Hz) fs=100*fh;%%一般选取的抽样频率要远大于基带信号频率,即抽样时间间隔要尽可能短。 ts=1/fs; %%根据抽样时间间隔进行抽样,并计算出信号和包络 t=(0:ts:pi/2)';%抽样时间间隔要足够小,要满足抽样定理。 envelop=cos(2*pi*t);%%DSB 信号包络 y=cos(2*pi*t).*cos(4*pi*t);%已调信号 %画出已调信号包络线 plot(t,envelop,'r:','LineWidth',3); hold on plot(t,-envelop,'r:','LineWidth',3); %画出已调信号波形 plot(t,y,'b','LineWidth',3); axis([0,pi/2,-1,1])% hold off% xlabel('t'); %写出图例 【例2】用图形表示DSB 调制波形)6cos()2cos(t t y ππ= 及其包络线。 clf %%计算抽样时间间隔 fh=1;%%调制信号带宽(Hz) fs=100*fh;%抽样时间间隔要足够小,要满足抽样定理。 ts=1/fs; %%根据抽样时间间隔进行抽样

南邮MATLAB数学实验答案(全)

第一次练习 教学要求:熟练掌握Matlab 软件的基本命令和操作,会作二维、三维几何图形,能够用Matlab 软件解决微积分、线性代数与解析几何中的计算问题。 补充命令 vpa(x,n) 显示x 的n 位有效数字,教材102页 fplot(‘f(x)’,[a,b]) 函数作图命令,画出f(x)在区间[a,b]上的图形 在下面的题目中m 为你的学号的后3位(1-9班)或4位(10班以上) 1.1 计算30sin lim x mx mx x →-与3 sin lim x mx mx x →∞- syms x limit((902*x-sin(902*x))/x^3) ans = 366935404/3 limit((902*x-sin(902*x))/x^3,inf) ans = 0 1.2 cos 1000 x mx y e =,求''y syms x diff(exp(x)*cos(902*x/1000),2) ans = (46599*cos((451*x)/500)*exp(x))/250000 - (451*sin((451*x)/500)*exp(x))/250 1.3 计算 22 11 00 x y e dxdy +?? dblquad(@(x,y) exp(x.^2+y.^2),0,1,0,1) ans = 2.1394 1.4 计算4 2 2 4x dx m x +? syms x int(x^4/(902^2+4*x^2)) ans = (91733851*atan(x/451))/4 - (203401*x)/4 + x^3/12 1.5 (10)cos ,x y e mx y =求 syms x diff(exp(x)*cos(902*x),10) ans = -356485076957717053044344387763*cos(902*x)*exp(x)-3952323024277642494822005884*sin(902*x)*exp(x) 1.6 0x =的泰勒展式(最高次幂为4).

MATLAB Simulink系统建模与仿真 实验报告

MATLAB/Simulink 电力系统建模与仿真 实验报告 姓名:****** 专业:电气工程及其自动化 班级:******************* 学号:*******************

实验一无穷大功率电源供电系统三相短路仿真 1.1 无穷大功率电源供电系统仿真模型构建 运行MATLAB软件,点击Simulink模型构建,根据电路原理图,添加下列模块: (1)无穷大功率电源模块(Three-phase source) (2)三相并联RLC负荷模块(Three-Phase Parallel RLC Load) (3)三相串联RLC支路模块(Three-Phase Series RLC Branch) (4)三相双绕组变压器模块(Three-Phase Transformer (Two Windings)) (5)三相电压电流测量模块(Three-Phase V-I Measurement) (6)三相故障设置模块(Three-Phase Fault) (7)示波器模块(Scope) (8)电力系统图形用户界面(Powergui) 按电路原理图连接线路得到仿真图如下: 1.2 无穷大功率电源供电系统仿真参数设置 1.2.1 电源模块 设置三相电压110kV,相角0°,频率50Hz,接线方式为中性点接地的Y形接法,电源电阻0.00529Ω,电源电感0.000140H,参数设置如下图:

1.2.2 变压器模块 变压器模块参数采用标幺值设置,功率20MVA,频率50Hz,一次测采用Y型连接,一次测电压110kV,二次侧采用Y型连接,二次侧电压11kV,经过标幺值折算后的绕组电阻为0.0033,绕组漏感为0.052,励磁电阻为909.09,励磁电感为106.3,参数设置如下图: 1.2.3 输电线路模块 根据给定参数计算输电线路参数为:电阻8.5Ω,电感0.064L,参数设置如下图: 1.2.4 三相电压电流测量模块 此模块将在变压器低压侧测量得到的电压、电流信号转变成Simulink信号,相当于电压、电流互感器的作用,勾选“使用标签(Use a label)”以便于示波器观察波形,设置电压标签“Vabc”,电流标签“Iabc”,参数设置如下图:

增量调制MATLAB仿真实验

增量调制MATLAB仿真实验

增量调制(DM)实验 一、实验目的 (1)进一步掌握MATLAB的应用。 (2)进一步掌握计算机仿真方法。 (3)学会用MATLAB软件进行增量调制(DM)仿真实验。 二、实验原理 增量调制是由PCM发展而来的模拟信号数字化的一种编码方式,它是PCM的一种特例。增量调制编码基本原理是指用一位编码,这一位码不是表示信号抽样值的大小,而是表示抽样幅度的增量特性,即采用一位二进制数码“1”或“0”来表示信号在抽样时刻的值相对于前一个抽样时刻的值是增大还是减小,增大则输出“1”码,减小则输出“0”码。输出的“1”,“0”只是表示信号相对于前一个时刻的增减,不表示信号的绝对值。 增量调制最主要的特点就是它所产生的二进制代码表示模拟信号前后两个抽样值的差别(增加、还是减少)而不是代表抽样值本身的大小,因此把它称为增量调制。在增量调制系统的发端调制后的二进制代码1和0只表示信号这一个抽样时刻相对于前一个抽样时刻是增加(用1码)还是减少(用0码)。收端译码器每收到一个1码,译码器的输出相对于前一个时刻的值上升一个量化阶,而收到一个0码,译码器的输出相对于前一个时刻的值下降一个量化阶。 增量调制(DM)是DPCM的一种简化形式。在增量调制方式下,采用1比特量化器,即用1位二进制码传输样值的增量信息,预测器是

一个单位延迟器,延迟一个采样时间间隔。预测滤波器的分子系数向量是[0,1],分母系数为1。当前样值与预测器输出的前一样值相比较,如果其差值大于零,则发1码,如果小于零则发0码。 三、实验内容 增量调制系统框图如图一所示,其中量化器是一个零值比较器,根据输入的电平极性,输出为 δ,预测器是一个单位延迟器,其输出为前一个采样时刻的解码样值,编码器也是一个零值比较器,若其输入为负值,则编码输出为0,否则输出为1。解码器将输入1,0符号转换为 δ,然后与预测值相加后得出解码样值输出,同时也作为预测器的输入 输入样值 e n e n =δsgn(e n ) 传输 n ) n n-1+δsgn(e n ) x n + - + + 预测输出 + n-1 + 预测输出 解码样值输出 x n-1 预测输入x n =x n-1+δsgn(e n ) 图一 增量调制原理框图 设输入信号为: x(t)=sin2π50t+0.5sin 2π150t 增量调制的采样间隔为1ms,量化阶距δ=0.4,单位延迟器初始值为0。建立仿真模型并求出前20个采样点使客商的编码输出序列以 解码 编码 二电平量化 单位延迟 单位 延迟

MATLAB 实用教程 课后习题答案

第二章 1.计算复数3+4i与5-6i的乘积。 a=3+4i b=5-6i c=a*b 2.构建结构体Students,属性包含Name、age和Email,数据包括{’Zhang’,18,*‘Zhang@16 https://www.doczj.com/doc/3010967468.html,’,’Zhang@https://www.doczj.com/doc/3010967468.html,’+}、{’Wang’,21,[]}和{’Li’,[],[]},构建后读取所有Name属性值,并且修改’Zhang’的Age属性值为19。 Students(1).Age=18 Students(1).Email='zhang@https://www.doczj.com/doc/3010967468.html,','zhang@https://www.doczj.com/doc/3010967468.html,' Students(2).Name='Wang' Students(2).Age=21 Students(2).Email=[] Students(3).Name='Li' Students(3).Age=[] Students(3).Email=[] https://www.doczj.com/doc/3010967468.html, Student(1).Age(1)=19 Student.Age 3.用满矩阵和稀疏矩阵存储方式分别构造下属矩阵: A=[0 1 0 0 0;1 0 0 0 0;0 0 0 0 0;0 0 0 1 0] A=[0 1 0 0 0;1 0 0 0 0;0 0 0 0 0;0 0 0 1 0] S=sparse(A) S=sparse([2,1,4],[1,2,4],[1,1,1],4,5) 4.采用向量构造符得到向量[1,5,9....,41]. A=1:4:41 5.按水平和竖直方向分别合并下述两个矩阵:A=[1 0 0;1 1 0;0 0 1],B=[2 3 4;5 6 7;8 9 10] A=[1 0 0;1 1 0;0 0 1] B=[2 3 4;5 6 7;8 9 10] C=[A B] D=[A;B] 6.分别删除第五题两个结果的第2行。 A=[1 0 0;1 1 0;0 0 1] B=[2 3 4;5 6 7;8 9 10] C=[A B] D=[A;B] C(2,:)=[] D(2,:)=[] 7.分别将第5题两个结果的第2行最后3列的数值改为[11 12 13]。 A=[1 0 0;1 1 0;0 0 1] B=[2 3 4;5 6 7;8 9 10] C=[A B] D=[A;B]

控制理论实验报告MATLAB仿真实验解析

实验报告 课程名称:控制理论(乙) 指导老师:林峰 成绩:__________________ 实验名称:MATLAB 仿真实验 实验类型:________________同组学生姓名:__________ 一、实验目的和要求(必填) 二、实验内容和原理(必填) 三、主要仪器设备(必填) 四、操作方法和实验步骤 五、实验数据记录和处理 六、实验结果与分析(必填) 七、讨论、心得 实验九 控制系统的时域分析 一、 实验目的: 1.用计算机辅助分析的办法,掌握系统的时域分析方法。 2.熟悉Simulink 仿真环境。 二、实验原理及方法: 系统仿真实质上就是对系统模型的求解,对控制系统来说,一般模型可转化成某个微分方程或差分方程表示,因此在仿真过程中,一般以某种数值算法从初态出发,逐步计算系统的响应,最后绘制出系统的响应曲线,进而可分析系统的性能。控制系统最常用的时域分析方法是,当输入信号为单位阶跃和单位冲激函数时,求出系统的输出响应,分别称为单位阶跃响应和单位冲激响应。在MATLAB 中,提供了求取连续系统的单位阶跃响应函数step ,单位冲激响应函数impulse ,零输入响应函数initial 等等。 二、实验内容: 二阶系统,其状态方程模型为 ? 1x -0.5572 -0.7814 1x 1 = + u ? 2x 0.7814 0 2x 0 1x y = [1.9691 6.4493] +[0] u 2x 四、实验要求: 1.编制MATLAB 程序,画出单位阶跃响应曲线、冲击响应曲线、系统的零输入响应、斜坡输入响应; (1)画出系统的单位阶跃响应曲线; A=[-0.5572 -0.7814;0.7814 0 ]; B=[1;0];

(完整版)MATLAB数学实验第二版答案(胡良剑)

数学实验答案 Chapter 1 Page20,ex1 (5) 等于[exp(1),exp(2);exp(3),exp(4)] (7) 3=1*3, 8=2*4 (8) a为各列最小值,b为最小值所在的行号 (10) 1>=4,false, 2>=3,false, 3>=2, ture, 4>=1,ture (11) 答案表明:编址第2元素满足不等式(30>=20)和编址第4元素满足不等式(40>=10) (12) 答案表明:编址第2行第1列元素满足不等式(30>=20)和编址第2行第2列元素满足不等式(40>=10) Page20, ex2 (1)a, b, c的值尽管都是1,但数据类型分别为数值,字符,逻辑,注意a与c相等,但他们不等于b (2)double(fun)输出的分别是字符a,b,s,(,x,)的ASCII码 Page20,ex3 >> r=2;p=0.5;n=12; >> T=log(r)/n/log(1+0.01*p) Page20,ex4 >> x=-2:0.05:2;f=x.^4-2.^x; >> [fmin,min_index]=min(f) 最小值最小值点编址 >> x(min_index) ans = 0.6500 最小值点 >> [f1,x1_index]=min(abs(f)) 求近似根--绝对值最小的点 f1 = 0.0328 x1_index = 24 >> x(x1_index) ans = -0.8500 >> x(x1_index)=[];f=x.^4-2.^x; 删去绝对值最小的点以求函数绝对值次小的点 >> [f2,x2_index]=min(abs(f)) 求另一近似根--函数绝对值次小的点 f2 = 0.0630 x2_index = 65 >> x(x2_index) ans = 1.2500

高频电子线路Matlab仿真实验

高频电子线路Matlab 仿真实验要求 1. 仿真题目 (1) 线性频谱搬移电路仿真 根据线性频谱搬移原理,仿真普通调幅波。 基本要求:载波频率为8kHz ,调制信号频率为400Hz ,调幅度为0.3;画出调制信号、载波信号、已调信号波形,以及对应的频谱图。 扩展要求1:根据你的学号更改相应参数和代码完成仿真上述仿真;载波频率改为学号的后5位,调制信号改为学号后3位,调幅度设为最后1位/10。(学号中为0的全部替换为1,例如学号2010101014,则载波为11114Hz ,调制信号频率为114,调幅度为0.4)。 扩展要求2:根据扩展要求1的条件,仿真设计相应滤波器,并获取DSB-SC 和SSB 的信号和频谱。 (2) 调频信号仿真 根据调频原理,仿真调频波。 基本要求:载波频率为30KHz ,调制信号为1KHz ,调频灵敏度32310f k π=??,仿真调制信号,瞬时角频率,瞬时相位偏移的波形。 扩展要求:调制信号改为1KHz 的方波,其它条件不变,完成上述仿真。 2. 说明 (1) 仿真的基本要求每位同学都要完成,并且记入实验基本成绩。 (2) 扩展要求可以选择完成。

1.0 >> ma = 0.3; >> omega_c = 2 * pi * 8000; >> omega = 2 * pi * 400; >> t = 0 : 5 / 400 / 1000 : 5 / 400; >> u_cm = 1; >> fc = cos(omega_c * t); >> fa = cos(omega * t); >> u_am = u_cm * (1 + fa).* fc; >> U_c =fft(fc,1024); >> U_o =fft(fa,1024); >> U_am =fft(u_am, 1024); >> figure(1); >> subplot(321);plot(t, fa, 'k');title('调制信号');grid;axis([0 2/400 -1.5 1.5]); >> subplot(323);plot(t, fc, 'k');title('高频载波');grid;axis([0 2/400 -1.5 1.5]); >> subplot(325);plot(t, u_am, 'k');title('已调信号');grid;axis([0 2/400 -3 3]); >> fs = 5000; >> w1 = (0:511)/512*(fs/2)/1000; >> subplot(322);plot(w1, abs([U_am(1:512)']),'k');title('调制信号频谱');grid;axis([0 0.7 0 500]); >> subplot(324);plot(w1, abs([U_c(1:512)']),'k');title('高频载波频谱');grid;axis([0 0.7 0 500]); >> subplot(326);plot(w1, abs([U_am(1:512)']),'k');title('已调信号频谱');grid;axis([0 0.7 0 500]); 1.1 >> ma = 0.8; >> omega_c = 2 * pi * 11138; >> omega = 2 * pi * 138; >> t = 0 : 5 / 400 / 1000 : 5 / 400; >> u_cm = 1; >> fc = cos(omega_c * t);

MATLAB仿真实验报告

MATLA仿真实验报告 学院:计算机与信息学院 课程:—随机信号分析 姓名: 学号: 班级: 指导老师: 实验一

题目:编写一个产生均值为1,方差为4的高斯随机分布函数程序, 求最大值,最小值,均值和方差,并于理论值比较。 解:具体的文件如下,相应的绘图结果如下图所示 G仁random( 'Normal' ,0,4,1,1024); y=max(G1) x=mi n(G1) m=mea n(G1) d=var(G1) plot(G1);

实验二 题目:编写一个产生协方差函数为CC)=4e":的平稳高斯过程的程序,产生样本函数。估计所产生样本的时间自相关函数和功率谱密度,并求统计自相关函数和功率谱密度,最后将结果与理论值比较。 解:具体的文件如下,相应的绘图结果如下图所示。 N=10000; Ts=0.001; sigma=2; beta=2; a=exp(-beta*Ts); b=sigma*sqrt(1-a*a); w=normrnd(0,1,[1,N]); x=zeros(1,N); x(1)=sigma*w(1); for i=2:N x(i)=a*x(i-1)+b*w(i); end %polt(x); Rxx=xcorr(x0)/N; m=[-N+1:N-1]; Rxx0=(sigma A2)*exp(-beta*abs(m*Ts)); y=filter(b,a,x) plot(m*Ts,RxxO, 'b.' ,m*Ts,Rxx, 'r');

periodogram(y,[],N,1/Ts); 文件旧硯化)插入(1〕 ZMCD 克闻〔D ]窗口曲) Frequency (Hz) 50 100 150 200 250 300 350 400 450 500 NH---.HP)&UO 二 balj/ 」- □歹

Matlab 编程方法及仿真实验

《现代机械工程基础实验》之机械工程控制基础综合实验报告 姓名 学号 班级 山东建筑大学机电工程学院 2012.06.04~06

第一部分 Matlab 编程方法及仿真实验 实验1. 三维曲面的绘制(略) 实验2. 系统零极点绘制例:求部分分式展开式和)(t g 一个线性定常系统的传递函数是 1 5422 3)(2 3 ++++= s s s s s G (1) 使用MATLAB 建立传递函数,并确定它的极点和零点,写出)(s G 的部分分式展开式并绘制 系统的脉冲响应。 实验结果:零点-0.6667 极点-0.8796 + 1.1414i -0.8796 - 1.1414i -0.2408 实验3. 系统的阶跃响应 例. )(s G 的阶跃响应 对例2中由(1)式给出的传递函数)(s G ,增加一个0=s 处的极点,使用impulse 命令绘制其拉普拉斯反变换式曲线,得到阶跃响应图。将该响应与对)(s G 使用step 命令所得到的响应比较,确定系统的DC 增益。利用初值定理和终值定理来校验结果。 实验结果:DC 增益= 2

实验4. 双输入反馈系统单位阶跃响应 考虑一个如图1所示的反馈系统,它既有参考输入也有干扰输入,其中对象和传感器的传递函数是 )12)(15.0(4)(++=s s s G p ,105.01 )(+=s s H 控制器是一个增益为80,有一个在3-=s 处的零点,极点/零点比15=α超前控制器。推导 两个独立的MATLAB 模型,其中一个模型的输入为)(s R ,另一个输入为)(s D 。使用这些模型确定闭环零点和极点,并在同一坐标系内绘制它们的阶跃响应。 D (s ) 图1 具有参考和干扰输入的反馈系统方框图 实验结果: 参考输入的CL 极点:-49.3658 -7.3336 + 7.9786i -7.3336 - 7.9786i -3.4670 参考输入的DC 增益:320 干扰输入的CL 零点:-45 干扰输入的CL 极点:-49.3658 -7.3336 + 7.9786i -7.3336 - 7.9786i -3.4670 干扰输入的DC 增益:4 -20

Matlab数学实验一2015(标准答案版)

Matlab数学实验一——matlab初体验 一、实验目的及意义 [1] 熟悉MATLAB软件的用户环境; [2] 了解MATLAB软件的一般目的命令; [3] 掌握MATLAB数组操作与运算函数; 通过该实验的学习,使学生能熟悉matlab的基础应用,初步应用MATLAB软件解决一些简单问题。 二、实验内容 1.认识matlab的界面和基本操作 2.了解matlab的数据输出方式(format) 3. MATLAB软件的数组(矩阵)操作及运算练习; 三、实验任务 根据实验内容和步骤,完成以下具体实验,要求写出实验报告(实验目的→问题→原理→算法与编程→计算结果或图形→心得体会) 完成如下题目,并按照实验报告格式和要求填写实验报告 1.在commandwindow中分别输入如下值,看它们的值等于多少,并用matlab的help中查询这些缺省预定义变量的含义,用中文写出它们的意义。 ijeps inf nan pi realmaxrealmin 2.分别输入一个分数、整数、小数等,(如:a=1/9),观察显示结果,并使用format函数控制数据的显示格式,如:分别输入format short、format long、format short e、format long g、format bank、format hex等,然后再在命令窗口中输入a,显示a的值的不同形式,并理解这些格式的含义。 3.测试函数clear、clc的含义及所带参数的含义(利用matlab的help功能)。 4. 写出在命令窗口中的计算步骤和运行结果。 (1)计算 1.22 10 (ln log) 81 e ππ +- ; >>(log(pi)+log(pi)/log(10)-exp(1.2))^2/81 >>ans = 0.0348 (2) >> x=2;y=4; >> z=x^2+exp(x+y)-y*log(x)-3 z = 401.6562 (3)输入变量 13 5.3, 25 a b ?? ==?? ?? ,在工作空间中使用who,whos,并用save命令将变量存入”D:\exe0 1.mat”文件。测试clear命令,然后用load命令将保存的”D:\exe01.mat”文件载入>> a=5.3 a=

相关主题
文本预览
相关文档 最新文档