MATLAB与系统仿真

合集下载

《MATLAB与控制系统仿真》实验报告

《MATLAB与控制系统仿真》实验报告

《MATLAB与控制系统仿真》实验报告一、实验目的本实验旨在通过MATLAB软件进行控制系统的仿真,并通过仿真结果分析控制系统的性能。

二、实验器材1.计算机2.MATLAB软件三、实验内容1.搭建控制系统模型在MATLAB软件中,通过使用控制系统工具箱,我们可以搭建不同类型的控制系统模型。

本实验中我们选择了一个简单的比例控制系统模型。

2.设定输入信号我们需要为控制系统提供输入信号进行仿真。

在MATLAB中,我们可以使用信号工具箱来产生不同类型的信号。

本实验中,我们选择了一个阶跃信号作为输入信号。

3.运行仿真通过设置模型参数、输入信号以及仿真时间等相关参数后,我们可以运行仿真。

MATLAB会根据系统模型和输入信号产生输出信号,并显示在仿真界面上。

4.分析控制系统性能根据仿真结果,我们可以对控制系统的性能进行分析。

常见的性能指标包括系统的稳态误差、超调量、响应时间等。

四、实验步骤1. 打开MATLAB软件,并在命令窗口中输入“controlSystemDesigner”命令,打开控制系统工具箱。

2.在控制系统工具箱中选择比例控制器模型,并设置相应的增益参数。

3.在信号工具箱中选择阶跃信号,并设置相应的幅值和起始时间。

4.在仿真界面中设置仿真时间,并点击运行按钮,开始仿真。

5.根据仿真结果,分析控制系统的性能指标,并记录下相应的数值,并根据数值进行分析和讨论。

五、实验结果与分析根据运行仿真获得的结果,我们可以得到控制系统的输出信号曲线。

通过观察输出信号的稳态值、超调量、响应时间等性能指标,我们可以对控制系统的性能进行分析和评价。

六、实验总结通过本次实验,我们学习了如何使用MATLAB软件进行控制系统仿真,并提取控制系统的性能指标。

通过实验,我们可以更加直观地理解控制系统的工作原理,为控制系统设计和分析提供了重要的工具和思路。

七、实验心得通过本次实验,我深刻理解了控制系统仿真的重要性和必要性。

MATLAB软件提供了强大的仿真工具和功能,能够帮助我们更好地理解和分析控制系统的性能。

MatlabSimulink系统建模和仿真

MatlabSimulink系统建模和仿真

图:电容的充电、放电过程的仿真结果。在充电仿真中,输出信号 为系统的零状态响应。在放电过程仿真中,输出信号为系统的零输 入响应。 如果要仿真系统输入信号为任意函数的情况,只需要修改仿 真程序中的输入信号设臵即可。
“实例2.3”单摆运动过程的建模和仿真。 (1)单摆的数学模型 设单摆摆线的固定长度为l ,摆线的质量忽略不计,摆锤质 量为m ,重力加速度为g ,设系统的初始时刻为t=0 ,在任 意 t 0 时刻摆锤的线速度为v(t) ,角速度为 w(t ) ,角位移 为 (t ) 。以单摆的固定位臵为坐标原点建立直角坐标系, 水平方向为x 轴方向。如下图所示。
图:电容的充电电路以及等价系统
(1)数学分析
首先根据网络拓扑和元件伏安特性建立该电路方程组
dy (t ) i (t ) C dt
dy (t ) 1 1 x(t ) y (t ) dt RC RC
y(t ) x(t ) Ri (t )
并化简得
该方程也称为系统的状态方程。在方程中,变量y 代表电 容两端的电压,是电容储能的函数。本例中它既是系统的 状态变量,又是系统的输出变量。
7.1 Matlab编程仿真的方法
7.1.1 概述 通过编程的形式建立计算机仿真模型是最基本的 计算机建模方法。Matlab编程仿真过程就是用编 写脚本文件或函数文件来描述数学模型,并实现 计算机数值求解的过程。 我们把外界对系统产生作用的物理量称为输入 信号或激励,把由于系统内部储存的能量称为系 统的状态,而将系统对外界的作用物理量称为系 统的输出信号或响应。
图:模拟真实示波器显示的调幅仿真波形,仿真中考虑了输 入信号与示波器扫描不同步,载波相位噪声以及加性信道噪 声的影响
7.1.3 连续动态系统的Matlab编程仿真 7.1.3.1 几个实例

