MATLAB与系统仿真实验手册2010
《Matlab与控制系统仿真》实验指导书
机械与汽车工程学院《Matlab控制系统仿真》实验指导书学院班级姓名学号浙江科技学院机械与汽车工程学院制实验一 MATLAB语言基本命令1 实验目的1. 掌握科学计算的有关方法,熟悉MA TLAB语言及其在科学计算中的运用;2. 掌握MATLAB的命令运行方式和M文件运行方式;3. 掌握矩阵在MA TLAB中的运用。
2 实验器材计算机WinXP、Matlab7.0软件3 实验内容(1). 输入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.*BA^2 A.^2 B/A B./A(2).输入C=1:2:20,则C(i)表示什么?其中i=1,2,3, (10)(3).查找已创建变量的信息,删除无用的变量;(4). 试用help命令理解下面程序各指令的含义:cleart =0:0.001:2*pi;subplot(2,2,1);polar(t, 1+cos(t))subplot(2,2,2);plot(cos(t).^3,sin(t).^3)subplot(2,2,3);polar(t,abs(sin(t).*cos(t)))subplot(2,2,4);polar(t,(cos(2*t)).^0.5)4 实验步骤:打开MA TLAB程序,将实验内容中的题目依次输入MATLAB中,运行得到并记录结果,最后再对所得结果进行验证。
5 实验报告要求记录实验数据,理解其含义实验二 MATLAB语言程序设计1 实验目的(1)掌握Matlab程序的编制环境和运行环境。
(2)掌握Matlab程序的编写方法。
(3)能编写基本的数据处理Matlab程序。
(4)能编写基本的数据可视化Matlab程序。
2 实验器材计算机WinXP、Matlab7.0软件3 实验内容(1) Matlab脚本文件编写和执行(2) Matlab 函数文件的编写和调用(3) nargm和nargout函数使用方法(4) 局部变量与全局变量使用4 实验步骤1、Matlab命令文件编写(1) 建立自己工作目录,如/Mywork。
2010MATLAB及控制系统仿真_1
主讲教师:姜萍
请大家先看一组图片
神州飞船模拟训练仓
模拟飞船监控室
模拟器是航天员进行航天飞行程序及操作训练的 专业技术训练场所,通过航天飞行模拟器的视景 软件把在太空中运行时飞行操作程序及异常处理 在地面进行仿真模拟,从而使航天员熟悉和适应 在太空的生活。 航天员们要在与真实飞船相同的训练模拟器上 按照航天飞行程序进行模拟飞行,从进入飞船到 发射升空、轨道运行及返回、着陆,熟悉太空往 返的全过程。
第一章 概述
第一节 计算机仿真的基本概念 第二节 计算机仿真的发展 本课程主要讲授内容
第一章 概述
计算机仿真技术是一门利用计算机软件模拟 实际环境进行科学实验的技术。 它具有经济、可靠、实用、安全、灵活、可 多次重复使用的优点,已成为对许多复杂系统进 行分析、设计、试验、评估的必不可少的手段。 计算机仿真技术是以数学理论为基础,以计 算机和各种物理设施为工具,利用系统模型对实 际的或设想的系统进行实验仿真研究的一门综合 技术。
可将不易建模的部分以实物形式参与仿真,从而避 免了建模的困难; 进一步检验系统数学模型的正确性和仿真的精确性
可检验构成真实系统的某些实物部件乃至整个系统 的性能指标及可靠性,准确调整系统的参数和控制规律。 在航空航天、电力系统等研究中十分重要。
C、按仿真时钟
与实际时钟 T 的比例分
T
(2)数字计算机仿真: 数字计算机仿真是基于数值计算原理的仿真, 它的主要工具是:数字计算机和相应的数字仿真 软件。 应用数字计算机仿真的首要步骤是必须把数 学模型离散化,因为数字计算机本身就是一个离 散系统。 (3)混合计算机仿真: 由模拟计算机和数字计算机通过一套A/D、 D/A接口组成,具有模拟计算机的快速性和数字 计算机的高精度和灵活性的优点。
MATLAB与控制系统仿真实验书
实验总要求1、封面必须注明实验名称、实验时间和实验地点,实验人员班级、学号(全号)和姓名等。
2、内容方面:注明实验所用设备、仪器及实验步骤方法;记录清楚实验所得的原始数据和图像,并按实验要求绘制相关图表、曲线或计算相关数据;认真分析所得实验结果,得出明确实验结论。
3、图形可以打印出来并剪贴上去,文字必须用标准试验纸手写。
实验一MATLAB绘图基础一、实验目的了解MATLAB常用命令和常见的内建函数使用。
熟悉矩阵基本运算以及点运算。
掌握MATLAB绘图的基本操作:向量初始化、向量基本运算、绘图命令plot,plot3,mesh,surf 使用、绘制多个图形的方法。
二、实验内容建立并执行M文件multi_plot.m,使之画出如图的曲线。
三、实验方法(参考程序)024681012Plot of y=sin(2x) and its derivative四、实验要求1. 分析给出的MA TLAB 参考程序,理解MA TLAB 程序设计的思维方法及其结构。
2. 添加或更改程序中的指令和参数,预想其效果并验证,并对各语句做出详细注释。
对不熟悉的指令可通过HELP 查看帮助文件了解其使用方法。
达到熟悉MA TLAB 画图操作的目的。
3. 总结MATLAB 中常用指令的作用及其调用格式。
五、实验思考1、实现同时画出多图还有其它方法,请思考怎样实现,并给出一种实现方法。
(参考程序如下)t=0:pi/100:4*pi;y1=sin(2*t);y2=2*cos(2*t);plot(t,y1,'-b');hold on; %保持原图plot(t,y2,'-g');grid onaxis([0 4*pi -2 2])title('Plot of y=sin(2x) and its derivative')Plot of y=sin(2x) and its deriv ativ e024681012024681012-2-1012xyPlot of y=sin(2x)024681012-2-1012xyPlot derivative of y=sin(2x);y=2cos(2x)t=0:pi/100:4*pi; y1=sin(2*t); y2=2*cos(2*t);024681012-2-1.5-1-0.500.511.52Plot of y=sin(2x) and its deriv ativ et=0:pi/100:4*pi; y1=sin(2*t); y2=2*cos(2*t); plot(t,y1,'r--'); hold on ;plot(t,y2,'-b'); grid onaxis([0 4*pi -2 2])title('Plot of y=sin(2x) and its derivative')2468101214Plot of y=sin(2x)xyPlot of y=sin(2x) and its deriv ativ exyt=0:pi/100:4*pi; y1=sin(2*t); y2=2*cos(2*t); plot(t,y1,'r--');title('Plot of y=sin(2x)'); xlabel('x'),ylabel('y'); figure(2) plot(t,y2,'-b');title('Plot of y=sin(2x) and its derivative') xlabel('x'),ylabel('y'); grid onaxis([0 4*pi -2 2])2、思考三维曲线(plot3)与曲面(mesh, surf)的用法,(1)绘制参数方程233,)3cos(,)3sin()(t z e t t y e t t t x t t ===--的三维曲线;t=0:pi/30:10*pi;plot3(t.^3.*sin(3.*t).*exp(-t),t.^3.*cos(3.*t).*exp(-t),t.^2);2(2)绘制二元函数xyy xe x x y xf z ----==22)2(),(2,在XOY 平面内选择一个区域(-3:0.1:3,-2:0.1:2),然后绘制出其三维表面图形。
《系统仿真与MATLAB》上机实验报告
上机实验报告
实验项目名称Simulink熟悉及其应用所属课程名称系统仿真与MATLAB 实验日期
班级
学号
姓名
成绩
斜坡输入模型
斜坡响应曲线
Subsystem(PID Controller)内容:
输出指令:
plot(ScopeData(:,1),ScopeData(:,2),'-r') xlabel('Time')
ylabel('Output')
title('阶跃响应输出曲线')
grid on
的数值解并绘制函数
,其初始值为:
微分方程的数值解为:x=0
Workspace输出图像:
操作代码:
plot(ScopeData_exp5.time,ScopeData_exp5.signals.values,'-r') xlabel('Time')
ylabel('Output')
实验五阶跃响应输出曲线')
grid on
输出图像:
仿真输出结果:
y(t)的图像如下所示,每条曲线对应不同的信号(F(t))来源。
说明:
1、将每一道题的程序、建立的模型放置在该题目下方;
2、小结部分为对本次实验的心得体会、思考和建议。
《自动控制原理》MATLAB分析与设计仿真实验报告
《自动控制原理》MATLAB分析与设计仿真实验任务书(2010)一.仿真实验内容及要求:1.MATLAB软件要求学生通过课余时间自学掌握MATLAB软件的基本数值运算、基本符号运算、基本程序设计方法及常用的图形命令操作;熟悉MATLAB 仿真集成环境Simulink的使用。
2.各章节实验内容及要求1)第三章 线性系统的时域分析法对教材P136.3-5系统进行动态性能仿真,并与忽略闭环零点的系统动态性能进行比较,分析仿真结果;对教材P136.3-9系统的动态性能及稳态性能通过的仿真进行分析,说明不同控制器的作用;在MATLAB环境下完成英文讲义P153.E3.3。
对英文讲义中的循序渐进实例“Disk Drive Read System”,在时,试采用微分反馈使系统的性能满足给定的设计指标。
2)第四章 线性系统的根轨迹法在MATLAB环境下完成英文讲义P157.E4.5;利用MATLAB绘制教材P181.4-5-(3);在MATLAB环境下选择完成教材第四章习题4-10或4-18,并对结果进行分析。
3)第五章 线性系统的频域分析法利用MATLAB绘制本章作业中任意2个习题的频域特性曲线;4)第六章 线性系统的校正利用MATLAB选择设计本章作业中至少2个习题的控制器,并利用系统的单位阶跃响应说明所设计控制器的功能。
5)第七章 线性离散系统的分析与校正利用MATLAB完成教材P383.7-20的最小拍系统设计及验证。
利用MATLAB完成教材P385.7-25的控制器的设计及验证。
二.仿真实验时间安排及相关事宜1.依据课程教学大纲要求,仿真实验共6学时,教师可随课程进度安排上机时间,学生须在实验之前做好相应的准备,以确保在有限的机时内完成仿真实验要求的内容;2.实验完成后按规定完成相关的仿真实验报告;3.仿真实验报告请参照有关样本制作并打印装订;4.仿真实验报告必须在本学期第15学周结束之前上交授课教师。
MATLAB与系统仿真实验手册2010
MATLAB与控制系统仿真实验指导书河北大学电子信息工程学院20010年9月目录实验一MATLAB基本操作与基本运算 (1)实验二M文件及数值积分仿真方法设计 (3)实验三MATLAB 的图形绘制 (4)实验四函数文件设计和控制系统模型的描述 (6)实验五控制系统的分析与设计 (7)实验六连续系统离散化仿真方法设计 (8)实验七SIMULINK 仿真 (9)实验八SIMULINK 应用进阶 (10)附录MATLAB常用函数 (12)实验一MATLAB基本操作与基本运算一、实验目的及要求:1.熟悉MATLAB6.5的开发环境;2.掌握MATLAB6.5的一些常用命令;3.掌握矩阵、变量、表达式的输入方法及各种基本运算。
二、实验内容:1.熟悉MATLAB6的开发环境:①MATLAB的各种窗口:命令窗口、命令历史窗口、启动平台窗口、工作空间窗口、当前路径窗口。
图1 MA TLAB界面窗口②路径的设置:建立自己的文件夹,加入到MA TLAB路径中,并保存。
设置当前路径,以方便文件管理。
③改变命令窗口数据的显示格式>> format short>> format long然后键入特殊变量:pi (圆周率),比较显示结果。
2.掌握MATLAB 常用命令>> who %列出工作空间中变量>> whos %列出工作空间中变量,同时包括变量详细信息 >>save test %将工作空间中变量存储到test.mat 文件中 >>load test %从test.mat 文件中读取变量到工作空间中 >>clear %清除工作空间中变量>>help 函数名 %对所选函数的功能、调用格式及相关函数给出说明 >>lookfor %查找具有某种功能的函数但却不知道该函数的准确名称如: lookfor Lyapunov 可列出与Lyapunov 有关的所有函数。
MATLAB实验指导书(2010)
r
1
1
1
1
1 ,y
ab
1 c
f2 2
abcd
(3)定义 t=12,分别运行指令计算 p=t+1 和 p=T+1。 (4)定义以下变量,运行指令,观察并记录运行结果:
a1=1 1a=2 a_1=3 _a1=4 (5)使用 clear 指令清除当前所有内存变量。 (6)计算 y=x+x1,其中 x=|1+2i|+|3+4i|,x1=32x。 (7)指令窗显示方式的操作
7、数组运算
数组运算是指无论在数组上施加什么运算(加减乘除或函数),总认定那种运算对被运 算数组中的每个元素平等地实施同样的操作。数组运算包括加、减、乘、除、乘方等,除加 减外,数组之间进行乘、除、乘方都必须在运算符号前加“.”,否则视为矩阵运算。此外, 数组运算还包括转置、关系运算和逻辑运算。 除了以运算符号执行数组运算外,也可以对数组施加函数,以函数形式进行数组运算。如对
5、MATLAB 帮助系统
MATLAB 提供了强大的帮助系统以供用户使用。在碰到 MATLAB 使用的各种相关问题 时,查阅 MATLAB 帮助系统往往可以找到相应的解决办法和答案。对于初学者,尤其需要 重视帮助系统的使用。
MATLAB 带有各种可利用的帮助系统,包括: (1) 纯文本帮助 (2) “导航/浏览器交互界面”帮助 (3) PDF 帮助 (4) 演示帮助和 PDF 帮助 其中,纯文本帮助和“导航/浏览器交互界面”帮助是常用的帮助系统。
(2) 在指令窗中输入和生成矩阵:与一般的计算器不同,在 MATLAB 中可直接输入和生 成矩阵。实际上,矩阵是 MATLAB 工作的基本元素。
(3) 数值表述方法:在 MATLAB 中的大部分数值的表述方式与平常是相同的,需要注意 的是在表示比较大的数时,MATLAB 默认采用科学计数法显示;
#《机电系统动态仿真》实验指导书2010版
实验一MATLAB基本操作一、实验目的:①通过上机实验操作,使学生熟悉MATLAB实验环境,练习MATLAB命令、m文件,进行矩阵运算、图形绘制、数据处理。
②通过上机操作,使得学生掌握Matlab变量的定义和特殊变量的含义,理解矩阵运算和数组运算的定义和规则。
③通过上机操作,使得学生掌握数据和函数的可视化,以及二维曲线、三维曲线、三维曲面的各种绘图指令。
二、实验原理和说明Matlab是Matrix 和Laboratory两词的缩写,是美国Mathworks公司推出的用于科学计算和图形处理的可编程软件,经历了基于DOS版和Windows版两个发展阶段。
三、实验设备和仪器:PC电脑,Matlab7.0仿真软件四、实验内容、方法和步骤:数组运算和矩阵运算数组“除、乘方、转置”运算符前的“.”决不能省略,否则将按矩阵运算规则进行运算;执行数组和数组之间的运算时,参和运算的数组必须同维,运算所得的结果也和参和运算的数组同维。
A=[ 1 2 3; 4 5 6; 7 8 9];B=[-1 -2 -3;-4 -5 -6;-7 -8 -9];X=A.*BY=A*Bplot用于二维曲线绘图,若格式为plot(X,Y,’s’),其中X为列向量,Y是和X等行的矩阵时,以X 为横坐标,按Y的列数绘制多条曲线;若X为矩阵,Y是向量时,以Y为纵坐标按X的列数(或行数)绘制多条曲线。
参考程序如下:t=(0:pi/100:pi)'y1=sin(t)*[-1 1];y2=sin(t).*sin(9*t);plot(t,y1, 'r:', t, y2, 'b-.')axis([0 pi, -1, 1])title('Drawn by Dong-yuan GE')程序运行界面如下:plot3用于三维曲线绘制,其使用格式和plot十分相似。
参考程序如下:t=0:0.02:2*pi;x=sin(t);y=cos(t);z=cos(2*t);plot3(x,y,z,'b-', x,y,z,'o')程序运行界面如下:mesh和surf用于三维空间网线和曲面的绘制。
华夏college-MATLAB计算机仿真课程实验指导书2010
实验1 数据和函数的可视化实验要求 ⒈掌握二维、三维绘图指令;⒉掌握图形标识和精细指令; ⒊学习用编程器编程、程序调试、程序保存和运行程序进行仿真 实验内容⑴在例3—3的程序的基础上,加入坐标控制、分格线和图形标识等指令,并运行; ⑵在例3—5的程序的基础上,采用精细指令,并加入必要的文本,运行;⑶绘制如下函数的立体网状图和立体曲面图;)(22y x xez +-=参考程序 %dfx=linspace(-2,2,25) ;%在X 轴上取25个点 y=linspace(-2,2,25) ; %在Y 轴上取25个点[xx,yy]=meshgrid(x,y); %xx 和yy 都是25×25的矩阵 zz=xx.*exp(-xx.^2-yy.^2);%zz 也是25×25的矩阵 figure('name','立体网状图',... 'numbertitle','off');mesh(xx,yy,zz); %绘制立体网状图 title('立体网状图');xlabel('X');ylabel('Y');zlabel('Z'); figure('name','立体曲面图',... 'numbertitle','off'); surf(xx,yy,zz); % title('立体曲面图');xlabel('X');ylabel('Y');zlabel('Z');⑷绘制peaks 函数的各种效果图用编程器编辑如下程序,加入注释,分析运行结果; %三维空间立体绘图基本指令演示 figure(1)peaks; %直接绘制peaks 函数[x,y,z]=peaks; %对peaks 函数取点 figure(2)meshc(x,y,z); %同时绘出网状图和等高线axis([-inf,inf,-inf,inf,-inf,inf])title('同时绘出网状图和等高线')figure(3)contour3(peaks,25); %绘出曲面在三维空间中的等高线axis([-inf,inf,-inf,inf,-inf,inf])title('曲面在三维空间中的等高线')figure(4)contour(peaks,25); %绘制等高线在X—Y平面的投影axis([-inf,inf,-inf,inf])title('等高线在X—Y平面的投影')figure(5)meshz(x,y,z); %将曲面加上围裙axis([-inf,inf,-inf,inf,-inf,inf])title('曲面加上围裙')figure(6)waterfall(x,y,z); %在X方向加上水流效果axis([-inf,inf,-inf,inf,-inf,inf])title('在X方向加上水流效果')figure(7)waterfall(x',y',z'); %在Y方向加上水流效果axis([-inf,inf,-inf,inf,-inf,inf])title('在Y方向加上水流效果')实验报告要求⑴按自己的设想编制程序,给出每句程序的注释;⑵附上仿真的结果;实验2 动态系统的时域仿真实验要求⒈建立动态系统的数学模型,掌握数学模型的MATLAB语言表示和模型转换;⒉掌握时域仿真的方法和主要的仿真指令;⒊学习用编程器编程、程序调试、程序保存和运行程序进行仿真。
2010MATLAB及控制系统仿真_2_matlab_2
主讲教师:姜萍
1.2.2 MATLAB基本设计
1、变量
变量在使用前不需定义维数和大小。
命名规则:以字母打头、不含标点符号、最多不超过 19个字符,区分字母的大小写,如X1、 x1、 a、 A 等。另外要避免使用特殊变量。 变量可按需要定义成全局变量和局部变量:
• 典型 M函数文件的结构如下 :
函数申明行:位于函数文件的首行,以关键字 function 开头,函数名以及函数的输入输出变量都在 这一行被定义。 笫一注释行:紧随函数申明行之后以%开头笫一注释行。 该行供lookfor关键词查询和 help在线帮助使用 在线帮助文本区 :笫一注释行及其之后的连续以%开 头的所有注释行构成整个在线帮助文本。 编写和修改记录:与在线帮助文本区相隔一个“空”行, 也以%开头,标志编写及修改该M文件的作者日期等 。 函数体:为清晰起见,与前面的注释以“空”行相隔。 例:函数myguass.m 调用testguass.m
函数文件中定义的变量为局部变量,在函数内有效。
全局变量的定义: global 变量名
避免使用特殊变量:
特殊变量 取值 NaN 不定量 如0/0
ans
pi eps flops inf
结果的缺省变量名
圆周率 计算机的最小数 浮点运算数 无穷大 如1/0
ij
nargin
基本虚数单位
函数的输入变量数目
nargout 函数的输出变量数目 realmin 最小的可用正实数
矩阵块操作
可进行元素更改、插入子块、提取子块、重排子块、 扩大子块等。
冒号“:”的应用:代表全部
冒号“:”在列标位置:代表全部的列 冒号“:”在行标位置:代表全部的行
《MATLAB及系统仿真》2010年课程简介
《MATLAB及系统仿真》2010年课程简介第一篇:《MATLAB及系统仿真》2010年课程简介课程编号:216317课程名称:MATLAB及系统仿真学分:2学分总学时:32学时其中授课学时:20学时上机学时:12学时先修课程:C语言、线性代数、信号与系统、通信原理开课部门:计算机与通信学院课程内容:本课程要求学生掌握:MATLAB基本语句结构,矩阵的基本运算,控制语句,M文件和M函数的编写与调用,绘图功能,数学函数库的调用,SIMULINK仿真。
通过本课程的学习,学生应能够在MATLAB 环境下解决常见的数学问题和工程问题,并且能利用MATLAB软件对通信系统里的各种调制和解调过程进行仿真分析。
选课对象:通信工程,计算机科学与技术、电子信息技术第二篇:电子信息MATLAB系统仿真与设计电子信息系统仿真与设计课程设计报告设计课题: 油价变化系统的模型姓名:学院: 机电与信息工程学院专业: 电子信息科学与技术班级: 09级 2班学号: 日期 2010-2011第三学期指导教师: 李光明张军蕊山东大学威海分校信息工程学院建模:1背景设某一星期的油价为p,其中n表示年份,它与上一星期的油价、油价升值速率以及新增资源所能满足的个体数目之间的动力学方程由如下的差分方程所描述:从此差分方程中可以看出,此油价变化系统为一非线性离散系统。
如果设油价初始值、油价升值速率、新增资源所能满足的个体数目,要求建立此油价动态变化系统的系统模型,并分析油价在未来100个星期内之间的变化趋势。
2 建立油价变化系统的模型(1)Discrete模块库Unit Delay模块:其主要功能是将输入信号延迟一个采样时间,它是离散系统的差分方程描述以及离散系统仿真的基础。
在仿真时只要设置延迟模块的初始值便可计算系统输出。
(2)Discrete模块库Zero-Order Hold模块:其主要功能是对信号进行零阶保持。
使用Simulink对离散系统进行仿真时,单位延迟是Discrete模块库中的Unit Delay模块来完成的。
《MATLAB与控制系统仿真》实验报告
《MATLAB与控制系统仿真》实验报告实验报告:MATLAB与控制系统仿真引言在现代控制工程领域中,仿真是一种重要的评估和调试工具。
通过仿真技术,可以更加准确地分析和预测控制系统的行为和性能,从而优化系统设计和改进控制策略。
MATLAB是一种强大的数值计算软件,广泛应用于控制系统仿真。
实验目的本实验旨在掌握MATLAB在控制系统仿真中的应用,通过实践了解控制系统的建模与仿真方法,并分析系统的稳定性和性能指标。
实验内容1.建立系统模型首先,根据控制系统的实际情况,建立系统的数学模型。
通常,控制系统可以利用线性方程或差分方程进行建模。
本次实验以一个二阶控制系统为例,其传递函数为:G(s) = K / [s^2 + 2ζω_ns + ω_n^2],其中,K表示放大比例,ζ表示阻尼比,ω_n表示自然频率。
2.进行系统仿真利用MATLAB软件,通过编写代码实现控制系统的仿真。
可以利用MATLAB提供的函数来定义传递函数,并通过调整参数来模拟不同的系统行为。
例如,可以利用step函数绘制控制系统的阶跃响应图像,或利用impulse函数绘制脉冲响应图像。
3.分析系统的稳定性与性能在仿真过程中,可以通过调整控制系统的参数来分析系统的稳定性和性能。
例如,可以改变放大比例K来观察系统的超调量和调整时间的变化。
通过观察控制系统的响应曲线,可以判断系统的稳定性,并计算出性能指标,如超调量、调整时间和稳态误差等。
实验结果与分析通过MATLAB的仿真,我们得到了控制系统的阶跃响应图像和脉冲响应图像。
通过观察阶跃响应曲线,我们可以得到控制系统的超调量和调整时间。
通过改变放大比例K的值,我们可以观察到超调量的变化趋势。
同时,通过观察脉冲响应曲线,我们还可以得到控制系统的稳态误差,并判断系统的稳定性。
根据实验结果分析,我们可以得出以下结论:1.控制系统的超调量随着放大比例K的增大而增大,但当K超过一定值后,超调量开始减小。
2.控制系统的调整时间随着放大比例K的增大而减小,即系统的响应速度加快。
MATLAB与系统仿真实验指导书
实验指导书(标准格式)《MATLAB与系统仿真》实验指导书课程编号:ME2121025课程名称:MATLAB与系统仿真适应专业:电气工程及其自动化课程类别:限选实验教学种类:上机课程总学时:30+6实验学时:6执笔人:勾燕洁西安电子科技大学机电工程学院2006 年9 月目录实验一MA TLAB的基本使用及矩阵操作------------------- 3 实验二MA TLAB编程与图形处理---------------------------- 9 实验三MA TLAB中的数值运算与系统仿真---------------- 15实验一MA TLAB的基本使用及矩阵操作一、实验目的和要求熟悉MA TLAB的界面和基本操作,掌握矩阵的建立方法及各种运算。
1.熟悉MA TLAB软件的界面和帮助系统。
2.掌握MA TLAB软件中关于矩阵建立、矩阵初等变换以及矩阵算术、关系、逻辑运算的各种命令。
3.掌握MA TLAB软件中M函数和M文件的编写,以及程序结构与控制,学会编写一般程序。
二、实验内容1.启动与退出2.数、数组、矩阵的输入3.MA TLAB的基本命令4.矩阵大小的测试5.矩阵元素的操作6.特殊矩阵的产生7.矩阵的算术运算8.矩阵的关系运算9.矩阵的逻辑运算10.常用函数三、实验仪器、设备(软、硬件)及仪器使用说明PC机一台,注意正确开、关机及打开软件。
四、实验原理无五、实验方法与步骤1.启动与退出双击MA TLAB图标,进入MA TLAB命令窗口,即可输入命令,开始运算;观察各个窗口以及菜单;单击File菜单中的Exit,或使用MATLAB的Exit命令退出。
2.数、数组、矩阵的输入(1)数的输入>>a=25>>b=3-9i问题1.1:输入“>>a=25;”,结果有什么区别?(2)数组的输入>>c=[1,2,3,4;5,6,7,8]>>d=0:1:10>>e=linspace(1,11,6)问题1.2:体会以上输入方法有什么区别和联系?若A为在0~2 之间均匀分布的22个数据,B=(1.3,2.5,7.6,2,-3),C=(23,20,17,14,11,8,5,2),各用何种方法输入较简单?(3)矩阵的输入>>A=[1,2,3;4,5,6;7,8,9]问题1.3:输入“A=[1 2 3;4 5 6;7 8 9]”,结果相同吗?MA TLAB中对变量名有什么规定?3.MA TLAB的基本命令(1)变量的存储与调用>>save data a b c>>load data(2)MA TLAB命令编辑使用↑键和↓键查看或执行以前执行过的命令(3)显示格式设定>>d=1223.58>>format short e>>d>>format rat>>d(4)工作空间管理>>who a b>>whos>>workspace>>path>>clear %注意工作空间的变化(5)窗口清屏命令>>clc问题1.4:执行命令“clc”和“clear”结果有何不同?(6)联机求助>>help eig>>demo4.矩阵大小的测试(1)>>f=length(A)(2)>>[n,m]=size(A)(3)>>g=nidms(A)问题1.5:以上三个命令有什么区别?5.矩阵元素的操作>>A (1,:)>>A ([1,3],:)>>A (2:3,1:2)问题1.6:输入“A (2,3)”,结果任何,输入“A (6)”,结果相同吗?>>A ([1,3],:)=A ([3,1],:)>>A (2,:)=4>>A (find(A==4))=0>>A (3,:)=[]>>reshape (A,3,2)问题1.7:如何将A的第2列和第3列互换?输入“reshape (2,4)”能否得到正确结果?>>A (4,5)=2>>[A(1:3,2:4),A(2:4,1:3);A,A(:,2)]>>diag(A,1)>>tril(A,2)>>triu(A,2)>>flipud(A)>>fliplr(A)>>rot90(A)问题1.8:输入“rot90(A,2)”和“rot90(A,-2)”结果有区别吗?6.特殊矩阵的产生>>B=eye(5)>>C=ones(2,3)>>D=zeros(3,2)>>E=rand(2,5)>>randn(3,4)>>vander([2 3 9])问题1.9:产生一个在[10,20]内均匀分布的4阶随机矩阵。
2010MATLAB及控制系统仿真_matlab_3
例p50_1.m
五.数据的输入输出
1、数据不多时,可由FileSave Workspace As保存 工作空间当前所有变量(保存为***.mat)。类似地, 由File Import Data 可装载数据。 2、save、load命令:以二进制格式保存和读入 save 将工作空间所有变量以二进制格式存入matlab.mat save filename 将所有变量以二进制格式存入filename.mat save filename x y z 将变量x y z以二进制格式存入
Characteristic Polynomials 特征多项式
The poly function also computes the coefficients of the characteristic polynomial of a matrix. A = [1.2 3 -0.9; 5 1.75 6; 9 0 1]; poly(A) ans = 1.0000 -3.9500 -1.8500 -163.2750 The roots of this polynomial, computed with roots, are the characteristic roots, or eigenvalues, of the matrix A. (Use eig to compute the eigenvalues of a matrix directly.) A = [1.2 3 -0.9; 5 1.75 6; 9 0 1]; r1= roots(poly(A)) r2= eig(A)
function g=myguass(a)
%The Solution of Linear Systems AX=B by Guassian Elimination %input a=[A|B] is augmented matrix %output g=x is the result %It was edited in Mar 20,2002 and modified in May 3,2003 by JP
软件技术(MATLAB)实验手册
实验课需要我们干什么?一、实验课前的知识点预习。
二、准备实验课要演练的例题。
三、实验课后的总结。
MA TLAB实验一MA TLAB软件环境一、实验目标1.熟悉MA TLAB软件的运行环境以及界面构成。
2.熟悉MA TLAB环境中命令窗口的基本操作。
3.熟悉变量的相关操作。
4.熟悉MA TLAB中基本运算函数。
二、实验内容及要求1.运行MA TLAB软件,观察MA TLAB的界面组成。
并了解各个部分的功能。
(标题栏+菜单栏+工具栏+命令窗口+历史命令窗口+当前目录窗口+工作空间)。
2.命令窗口主要用于进行MA TLAB的各种命令操作。
在该窗口中,可以运行MA TLAB的指令、函数、表达式以及显示除了图形外的所有运行结果。
3.变量的赋值以及引用。
4.MA TLAB基本运算函数的演练。
三、实验步骤(略)四、训练习题1.书上所有例题和课后习题。
2.ppt上的学生演练习题。
五、测试习题1.x=2;MA TLAB实验二深入学习MA TLAB环境设置一、实验目标1.熟悉MA TLAB软件环境设置(包括搜索路径和工作空间等设置)。
2.熟悉变量的存储与读取操作。
3.熟悉.m文件。
二、实验内容及要求1.查找和设置搜索路径,并且测试。
2.在工作空间中对变量进行各种操作。
3.使用save和load命令存储与读取变量。
4.区分.m文件中的命令文件和函数文件。
三、实验步骤(略)四、训练习题1.如何设置和更改matlab的初始化当前目录?2.演练课本中对应章节的例子。
3.独立完成课堂布置的实验作业:add.m 和diaoyongjiafa.m文件。
4.测试并体验.m文件的两大分类的区别和相似。
发现并解决.m文件中的若干问题(函数文件中是否可以定义多个函数?主函数子函数可以互相调用么?外部函数可以调用子函数么?子函数可以调用其他函数么?)。
五、测试习题1.精度计算的问题。
看如下的代码,分析:x=0;for n=1:82x=x+0.01endx==0.82MA TLAB实验三MA TLAB编程基础一、实验目标2.熟悉MA TLAB三大程序结构。
控制系统仿真与工具(matlab)实验指导书精选全文
可编辑修改精选全文完整版控制系统仿真与工具实验指导书目录实验一熟悉MATLAB语言工作环境和特点 (1)实验二图形绘制与修饰 (4)实验三系统的时间响应分析 (8)实验四系统的时间响应分析 (12)实验五SIMULINK仿真基础 (14)实验一熟悉MATLAB语言工作环境和特点一、实验目的通过实验使学生熟悉MA TLAB语言的工作环境,并了解MATLAB语言的特点,掌握其基本语法。
二、实验设备PC机MATLAB应用软件三、实验内容本实验从入门开始,使学生熟悉MA TLAB的工作环境,包括命令窗、图形窗和文字编辑器、工作空间的使用等。
1、命令窗(1)数据的输入打开MATLAB后进入的是MA TLAB的命令窗,命令窗是用户与MATLAB做人机对话的主要环境。
其操作提示符为“》”。
在此提示下可输入各种命令并显示出相应的结果,如键入:x1=sqrt(5),x2=1.35,y=3/x2显示结果为:x1=2.2361x2=1.3500y=2.2222上命令行中两式之间用逗号表示显示结果,若用分号,则只运行而不用显示运行结果。
如键入A=[1,2,3;4,5,6;7,8,9],则显示为说明:●直接输入矩阵时,矩阵元素用空格或逗号分隔,矩阵行用分号相隔,整个矩阵放在方括号中。
注意:标点符号一定要在英文状态下输入。
●在MA TLAB中,不必事先对矩阵维数做任何说明,存储时自动配置。
●指令执行后,A被保存在工作空间中,以备后用。
除非用户用clear指令清除它,或对它重新赋值。
●MATLAB对大小写敏感。
(2)数据的显示在MA TLAB工作空间中显示数值结果时,遵循一定的规则,在缺省的情况下,当结果是整数,MATLAB将它作为整数显示;当结果是实数,MATLAB以小数点后4位的精度近似显示。
如果结果中的有效数字超出了这一范围,MATLAB以类似于计算器的计算方法来显示结果。
也可通过键入适当的MA TLAB命令来选择数值格式来取代缺省格式。
本部《Matlab与控制系统仿真》实验报告
(1)画出调试好的数控机床进给系统的PI速度控制和PID位置控制的Simulink模块图。
(2)比较分析仿真结果。
实验编号:
实验七MATLAB数字控制器设计初步
姓名
指导教师
时间
地点
一、实验目的和要求
二、实验设备及材料
三、实验记录
(1)序列 ,的z变换结果。
(2)离散系统的系统函数 ,求其冲激响应h(k)
clear%清除变量
t =0:0.001:2*pi;
subplot(2,2,1);
polar(t, 1+cos(t))
subplot(2,2,2);
plot(cos(t).^3,sin(t).^3)
subplot(2,2,3);
polar(t,abs(sin(t).*cos(t)))
subplot(2,2,4);
实验编号:
实验五MATLAB控制系统工具箱使用
姓名
指导教师
时间
地点
一、实验目的和要求
二、实验设备及材料
三、实验记录
(1)写出传递函数 的部分展开式
(2)编程构建系统
(3)编程绘制单位负反馈的开环传递函数 的伯德图。
实验编号:
实验六数控机床SIMULINK仿真
姓名
指导教师
时间
地点
一、实验目的和要求
二、实验设备及材料
(3)画出离散系统的系统函数 ,的零极点图
(4)若描述离散系统的差分方程为 ,已知激励 ,初始状态y(-1)=1,y(-2)=0,求系统的零输入响应,零状态响应。
(5)已知 ,通过部分分式展开法求F(z)。
实验编号:
实验八MATLAB数字控制器设计
数字图像Matlab实验操作手册(2010)
Matlab 7.6简单入门Matlab是Mathworks公司推出的科技应用软件.●启动点击Matlab/bin/matlab.exe, 打开Matlab的工作窗(或指令窗)●Matlab的使用方式①指令行操作之直接交互工作方式;②使用matlab编程语言之程序设计方式.●交互方式的使用:在Matlab工作窗中一般输入以下三种指令行:①命令②表达式③赋值语句:变量=表达式●Matlab的程序工作方式step 1. File→New→M-file %打开Matlab程序工作窗Editor/Debugger;step 2.编写Matlab程序;Tools→Run●基本命令:quit %退出Matlabclc %清除指令窗口clear %从内存中清除变量和函数clf %清除当前图pack %合并工作内存中的碎块dir %列出文件cd %改变或显示当前工作目录disp %显示矩阵和文字内容size %确定矩阵的维数demo %演示程序help %在线帮助delete %删除文件whos %列出工作内存中的变量细节xpimage %图像处理性能的演示imagedemo %同上●基本函数figure %创建图形窗口image %创建图形窗口imshow %显示图像colormap %设置配色图rgb2hsv %将rgb图像转换成hsv图像hsv2rgb %将hsv图像转换成rgb图像rgb2ycbcr %将rgb图像转换成ycbcr图像ycbcr2rgb %将ycbcr图像转换成rgb图像abs %幅值fft2 %二维快速Fourier变换ifft2 %二维快速Fourier反变换log %自然对数dct2 %二维快速余弦变换idct2 %二维快速余弦反变换image %与imshow相似imfinfo %显示图像参数●数据类型及运算1.Matlab的基本数据类型为矩阵(实数等皆看成1*1的矩阵),矩阵的基本运算同线性代数:A+B %矩阵相加A-B%矩阵相减A*B %矩阵相乘A.*B %矩阵对应元素相乘2.标量与矩阵进行运算的规定:S+B=sE+Bs-B=sE-BB-s=B-sEs*B=sE*B3.其他运算:inv(B)=B-1A^n=A n, A.^n=(a ij^n)exp(A)=(exp(a ij))log(A)=(log(a ij))f(A)=(f(a ij))A’=A/●矩阵的输入直接输入A=[1 2 3;4 5 6;7 8 9]矩阵编辑器edit A●指令行结果的输出(有如下三个要点)指令行后有分号, 不输出结果指令行后无分号, 输出运算结果表达式后按回车, 则ans=之后, 给出结果●冒号运算符设A是m*n矩阵B=A(:,r) %由第r列元素组成的矩阵B=A(s,:) %由第s行元素组成的矩阵B=A(s1:s2,r1:r2) %取A的子矩阵B=A([1 3 5],:) %由A的1,3,5行组成的矩阵●给矩阵作标志L=X<=0.5; %标志矩阵X中其值小于0.5的元素的位置(小于0.5的元素替换为1, 其余为零,作成一个新矩阵)●Laplacian算子del2( )%五点离散拉普拉斯算子●Matlab程序控制流1.注释%号为串首元素的一行字符串2.循环结构实验1 Matlab基本运算习题1 四则运算.习题2 矩阵运算.实验2 认识数字图像imfinfo('test.jpg') %显示图像文件1.jpg的属性习题1 读一幅图像(灰度值图像或彩色图像), 研究其图像参数.A=imread ('test.jpg'); %读图像1.jpg,并将像素值阵列赋给矩阵Aimshow(A); %显示图像AA ↙%显示图像A的像素值(若图像过大,显示时间就会过长,按ctrl+C终止)whos↙%显示内存中各变量的类型,包括A显示图像A的一个局部:B=A(1:100,1:100,:);C= A(101:200, 101:200,:);imshow(B);imshow(C);subplot(1,3,1),imshow(A);subplot(1,3,2),imshow(B);subplot(1,3,3),imshow(C);习题2 读一幅彩色图像,以灰度值图像的形式显示其RGB各分量,并比较之.B=imread('test.jpg'); %读彩色图像test.jpg,并将像素值阵列赋给矩阵Bimshow(B); %显示图像BB ↙%显示图像B的像素值whosBR=B(:,:,1); %B的红色分量BG=B(:,:,2); %B的绿色分量BB=B(:,:,3); %B的蓝色分量imshow(BR);imshow(BG);imshow(BB);whos%将三幅图像放在一起进行比较:subplot(1,3,1),imshow(BR);subplot(1,3,2),imshow(BG);subplot(1,3,3),imshow(BB);习题4读一幅彩色图像,以彩色图像的形式显示其RGB各分量,并比较其异同.BRR=B;BRR(:,:,2)=0; %去掉B的绿色分量BRR(:,:,3)=0; %去掉B的蓝色分量imshow(BRR);BGG=B;BGG(:,:,1)=0;BGG(:,:,3)=0; %去掉B的红、蓝色分量imshow(BGG);BBB=B;BBB(:,:,1)=0;BBB(:,:,2)=0; %去掉B的红、绿色分量imshow(BBB);%将三幅图像放在一起进行比较:subplot(1,3,1),imshow(BRR);subplot(1,3,2),imshow(BGG);subplot(1,3,3),imshow(BBB);习题5读一幅彩色图像,进行颜色模式转换,以灰度值图像的形式显示其HSI各分量,并比较其异同.C=rgb2hsv(B); %将彩色图像进行模式转换H=C(:,:,1);S=C(:,:,2);I=C(:,:,3);imshow(H); %显示B的色度分量imshow(S); %显示B的饱和度分量imshow(I); %显示B的亮度分量习题6 研究imwrite,将一个矩阵里的数据写进一个jpg图像文件里.习题7 傅立叶变换与滤波total_time_t=10; %总时间dalta_t=0.01; %采样间隔frequency=1/ dalta_t;dalta_u=frequency /N;N= total_time_t / dalta_t; %采样点数t=0: dalta_t: total_time_t;y=sin(2*pi*t)+sin(4*2*pi*t)+sin(8*2*pi*t); subplot(4,1,1);plot(t,y);%显示10秒原始信号ffty=fft(y); %y 的傅立叶变换u=N/2+1; %取y 的傅立叶变换数据用于显示 half_ffty= ffty (1:u);i=0: frequency /N: frequency /2; % frequency/N 为频率域空间采样频率 subplot(4,1,2);plot(i,abs(half_ffty));%显示信号的傅立叶变换h=5;w=4;%清除频率为4的信号,清除宽度为hffty (N-w/dalta_u-h:N-w/dalta_u+h)=0; ffty (w/dalta_u-h:w/dalta_u+h)=0; w=8; %清除频率为8的信号,清除宽度为hffty (N-w/dalta_u-h:N-w/dalta_u+h)=0; ffty (w/dalta_u-h:w/dalta_u+h)=0; half_ffty = ffty (1:u);subplot(4,1,3);plot(i,abs(half_ffty));%显示滤波以后的信号的频谱z=ifft(ffty);subplot(4,1,4);plot(t,real(z)); %显示滤波以后的信号12345678910-50505101520253035404550050010000510152025303540455005001000012345678910-202习题8 对图象进行压扩变换 %clear all; I=imread('A.jpg'); imshow(I);pause;tt=255;maxmax=log(1+tt*tt)/log(1+tt);y=(255/maxmax)*log(1+double(I)*tt)/log(1+tt); yy=uint8(y);imshow(yy);习题9 第二章讲义第33页,对图象进行像素复制整数倍放大. clear all;I=imread('AA.jpg');II=size(I);t=2;X=II(1)*t;Y=II(2)*t;B=zeros(X,Y);for i=1:X/tfor j=1:Y/tB(i*t-1,j*t-1)=I(i,j);B(i*t-1,j*t)=I(i,j);B(i*t,j*t-1)=I(i,j);B(i*t,j*t)=I(i,j);endendimwrite(uint8(B),'b.bmp','bmp');习题10 对图像进行任意角度旋转clear all;I=imread('AA.jpg');II=size(I)theta=1.2;X=fix(sqrt(II(1)*II(1)+II(2)*II(2))+1);Y=X;B=zeros(X,Y,3);% x-x0=cos(theta)*(i-i0)-sin(theta)*(j-j0)% y-y0=sin(theta)*(i-i0)+cos(theta)*(j-j0)x0=fix(II(1)/2);y0=fix(II(2)/2);i0=fix(X/2);j0=fix(Y/2);for i=1:Xfor j=1:Yx=fix(x0+cos(theta)*(i-i0)-sin(theta)*(j-j0));y=fix(y0+sin(theta)*(i-i0)+cos(theta)*(j-j0));if x>1 && x<II(1) && y>1 && y<II(2)B(i,j,1)=I(x,y,1);B(i,j,2)=I(x,y,2);B(i,j,3)=I(x,y,3);endendendimshow(uint8(B));imwrite(uint8(B),'b.bmp','bmp');习题11 图像渐变clear allX1=imread('x1.jpg');X2=imread('x2.jpg');XX1=size(X1);XX2=size(X2);Y=X1;I=min(XX1(1),XX2(1));J=min(XX2(2),XX2(2));for i=1:9for xxx=1:Ifor yyy=1:JY(xxx,yyy,:)=i/10*X1(xxx,yyy,:)+(1-i/10)*X2(xxx,yyy,:);endendZ=uint8(Y);subplot(3,3,i),imshow(Z);end习题12 对bmp图象文件进行操作实验3 图像增强直接灰度变换习题1 图象反转习题2对数变换习题3幂次变换AA=imread('A.jpg');CC=double(AA(:,:,1))+double(AA(:,:,2))+double(AA(:,:,3)); BB=CC;WH=size(CC);W=WH(1);H=WH(2);for i=1:Wfor j=1:HBB(i,j)=CC(i,j)+255*(1/(CC(i,j)+1))*CC(i,j);%BB(i,j)=255-CC(i,j);%BB(i,j)=255/log(155)*log(1+CC(i,j));endendcolormap(gray);subplot(1,2,1),imagesc(AA);subplot(1,2,2),imagesc(BB);习题4 位面图切割colormap(gray);bb=imread('head.jpg');for k=1:8cc=rem(double(bb),2^k);ee=fix(cc/2^(k-1));ff=ee*250;subplot(2,4,k),imagesc(ff);title(k-1);end;50100150200250300150100150200250300250100150200250300350100150200250300450100150200250300550100150200250300650100150200250300750100150200250300●数据隐藏b=imread('a.bmp');%c=b(:,:,1);bb=imread('b.bmp');%请用图画做一个水印图象b.bmp与a.bmp规格要相同cc=rem(double(bb),2);for k=1:8d=double(c)+2^(k-1)*double(cc);%subplot(2,4,k),imshow(uint8(d));subplot(2,4,k),imagesc(d);%subplot(2,4,k),image(d);title(k-1);end;●图像的灰度直方图a=imread('a.jpg');b=a(:,:,1);imshow(b);figure, imhist(b,64); %作b的灰度直方图,64 可改为128, 256等●直方图均衡化a=imread('a.jpg');b=a(:,:,1);imshow(b);c=histeq(b); %对b进行直方图均衡化imshow(c) ;figure, imhist(b,64); %作b的灰度直方图,64 可改为128, 256等●领域平均法平滑滤波a=imread('a.jpg');b=a(:,:,1);c=[0.1 0.1 0.10.1 0.2 0.10.1 0.1 0.1];d=conv2(b,c);imagesc(d);●中值滤波a=imread('a.jpg');b=a(:,:,1);d=medfilt2(b,[ m n]); %[m,n]为滤波模板的规格imagesc(d);●拉普拉斯锐化a=imread('1.jpg');b=a(:,:,1);c=[0 1 01 -4 10 1 0 ]d=conv2(b,c);imagesc(d);习题5 中值滤波a=imread('fig6.jpg');imshow(a);pause;d=medfilt2(a,[3 5]);imshow(d);与图象滤波相关的几个Matlab函数(1)imnoise参见imnoise_test.mI = imread('Fig45.jpg');J = imnoise(I,'salt & pepper',0.02);subplot(1,2,1), imshow(I);subplot(1,2,2),imshow(J);(2)fspecial(3)filter2参见filter2_test.mI = imread('cameraman.tif');subplot(2,2,1);imshow(I); title('Original Image');H = fspecial('motion',20,45);MotionBlur = imfilter(I,H,'replicate');subplot(2,2,2);imshow(MotionBlur);title('Motion Blurred Image');H = fspecial('disk',10);blurred = imfilter(I,H,'replicate');subplot(2,2,3);imshow(blurred); title('Blurred Image');H = fspecial('unsharp');sharpened = imfilter(I,H,'replicate');subplot(2,2,4);imshow(sharpened); title('Sharpened Image');(4)medfilter2(5)fftshift参见fftshift_test.m实验4 彩色图象处理习题1 直方图的一个应用(真假币鉴别,仅供教学实验参考)a=imread('rmb.jpg');subplot(2,2,1);imagesc(a);xlabel(‘真币');b=rgb2hsv(a);b1=b(:,:,1);subplot(2,2,2);imhist(b1,64);xlabel(‘色调');b2=b(:,:,2);subplot(2,2,3);imhist(b2,64);xlabel(‘饱和度');b3=b(:,:,3);subplot(2,2,4);imhist(b3,64); xlabel(‘亮度');假币501001502002500色调0饱和度0亮度习题2 运用调色板设计技术将灰度图像彩色化。
《MATLAB与控制系统仿真》自动化实验指导书
《MATLAB与控制系统仿真》实验指导书吉林化工学院信息与控制工程学院自动化专业目录实验一 MATLAB环境的熟悉与基本运算(一)实验二 MATLAB环境的熟悉与基本运算(二)实验三 MATLAB语言的程序设计实验四 MATLAB的图形绘制实验五基于SIMULINK的系统仿真实验六控制系统的频域与时域分析实验七控制系统PID校正器设计法实验八线性方程组求解及函数求极值实验一 MATLAB环境的熟悉与基本运算(一)一、实验目的:1.熟悉MATLAB开发环境2.掌握矩阵、变量、表达式的各种基本运算二、实验基本知识:1.熟悉MATLAB环境:MATLAB桌面和命令窗口、命令历史窗口、帮助信息浏览器、工作空间浏览器、文件和搜索路径浏览器。
2.掌握MA TLAB常用命令3.MATLAB变量与运算符3.1变量命名规则3.2 MATLAB的各种常用运算符表2 MA TLAB算术运算符表3 MATLAB关系运算符表4 MATLAB逻辑运算符4.MATLAB的一维、二维数组的寻访表6 子数组访问与赋值常用的相关指令格式三、实验内容1、新建一个文件夹(自己的名字命名,在机器的最后一个盘符)2、启动MATLAB,将该文件夹添加到MATLAB路径管理器中。
3、学习使用help命令。
4、窗口命令● close● close all● clc● hold on● hold off了解其功能和作用,观察command window、command history和workspace等窗口的变化结果。
5、工作空间管理命令● who● whosclear6、随机生成一个2×6的矩阵,观察command window、command history和workspace等窗口的变化结果,实现矩阵左旋90°或右旋90°的功能。
7、求高阶方程的的根,求高阶多项式的值。
8、创建一个二维数组A(4×8)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一MATLAB基本操作与基本运算 (1)实验二M文件及数值积分仿真方法设计 (3)实验三MATLAB 的图形绘制 (4)实验四函数文件设计和控制系统模型的描述 (6)实验五控制系统的分析与设计 (7)实验六连续系统离散化仿真方法设计 (8)实验七SIMULINK 仿真 (9)实验八SIMULINK 应用进阶 (10)附录MATLAB常用函数 (11)实验一MATLAB基本操作与基本运算一、实验目的及要求:1.熟悉MATLAB6.5的开发环境;2.掌握MATLAB6.5的一些常用命令;3.掌握矩阵、变量、表达式的输入方法及各种基本运算。
二、实验内容:1.熟悉MATLAB6的开发环境:①MATLAB的各种窗口:命令窗口、命令历史窗口、启动平台窗口、工作空间窗口、当前路径窗口。
图1 MA TLAB 界面窗口②路径的设置:建立自己的文件夹,加入到MA TLAB 路径中,并保存。
设置当前路径,以方便文件管理。
③改变命令窗口数据的显示格式>> format short >> format long然后键入特殊变量:pi (圆周率),比较显示结果。
2.掌握MATLAB 常用命令>> who %列出工作空间中变量>> whos %列出工作空间中变量,同时包括变量详细信息 >>save test %将工作空间中变量存储到test.mat 文件中 >>load test %从test.mat 文件中读取变量到工作空间中 >>clear %清除工作空间中变量>>help 函数名 %对所选函数的功能、调用格式及相关函数给出说明 >>lookfor %查找具有某种功能的函数但却不知道该函数的准确名称如: lookfor Lyapunov 可列出与Lyapunov 有关的所有函数。
3. 在MATLAB 的命令窗口计算:1) )2sin(π2) 5.4)4.05589(÷⨯+4. 设计M 文件计算: 已知求出: 1) a+ba-b a+b*5 a-b+I (单位阵)2) a*b a.*b a/b 3) a^2 a.^2注意:点运算 . 的功能,比较结果。
⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=987654321a ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=300120101b))(,(12h k x y h x f k m m ++=)(2)(211k k h x y y mm ++=+⎪⎩⎪⎨⎧))(,(1m m x y x f k =5. 设计M 文件计算:x=0:0.1:10当sum>1000时停止运算,并显示求和结果及计算次数。
三、实验报告要求:1)体会1、2的用法;2)对3、4、5写出程序及上机的结果。
实验二 M 文件及数值积分仿真方法设计一、实验目的及要求:1. 掌握MA TLAB 程序设计方法,会编写M 文件;2. 掌握用数值积分方法对连续系统建立仿真模型的方法。
二、实验内容:M 文件设计:仿真时间0~1秒,计算步长h=0.1,初始值y(0)=1,对连续系统y x dxdy+= 采用以下方法建立仿真模型: ① 前向Euler: n n n h f y y +=+1② 后向Euler: ③ 梯形法: ④ 改进Euler:⑤ 经典RK4:)2(1002i i i x x sum -∑==11+++=n n n hf y y ()112++++=n n n n f f hy y ))(,(1m m x y x f k =)2,2(12k hy h x f k m m ++=()4321122k k k k hy y m m ++++=+⎪⎪⎪⎪⎪⎪⎨⎧),(34h k y h x f k m m ++=)2,2(23k h y h x f k m m ++=⑥ Adams 法: ⑦ Milne 法:并与精确解x e x y x --=12)(的结果进行比较。
三、实验报告要求:写出程序及上机的结果(保存程序,以便下次实验使用)。
实验三 MATLAB 的图形绘制一、实验目的及要求:1.掌握MA TLAB 绘图的基本方法,熟悉各种绘图函数的使用;2.掌握图形的修饰方法和标注方法;3.了解MA TLAB 中图形窗口的操作。
二、实验内容:1、x=[-2π,2π],y1=sinx 、y2=cosx 、y3=sin2x 、y4=cos 2x①用MA TLAB 语言分四个区域分别绘制的曲线,并且对图形标题及横纵坐标轴进行标注(如下图所示)。
()32115162312----+-+=n n n n n f f f hy y ()111143-+-++++=m m m m m f f f hyy图2 四分区绘制曲线②另建一个窗口,不分区,用不同颜色、线型绘出四条曲线,并标注图例注解。
图2 四分区绘制曲线图3 同一窗口绘制多条曲线③(选做)在图形窗口可利用Figure窗口菜单提供的功能进行操作,并保存成** .fig文件。
2、在实验二的基础上分别用分区域绘制和同一窗口绘制多条曲线的方法绘制7种算法和精确解的结果。
图4 仿真算法与精确解曲线分区域比较图5 仿真算法与精确解曲线同一窗口比较三、实验报告要求:写出1、①(对图形的修饰写出第一个子区域即可)和②的程序。
实验四 函数文件设计一、实验目的及要求:1. 掌握函数文件的设计方法;2. 掌握函数文件的调用方法。
二、实验内容:1、阶乘函数的设计: 设计一个函数文件实现一个阶乘运算 n n n n y ⨯-⨯⨯⨯⨯==)1(321!)( , 并设计程序调用该函数。
为保证函数的通用性,当输入负数或小数时,显示出错提示:disp('Input parameter must be a positive integer!') 提示:fix(x) 对零方向取整数 ceil(x) 对+∞方向取整数round(x) 四舍五入取整数2、非线性限幅函数的设计:为,a a x a a x a a x x y ⎪⎩⎪⎨⎧-<->≤=正整数并要求:对输入的一个数列]2,2[a a x -∈,以x 为横坐标,y 为纵坐标绘制红色实线,图形的x 轴范围限定在[x 最小值-1 x 最大值+1],y 轴范围限定在[-1.5*a 1.5*a],如下左图:(右图为利用Figure 窗口的功能进行添加,选做)三、实验报告要求:写出程序及上机的结果。
实验五 控制系统的分析与设计一、实验目的及要求:1. 掌握控制系统数学模型的基本描述方法。
2. 掌握控制系统频域与时域分析基本方法。
3. 掌握现代控制理论的基本设计方法。
二、实验内容:1、已知两个传递函数分别为:ss x G s x G +=+=22132)(,131)(①在MATLAB 中分别用传递函数、零极点、和状态空间法表示; ②在MATLAB 中分别求出通过反馈、串联、并联后得到的系统模型;2.已知两个单位负反馈系统中前向通道的传递函数分别为:s s s s x G s s s x G +++=+++=23221312)(,1312)(,①分别绘制开环系统的bode 图和nyquist 曲线; ②分别绘制闭环系统的根轨迹;③分别绘制闭环系统的阶跃响应曲线,分析静态误差; ④分别绘制闭环系统的单位斜坡输入响应曲线,分析静态误差。
3.已知某被控对象的状态空间表达式为:()xy u x x101111101101121=⎥⎥⎦⎤⎢⎢⎣⎡+⎥⎥⎦⎤⎢⎢⎣⎡---=①判断能控性;②期望极点为p=(-1,-2,-3); ③设计状态反馈K 进行极点配置;④分别绘制校正前后系统的阶跃响应曲线。
三、实验报告要求:写出程序及上机的结果,并对结果进行分析。
实验六 连续系统离散化仿真方法设计一、实验目的及要求:1. 掌握用替换法建立连续系统仿真模型的方法;2. 掌握用离散相似法建立连续系统仿真模型的方法。
二、实验内容:1、替换法建立连续系统仿真模型:①设连续系统传递函数为 351)()()(2++==S S s u s y s G ,用简单替换法求其Z 传递函数和差分方程(采样周期T=0.1s );② 若已知:输入作用为单位阶跃函数U(t)=1(t),起始值y(0)=0、y(0.1)= 0.004251,仿真时间t=[0,10],在①的基础上设计程序求出响应结果Y(t),并绘制响应曲线;并与控制系统step( )函数得出的响应结果比较。
2、离散相似法建立连续系统仿真模型:①若系统传递函数为52)()()(+==S s u s y s G ,当采用零阶保持器s e s G Tsh --=1)(,采样周期T=0.1S 时,用Z 域离散相似法求出系统的脉冲传递函数G(z),并写出差分方程;② 若输入作用为斜坡函数U(t)=t ,仿真时间t=[0,10],在①的基础上设计程序求出响应结果Y(t),并绘制响应曲线;并与控制系统lsim( )函数得出的响应结果比较。
三、实验报告要求:写出用简单替换法和离散相似法建立差分方程的过程,并写出程序。
实验七 SIMULINK 仿真——单回路控制系统及PID 控制器参数整定一、实验目的及要求:1.熟悉SIMULINK 工作环境及特点;2.熟悉控制线性系统仿真常用基本模块的用法;3.掌握SIMULINK 的建模与仿真方法。
二、实验内容:用SIMULINK 建立被控对象的传递函数为11010)(23+++=s s s x G ,系统输入为单位阶跃,采用PID 控制器进行闭环调节。
①练习模块、连线的操作,并将仿真时间定为300 秒,其余用缺省值; ②试用稳定边界法(过程控制P5工程整定法之一)设置出合适的PID 参数,得出满意的响应曲线。
③设计M 文件在一个窗口中绘制出系统输入和输出的曲线,并加图解。
三、实验报告要求:①阐述用SIMULINK 进行控制系统仿真的一般过程; ②说明用工程整定法——稳定边界法整定PID 参数的过程。
实验八 SIMULINK 应用进阶 ——子系统封装及复杂系统仿真一、实验目的及要求:1. 掌握SIMULINK 子系统模块化和封装技术;2. 熟悉SIMULINK 对复杂控制系统仿真时常用的方法。
二、实验内容:1、用SIMULINK 建立系统:c bx ax y++=3,x 为输入,y 为输出,c b a ,,为常数。
对该系统进行封装,要求通过对话框能修改c b a ,,的值。
图6 系统封装后的效果图2、在第一题的基础上,①加入实验四建立的阶乘函数,实现ax^3+bx+c+n!的运算;②将模型中的a 、b 、c 、n 表示为字母形式的变量名,设计M 文件在文件中为模型参数赋值,然后运行仿真模型;③在②中的M 文件中实现用命令行运行仿真模型,并用plot 语句绘曲线。