Matlab与系统仿真试题及答案

Matlab与系统仿真试题及答案

Matlab 与系统仿真试题及答案一、填空题(每空2分,共30分)1、单位取样序列定义为________________。

2、单位阶跃序列定义为__________________。

3、取样定理中,采样频率和原始信号频率之间至少应该满足公式_______________。

4、实现IIR 滤波器可以采用三种不同的结构:_______________、__________________和_______________。

5、对于理想的滤波特性()jwH e ,相应的()d h n 一般为无限时宽,从而使非因果的。

为此,使显示一般通过如下公式__________实现加窗处理,相应的傅里叶表达形式为_________________。

6、设计IIR 滤波器的基础是设计模拟低通滤波器的原型,这些原型滤波器有:_________、________和______________低通滤波器。

7、实现FIR 滤波器可以采用以下4中结构:________________,_______________,______________和____________。

二、阅读下列Matlab 程序,并回答完成的功能(每题5分,共10分)1、f=[00.60.61];m=[1100];b=fir2(30,f,m);[h ,w]=freqz(b,1,128);Plot(f,m,w/pi,abs)本段程序的功能是:2、[b ,a]=butter(9,300/500,’high’);Freqz(b,a,128,1000)本段程序的功能是:三、用Matlab 语言编程实现下列各小题(每小题15分,共60分)1、产生序列0.3,16p s A dB πΩ==55n -≤≤,并绘出离散图,标注图形标题为“Sequence in Example 3.1a”。

实现程序如下:2、设11()23X z z z-=++,212()2435X z z z z -=+++,求312()()()X z X z X z =+。

如何使用MATLABSimulink进行动态系统建模与仿真

如何使用MATLABSimulink进行动态系统建模与仿真

如何使用MATLABSimulink进行动态系统建模与仿真如何使用MATLAB Simulink进行动态系统建模与仿真一、引言MATLAB Simulink是一款强大的动态系统建模和仿真工具,广泛应用于各个领域的工程设计和研究中。

本文将介绍如何使用MATLAB Simulink进行动态系统建模与仿真的方法和步骤。

二、系统建模1. 模型构建在MATLAB Simulink中,可以通过拖拽模块的方式来构建系统模型。

首先,将系统的元件和子系统模块从库中拖拽到模型窗口中,然后连接这些模块,形成一个完整的系统模型。

2. 参数设置对于系统模型的各个组件,可以设置对应的参数和初始条件。

通过双击模块可以打开参数设置对话框,可以设置参数的数值、初始条件以及其他相关属性。

3. 信号连接在模型中,各个模块之间可以通过信号连接来传递信息。

在拖拽模块连接的同时,可以进行信号的名称设置,以便于后续仿真结果的分析和显示。

三、系统仿真1. 仿真参数设置在进行系统仿真之前,需要设置仿真的起止时间、步长等参数。

通过点击仿真器界面上的参数设置按钮,可以进行相关参数的设置。

2. 仿真运行在设置好仿真参数后,可以点击仿真器界面上的运行按钮来开始仿真过程。

仿真器将根据设置的参数对系统模型进行仿真计算,并输出仿真结果。

3. 仿真结果分析仿真结束后,可以通过查看仿真器界面上的仿真结果来分析系统的动态特性。

Simulink提供了丰富的结果显示和分析工具,可以对仿真结果进行绘图、数据处理等操作,以便于对系统模型的性能进行评估。

四、参数优化与系统设计1. 参数优化方法MATLAB Simulink还提供了多种参数优化算法,可以通过这些算法对系统模型进行优化。

可以通过设置优化目标和参数范围,以及定义参数约束条件等,来进行参数优化计算。

2. 系统设计方法Simulink还支持用于控制系统、信号处理系统和通信系统等领域的特定设计工具。

通过这些工具,可以对系统模型进行控制器设计、滤波器设计等操作,以满足系统性能要求。

使用Matlab进行复杂系统的建模与仿真技巧

使用Matlab进行复杂系统的建模与仿真技巧

使用Matlab进行复杂系统的建模与仿真技巧使用 Matlab 进行复杂系统的建模与仿真技巧概述:在当今科技高速发展的时代,越来越多的系统趋于复杂化。

因此,建立准确的模型以进行系统建模和仿真是至关重要的。

Matlab 是一款功能强大的科学计算软件,它提供了丰富的工具和函数以便于系统建模和仿真的研究。

本文将介绍使用Matlab 进行复杂系统建模和仿真的一些技巧和方法。

第一部分: 建立系统模型1.1 了解系统特性在开始建模之前,必须对所研究的系统有一个清晰的了解。

这包括系统的输入、输出、状态和参数等。

通过对系统特性的分析,可以帮助我们确定建立适合的模型类型和仿真方法。

1.2 选择合适的模型类型根据系统的特性,选择合适的模型类型是至关重要的。

在 Matlab 中,常用的模型类型包括线性模型、非线性模型、离散模型和连续模型等。

根据系统的特点选择适合的模型类型能够更好地反映系统的行为和响应。

1.3 系统建模方法系统建模是根据实际情况将系统抽象成一个数学模型的过程。

在 Matlab 中,可以使用不同的建模方法,如物理建模、数据建模和基于状态空间法的建模等。

根据系统的特征选择合适的建模方法能够提高模型的准确性和可靠性。

第二部分: 数学工具与仿真技巧2.1 使用符号计算工具Matlab 提供了符号计算工具箱,可以对数学表达式进行符号计算,如求解方程、导数和积分等。

使用符号计算工具能够简化复杂系统的数学推导和计算。

2.2 优化算法与工具在系统建模过程中,通常需要优化模型参数以使模型与实际系统更好地匹配。

Matlab 提供了各种优化算法和工具,如遗传算法、模拟退火算法和最小二乘法等,可以帮助我们自动化地调整参数并优化模型。

2.3 频域分析与控制设计频域分析是研究系统在不同频率下的响应特性的方法。

Matlab 提供了丰富的频域分析工具,如傅里叶变换、频谱分析和波特图等,可以帮助我们更好地理解系统的频率响应,并设计相应的控制系统。

基于MATLAB的控制系统设计与仿真实践

基于MATLAB的控制系统设计与仿真实践

基于MATLAB的控制系统设计与仿真实践控制系统设计是现代工程领域中至关重要的一部分,它涉及到对系统动态特性的分析、建模、控制器设计以及性能评估等方面。

MATLAB作为一种强大的工程计算软件,在控制系统设计与仿真方面有着广泛的应用。

本文将介绍基于MATLAB的控制系统设计与仿真实践,包括系统建模、控制器设计、性能评估等内容。

1. 控制系统设计概述控制系统是通过对被控对象施加某种影响,使其按照既定要求或规律运动的系统。

在控制系统设计中,首先需要对被控对象进行建模,以便进行后续的分析和设计。

MATLAB提供了丰富的工具和函数,可以帮助工程师快速准确地建立系统模型。

2. 系统建模与仿真在MATLAB中,可以利用Simulink工具进行系统建模和仿真。

Simulink是MATLAB中用于多域仿真和建模的工具,用户可以通过拖拽图形化组件来搭建整个系统模型。

同时,Simulink还提供了各种信号源、传感器、执行器等组件,方便用户快速搭建复杂的控制系统模型。

3. 控制器设计控制器是控制系统中至关重要的一部分,它根据系统反馈信息对输出信号进行调节,以使系统输出达到期望值。

在MATLAB中,可以利用Control System Toolbox进行各种类型的控制器设计,包括PID控制器、根轨迹设计、频域设计等。

工程师可以根据系统需求选择合适的控制器类型,并通过MATLAB进行参数调节和性能优化。

4. 性能评估与优化在控制系统设计过程中,性能评估是必不可少的一环。

MATLAB提供了丰富的工具和函数,可以帮助工程师对系统进行性能评估,并进行优化改进。

通过仿真实验和数据分析,工程师可以评估系统的稳定性、鲁棒性、响应速度等指标,并针对性地进行调整和改进。

5. 实例演示为了更好地说明基于MATLAB的控制系统设计与仿真实践,我们将以一个简单的直流电机速度控制系统为例进行演示。

首先我们将建立电机数学模型,并设计PID速度控制器;然后利用Simulink搭建整个闭环控制系统,并进行仿真实验;最后通过MATLAB对系统性能进行评估和优化。

matlab连续时间系统的建模与仿真实例

matlab连续时间系统的建模与仿真实例

matlab连续时间系统的建模与仿真实例标题:深入探讨matlab连续时间系统的建模与仿真实例一、引言在工程领域中,连续时间系统的建模与仿真是非常重要的一环。

使用matlab作为工具可以帮助工程师们更好地理解和分析连续时间系统的行为。

本文将深入探讨matlab在连续时间系统建模与仿真中的实际应用,帮助读者更好地掌握这一领域的知识。

二、连续时间系统建模与仿真概述连续时间系统建模与仿真是指利用数学方法和计算机工具对连续时间系统进行抽象化描述和模拟。

在工程实践中,这一过程可以帮助工程师们更好地理解系统的动态特性、分析系统的稳定性和性能,并设计控制策略以满足特定的需求。

1.连续时间系统建模方法连续时间系统建模的方法有很多种,常用的包括微分方程描述、传递函数描述、状态空间描述等。

在matlab中,可以利用Simulink工具箱来快速构建系统的模型,并进行仿真分析。

2.连续时间系统仿真实例下面我们将以一个简单的例子来展示如何使用matlab对连续时间系统进行建模和仿真。

假设有一个带有阻尼的弹簧质量系统,其运动方程可以描述为:\[ m \frac{d^2 x(t)}{dt^2} + c \frac{dx(t)}{dt} + kx(t) = F(t) \]其中,m为质量,c为阻尼系数,k为弹簧常数,F(t)为外部作用力。

我们希望利用matlab对这个系统进行建模,并仿真系统的动态响应。

三、matlab建模与仿真实例1.建立模型在matlab中打开Simulink工具箱,我们可以直接从库中选择弹簧质量阻尼系统的模块进行快速搭建。

将质量、阻尼、弹簧和外部作用力连接起来,即可构建出系统的模型。

2.参数设定设定系统的参数:m=1kg, c=0.5N/m/s, k=2N/m, 外部作用力F(t)=sin(t)。

3.仿真分析设置仿真时间为10s,运行仿真,观察系统的位移-时间和速度-时间响应。

四、实验结果分析通过matlab进行仿真,我们可以得到系统的位移和速度随时间的变化曲线。

MATLAB控制系统的仿真

MATLAB控制系统的仿真

C R
x1 x2
0 1
L
u
L
y [1
0]
x1 x2
[0]u

x Ax bu
y CT x du
• 没有良好的计算工具前:系统建立、变换、分析、设 计、绘图等相当复杂。
• MATLAB控制系统软件包以面向对象的数据结构为基 础,提供了大量的控制工程计算、设计库函数,可以 方便地用于控制系统设计、分析和建模。
Transfer function:
s+1 ------------s^2 + 5 s + 6
Matlab与系统仿真
22
应用——系统稳定性判断
系统稳定性判据: 对于连续时间系统,如果闭环极点全部在S平面左半平面,
则系统是稳定的;
若连续时间系统的全部零/极点都位于S左半平面, 则系统是——最小相位系统。
Matlab与系统仿真
38
4.2 动态特性和时域分析函数
(一)动态特性和时域分析函数表 (二)常用函数说明 (三)例子
Matlab与系统仿真
39
(一)动态特性和时域分析函数表 ——与系统的零极点有关的函数
表8.6前部分p263
Matlab与系统仿真
40
——与系统的时域分析有关的函数
Matlab与系统仿真
Matlab与系统仿真
8
4.1 控制工具箱中的LTI对象
Linear Time Invariable
(一)控制系统模型的建立 (二)模型的简单组合 (三)连续系统和采样系统变换(*略)
Matlab与系统仿真
9
(一)控制系统模型的建立
➢ MATLAB规定3种LTI子对象:
• Tf 对象—— 传递函数模型 • zpk 对象—— 零极增益模型 • ss 对象—— 状态空间模型
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

学习中心/函授站_ 成都学习中心
姓名赵洪学号7020140122093
西安电子科技大学网络与继续教育学院
2015学年上学期
《MATLAB与系统仿真》期末考试试题
(综合大作业)
考试说明:
1、大作业于2015年4月3日公布,2015年5月9日前在线提交;
2、考试必须独立完成,如发现抄袭、雷同、拷贝均按零分计。

3、程序设计题(三(8,10))要求写出完整的程序代码,并在matlab软件环境调试并运行通过,连同运行结果一并附上。

一、填空题(1’ ×25=25’)
1、Matlab的全称为矩阵实验室。

2、在Matlab编辑器中运行程序的快捷键是:F5 。

3、Matlab的工作界面主要由以下五个部分组成,它们分别是:菜单栏、
工具栏、当前工作目录窗口、工作空间管理窗口和命令窗口。

4、在Matlab中inf表示:无穷大;clc表示:清空命令窗口中的显示内容;more表示:在命令窗口中控制其后每页的显示内容行数;who表示:查阅Matlad内存变量名;whos表示:列出当前工作空间所有变量。

5、在Matlab命令窗口中运行命令Simulink 可以打开Simulink模块库浏览器窗口。

6、求矩阵行列式的函数:det ;求矩阵特征值和特征向量的函数eig 。

7、Matlab预定义变量ans表示:没有指定输出变量名;eps表示:系统精度
;nargin表示:函数输入参数的个数。

8、Matlab提供了两种方法进行程序分析和优化,分别为:通过Profiler工具优化和通过tic和toc函数进行优化。

9、建立结构数组或转换结构数组的函数为:struct ;
实现Fourier变换在Matlab中的对应函数为:fourier() ;Laplace变换的函数:Laplace() 。

10、MATLAB编写的程序文件称为M文件,M文件有脚本M文件和
函数M文件两种。

二、简答题(3’×4=12’)
1、简述MATLAB命令窗的主要作用?
答:
Matlab既可以运行命令也可以执行程序,在命令窗口中可以运行单独的命令也可以调用程序,相当方便,而编辑调试窗口和图像窗口都是程序运行结果展示窗口,可以很直观的对程序运行过程中出现的矩阵或者是变量等等进行监视。

在MATLAB 命令窗口中可以看到有一个“>>”,该符号为命令提示符,表示MATLAB正在处于准备状态。

在命令提示符后输入命令并按回车键后,MATLAB 就会解释执行所输入的命令,并在命令后面给出计算结果。

2、描述在Matlab中矩阵运算的含义,如A*B,A.*B表示什么运算过程?
答:
A*B表示符号矩阵乘法。

这是线性代数中定义的矩阵乘法,按照矩阵乘法规则进行;
A.*B表示对应元素相乘。

按参量A与B对应的元素进行相乘。

A与B必须为同型
阵列,或至少有一个为标量。

3、分析以下函数执行过程,回答问题:
function c = testarg1(a, b)
if (nargin == 1)
c = a .^ 2;
elseif (nargin == 2)
c = a + b;
end
如果用户使用一个参数调用函数testarg1,函数执行什么功能?如果使用两个参数调用函数testarg1,函数又执行什么?
答:
如果用户使用一个参数调用函数testargl,则函数计算输入值的平方,如果使用两个参数调用函数testargl,则函数计算输入值之和。

4、新建Simulink仿真模型文件的方法是什么?
答:
(1)在MA TLAB的命令窗口选择菜单“File”->“ New”->“Model”。

(2)在Simulink模块库浏览器窗口选择菜单“File”->“ New”->“Model”,或者单击
工具栏的新建文件图标。

(3)在Simulink模型窗口选择菜单“File”->“New”->“Model”,或者单击工具栏
的新建文件图标。

5、简述绘制二维图形的一般步骤?
答:曲线数据准备、选定图形窗及子图位置、调用二维曲线绘图命令、设置轴的范围、坐标分割路线、图形注释、图形的精细操作。

6、简述脚本M 文件和函数M 文件的区别?
答:
(1) 脚本M 文件是一串按用户意图排列而成的MATLAB 命令集合,不包含输入
参数,也不输出参数。

脚本M 文件运行后,所产生的所有变量都驻留在MATLAB 基本工作空间中,只要用户不使用clear 命令清除,且MA TLAB 命令窗口不关闭,这些变量将一直保存在MATLAB 基本工作空间中。

基本工作空间随MA TLAB 的启动而启动,只有关闭MA TLAB 时,基本空间才被删除。

脚本M 文件不包含输入参数和输出参数,通常由M 文件正文和注释部分构成。

文件正文主要实现功能,而注释是给出代码说明,便于阅读。

(2) 函数包含输入变量和输出变量,具有自己的函数工作空间,函数运行时获取
传递给它的变量,并返回结果输出变量。

函数内所创建的变量只驻留在函数工作空间,而且只在函数执行期间是存在,在函数运行结束时消失。

函数M 文件的第一行以function 开始,说明此文件是一个函数。

三、程序设计及分析(1-2每题4’,3-9每题5’,10题20’,共63’)
1、将下列字符矩阵S 转换为数字矩阵('1''2''3''4'S ⎡⎤=⎢
⎥⎣⎦)? 答:
>>str2num(S)
2、把矩阵A ,B 分别在垂直方向,水平方向连接,A=[1 2 3],B=[4 5 6]?
答:
>>C1=cat(1,A,B)%垂直方向连接
>>C2=cat(2,A,B)%水平方向连接
3、编程实现函数3
()25f x x x =--的根?
答:
>>p=[1 0 -2 -5]
>>r=roots(p)
4、编程实现一元二次方程20ax bx c ++=?
答:
>>f=sym(`a*x^2+b*x+c`)
>>solve(f) %以x 为自变量,求解方程f=0
5、求()1020x f x x =-+=在00.5x =附近的根?
答:
(1)建立函数文件funx.m.
function fx=funx(x)
fx=x-10.^x=2
(2)调用fzero 函数求根
Z=fzero(`funx`,0.5)
6、绘制函数图形:1sin(),2cos()y x y x ==。

要求:
(1)[]0,2x π∈
答:
x=0:pi/50:2*pi
(2)数据采样间隔/50π?
答:
y1=sin(x);y2=cos(x)
(3)设置网格;
答:
Figure(1);plot(x,y,’k*-’,x,y2,’bo-’);
(4)添加图形标注;
答:
grid on; %设置网格线
(5)两幅图叠加在一张图中。

答:
Legend(‘sin(x)’,’cos(x)’); %添加图形标注
7、分析以下程序执行后的效果?
x=-2:0.2:2;
y=x;
[x,y]=meshgrid(x,y);
z=x.*exp(-x.^2-x.^2);
mesh(x,y,z);
答:
绘制函数z=xe (-x ²-y ²)的三维线图,其中x ∈[-2,2],y=x.
8、在同一图上分别用红色实线和绿色虚线绘制y1=sin(x)和y2=cos(x)在区间[0,4*pi]的曲线,并用星号*标出两条曲线的交点以及标注图例。

(要求附上运行结果)
答:
clf
x=0:pi/200:2#pi;
y1=sin(x);
y2=cos|(x);
zz=x(find(ads(y1-y2)<0.005))
z=min(zz)
piot(x,yl,`r-`,x,y2,`g-.`)
hold on
poit(zz,sin(zz),`≠`)
legcnd(`sin`,`cos`)
9、编写一个实现n 阶乘的函数。

答: N=20for
i=1:Ny=fac(i);
result=i;if y<1000continueendbreakend function y = fac(n)
y=1 for i=1:n
y=y*i;
end result=7
10、已知矩阵n=10+自己的真实学号,22
(),ij n n ij A a a i j ⨯==+,试编写一个m 文件完成以下问题:(要求附上程序运行结果)
(1)求A 的行列式;
(2)求A 的秩;
(3)画出A 的每个行向量的图形;
(4)查看A 的大小(即行、列数);
(5)计算A 的第11行与第11列的乘积;
(6)用一个二次函数去拟合A 的最后一行向量,画出图形;
(7)计算A 的每行的和,用条形图把该和向量描绘出来,加上轴标签和图形标题;
(8)计算A 的特征值和特征向量;
(9)计算A 的迹、逆和范数;
(10)查看*T A A 的右下角元素nn a 的值。

(T A 为A 的转置矩阵)。

相关文档
最新文档