当前位置:文档之家› MATLAB和ADAMS联合仿真实现一种位置控制系统

MATLAB和ADAMS联合仿真实现一种位置控制系统

MATLAB和ADAMS联合仿真实现一种位置控制系统
MATLAB和ADAMS联合仿真实现一种位置控制系统

MATLAB和ADAMS联合仿真实现一种位置控制系统

0.预先操作

01 在D盘根目录下新建文件夹Model,路径中无空格、无中文字符,模型统一存放处。

1.ADAMS中建模过程

1.1启动ADMAS

双击桌面图标:

或从“开始”中选择启动:

1.2进入ADMAS界面。

1.3设置工作目录。

选择菜单栏File\Select Directory,弹出浏览

文件夹对话框,选择D:\Model文件夹。

1.4弹出主工具栏。

选择菜单栏\View\Toolbox and

Toolbars,勾选Tool Settings中

Main Toolbar,弹出工具栏。

1.5ADAMS中按F4调出位置/坐标显

示。

1.6设置重力加速度。

选择菜单栏\Setting\Gravity,设置重力加速度,此时弹出Error对话框。

选择“Create Model”,并起名为“Qiu1”,点击“OK”

再次选择菜单栏\Setting\Gravity,设置重力加速度:勾选Gravity前方框,点击-Y*,如

下图示,点击“OK”。

1.7设置单位。

选择菜单栏\Setting\Units,设置单位,此时弹出“Units

Settings”对话框,点击“MKS”按钮,各单位符号

如右图示,点击“OK”。

1.8建立半径10cm的球,放置在点(0,0,0)上。

“右键”点击主工具栏第一排第二个符号-刚体:连杆,弹出扩展工具符号,选择第

二排第一个符号-刚体:球,勾选Radius前方框,则此球半径为10.0cm。

1.9建立球与大地之间移动副。

“右键”点击主工具栏第二排第二个符号-连接:旋转副,弹出扩展工具符号,选择

第二排第一个符号-连接:移动副。该移动副属性为2个构件,1个作用点。

鼠标动作顺序为:1.左键点击“ground”一次,选取大地为第一个构件;

2.左键点击球体一次,选取球为第二个构件;

3.右键在球心位置点击一次,弹出Select对话框,左键双击“PART_2.cm”;

4.右键在球心位置点击一次,弹出Select对话框,左键双击“PART_2.cm.Y”。以上步骤完毕后,球体中心会出现移动副图标。

1.10 在移动副上建立直线动力源。

“右键”点击主工具栏第三排第二个符号-旋转副驱动

,弹出扩展工具符号,选择第

二排第一个符号-直线副驱动。将鼠标移动到球体中心处,跟随光标会显示“JIONT_1”,

点击左键确定。球体如下图所示。

1.11 建立状态变量VF 。

选择菜单栏\Build\System Elements\State Variable\New ,创建变量,此时弹出Create State Variable 对话框,将Name 栏修改为.Qiu1.VF ,如右图所示。

1.12将VF导入到直线驱动幅的函数定义中。

右键单击球体中心,弹出菜单栏,选择Motion:MOTION_1\Modify,修改直线驱动副参数,此时弹出Joint Motion对话框,将Function(time)栏修改为-V ARV AL(VF),点击OK。

1.13将变量VF设置为输入变量INPUT

选择菜单栏\Build\Controls Toolkit\Plant Input…,创建输入变量。在Variable Name后,输入VF,点击OK,如下图所示。

1.14建立状态变量VS。

选择菜单栏\Build\System Elements\State

Variable\New,创建变量,此时弹出

Create State Variable对话框,将Name

栏修改为.Qiu1.VS,将F(time,…)栏修改

为DY(cm),表示测量球体的中心cm点

沿Y方向的位移,点击OK,如右图示。

1.15建立状态变量F。

选择菜单栏\Build\System Elements\State

Variable\New,创建变量,此时弹出

Create State Variable对话框,将Name

栏修改为.Qiu1.F,将F(time,…)栏修改为

MOTION(MOTION_1, 1, 3, 0),表示测

量驱动球体运动的沿Y轴方向驱动力,

点击OK,如右图示。

1.16将变量VS/F设置为输出变量

OUTPUT。

选择菜单栏\Build\Controls

Toolkit\Plant Output…,创建输入

变量。在Variable Name后,输

入VS,F,点击OK,如右图所示。

1.17运行一下,看模型建立是否正确。

点击主工具栏第二排第三个符号:运行,点击开始按钮,

运行一下。弹出Message Windows,里有警告信息,提示的是MOTION 运动副依赖于V ARV AL函数。

1.18保存文件

选择菜单栏File\Save Database,弹出Information对话框,点击OK。

1.19调出Control模块

选择菜单栏Tool\Plugin

Manager,调出插件管理器(Plugin

Manager)。勾选

ADAMS/Controls后面Load(加载)

和Load at Startup(启动时加载),

如下图。

1.20在菜单栏新增的Controls中。

选择菜单栏Controls\Plant Export,弹出ADAMA/Controls Plant Export对话框,需要设置:File Prefix-:输入work01(输出接口文件名称);

Plant Input:双击此栏,在弹出的Database Navigator,双击选择PINPUT_1;

Plant Output: 双击此栏,在弹出的Database Navigator,双击选择POUTPUT_1;

Control Package:单击此栏,在下拉菜单中选择MATLAB;

Type:默认为non_linear(非线性);

Initial Static Analysis:默认为No,不进行初始状态计算;

ADAMS/Solver Choice:默认Fortran语言;

User Defined Library Name:默认空;

ADAMS Host:默认,此栏为机器名。

2.MATLAB中建模过程

2.1接口文件生成。

在工作目录下会生成三个文件:work11.adm; work11.cmd; work11.m。

2.2启动MATLAB。

双击work11.m文件,启动MATLAB。或启动MATLAB后,找到work11.m文件。(确保MALTAB的工作目录与ADAMS中设置工作目录相同)。

2.3修改work11.m文件。

将29行内容复制并替换到24行(内容如下),保存,

ADAMS_sysdir = 'C:\MSC~1.SOF\MSC~1.ADA\2005\' ;

2.4运行work11.m文件。

点击图标运行work11.m文件。此时MATLAB的Command Window中会弹出信息,主要内容是在ADAMS中设置的输入、输出变量名字,即在ADAMS中设置的VF和VS。

2.5输入adams_sys

在Command Window中,输入adams_sys,会弹出Simulink文件。

点击MATLAB左上方,快速工具栏中图标,启动Simulink,弹出Simulink Library

Browser对话框。

点击Simulink Library Browser对话框中快速工具栏图标,新建一个Simulink文件,将adams_sub黄色块和示波器拷进,剩余文件

不做处理存盘为control01.mdl。

2.8添加Simulink中元件,并连接完毕。

在Simulink Library Browser,选择以下元件,拖拽到control01窗口中:

点击Simulink\Sources\Step;

点击Simulink\Math\Operations\Sum ;

点击Simulink\Continuous\Operations \Transfer Fcn ; 点击Simulink\Sinks\Scope ;

点击

Simulink Extras\Additional Linear\PID control

(Simulink Extras一栏在目录在下方,往下拖拽Libraries的滑动条可以找到)。

编辑各元件参数

双击阶跃环节图标,在弹出的对话框中,将Step time 下原数值1修改为0,其余不变;

双击比较环节图标,在弹出的对话框

中,将List of signs下的两个正号“++”修

改为一个正号和一个负号“+-”。

双击PID环节图标,在弹出的对话框中,

将Proportional、Intergral和Derivative值分

别设置为10、10、10。

双击Transfer Fcn环节图标,在弹出的对

话框中,将Denominator cofficient值设置

为[1 1 1]。

拖拽鼠标左键,连接各环节如下图所示。

设置adams_sub环节

双击adams_sub黄色块,弹出untitled/adams_sub窗口。双击ADAMS Plant红色元件,弹出Function Block Parameters: ADAMS Plant对话框。将对话框最下端Animation mode中原bach改为interactive。

设置仿真参数

点击菜单栏

Simulation\Configuration

Paremeters,弹出

Configuration Paremeters:

untilted/Configuration(Activ

e)对话框。设置仿真时间

Stop time修改为10,其余

不变。

2.31 保存。

2.32 在MATLAB的Command Window中进行一下操作

输入clc,回车(清除Command Window中文字);

输入clear,回车(清除MATLAB内存中的数据)

2.33 点击,运行work11.m文件。

2.35 运行新生成的Simulink文件(control01.mdl)

2.36

Matlab结构图控制系统仿真

图5. 利用 SIMULINK仿

4. 建立如图11-54所示的仿真模型,其中PID控 制器采用Simulink子系统封装形式,其内部 结构如图11-31(a)所示。试设置正弦波信号 幅值为5、偏差为0、频率为10πHz\始终相位 为0,PID控制器的参数为Kp=10.75、 Ki=1.2、Kd=5,采用变步长的ode23t算法、 仿真时间为2s,对模型进行仿真。 (6)观察仿真结果。系统放着结束后,双击仿真模型中的示波器模块,得到仿真结果。单击示波器窗口工具栏上的Autoscale按钮,可以自动调整坐标来 使波形刚好完整显示,这时的波形如图所示。 图3 2. 题操作步骤如下: (1) 打开一个模型编辑窗口。 (2) 将所需模块添加到模型中。在模块库浏览器中单击Sources,将 Clock(时钟)拖到模型编辑窗口。同样,在User-Defined Functions(用户定义模块库)中把Fcn(函数模块)拖到模型编辑窗口,在Continuous(连续系统模块库)中把 Integrator(积分模块)拖到模型编辑窗口,在Sinks中把Display模块编辑窗口。 (3) 设置模块参数并连接各个模块组成仿真模型。双击Fcn模块,打开Function Block operations中把Add模块拖到模型编辑窗口,在Sinks中把Scope模块拖到模型编辑窗口。 (3) 设置模块参数并连接各个模块组成仿真模型。先双击各个正弦源,打开其Block Parameters对话框,分别设置Frequency(频率)为2*pi、 6*pi、10*pi、 14*pi、18*pi,设置Amplitude(幅值)为1、1/3、1/5、1/7和1/9,其余参数不改变。对于求和模块,將符号列表List of signs设置为 +++++。 (4) 设置系统仿真参数。单击模型

控制系统MATLAB仿真基础

系统仿真 § 4.1控制系统的数学模型 1、传递函数模型(tranfer function) 2、零极点增益模型(zero-pole-gain) 3、状态空间模型(state-space) 4、动态结构图(Simulink结构图) 一、传递函数模型(transfer fcn-----tf) 1、传递函数模型的形式 传函定义:在零初始条件下,系统输出量的拉氏变换C(S)与输入量的拉氏变换R(S)之比。 C(S) b1S m+b2S m-1+…+b m G(S)=----------- =- -------------------------------- R(S) a1S n + a2S n-1 +…+ a n num(S) = ------------ den(S) 2、在MATLAB命令中的输入形式 在MATLAB环境中,可直接用分子分母多项式系数构成的两个向量num、den表示系统: num = [b1, b2, ..., b m]; den = [a1, a2, ..., a n]; 注:1)将系统的分子分母多项式的系数按降幂的方式以向量的形式输入两个变量,中间缺项的用0补齐,不能遗漏。 2)num、den是任意两个变量名,用户可以用其他任意的变量名来输入系数向量。 3)当系统种含有几个传函时,输入MATLAB命令状态下可用n1,d1;n2,d2…….。 4)给变量num,den赋值时用的是方括号;方括号内每个系数分隔开用空格或逗号;num,den方括号间用的是分号。 3、函数命令tf( ) 在MATLAB中,用函数命令tf( )来建立控制系统的传函模型,或者将零极点增益模型、状态空间模型转换为传函模型。 tf( )函数命令的调用格式为: 圆括号中的逗号不能用空格来代替 sys = tf ( num, den ) [G= tf ( num, den )]

将PSCAD中的数据导入MATLAB

如何将PSCAD/EMTDC中的数据导入MATLAB中呢? 以接地极线路单线接地故障(将模型命名为WLDanjiedi01)为例进行详细的介绍:1、模型建立完毕,右击选择“Project Settings”出现如下界面 将”Save channels to disk?”选择为“Yes”,并在后面的“Output file”进行输出文件的命名,如例文件名命名为“WLDanjiedi01.out”(最好与模型名称一致),将模型保存至XX位置。 2、模型仿真完毕,在XX位置会生成一个名为“WLDanjiedi01.emt”的文件夹, 文件夹中后缀为“WLDanjiedi01-01.out到WLDanjiedi01-06.out”的文件储存着仿真所得到的数据;名为“WLDanjiedi01.inf”的文件是所有数据的说明,如果需要在MATLAB中进行编程处理数据,则要根据此文件中的说明在MATLAB中进行变量的定义。 3、在MATLAB中的工作窗口如下,

单击“Import data”找到“WLDanjiedi01.emt”目录,界面如下 下拉文件类型(T)选择“All Files(*.*)”出现如下界面 选择“WLDanjiedi01-01.out到WLDanjiedi01-06.out”中所需要的即可,例如导入“WLDanjiedi01-01.out”,选中后点击打开,经过一定时间会出现如下界面

选择“Next”,接着选择“Finish”即可完成数据的导入,此时MATLAB中的工作窗口如下,出现了“WLDanjiedi01-01”文件夹。 选中“WLDanjiedi01-01”,界面变成如下,单击“Plot(WLDanjiedi01-01)”会生成此文件夹所包含数据的波形图。

matlab控制系统仿真.

课程设计报告 题目PID控制器应用 课程名称控制系统仿真院部名称龙蟠学院 专业自动化 班级M10自动化 学生姓名 学号 课程设计地点 C208 课程设计学时一周 指导教师应明峰 金陵科技学院教务处制成绩

一、课程设计应达到的目的 应用所学的自动控制基本知识与工程设计方法,结合生产实际,确定系统的性能指标与实现方案,进行控制系统的初步设计。 应用计算机仿真技术,通过在MATLAB软件上建立控制系统的数学模型,对控制系统进行性能仿真研究,掌握系统参数对系统性能的影响。 二、课程设计题目及要求 1.单回路控制系统的设计及仿真。 2.串级控制系统的设计及仿真。 3.反馈前馈控制系统的设计及仿真。 4.采用Smith 补偿器克服纯滞后的控制系统的设计及仿真。 三、课程设计的内容与步骤 (1).单回路控制系统的设计及仿真。 (a)已知被控对象传函W(s) = 1 / (s2 +20s + 1)。 (b)画出单回路控制系统的方框图。 (c)用MatLab的Simulink画出该系统。

(d)选PID调节器的参数使系统的控制性能较好,并画出相应的单位阶约响应曲线。注明所用PID调节器公式。PID调节器公式Wc(s)=50(5s+1)/(3s+1) 给定值为单位阶跃响应幅值为3。 有积分作用单回路控制系统PID控制器取参数分别为:50 2 5 有积分作用单回路控制系统PID控制器取参数分别为:50 0 5

大比例作用单回路控制系统PID控制器取参数分别为:50 0 0 (e)修改调节器的参数,观察系统的稳定性或单位阶约响应曲线,理解控制器参数对系统的稳定性及控制性能的影响? 答:由上图分别可以看出无积分作用和大比例积分作用下的系数响应曲线,这两个PID调节的响应曲线均不如前面的理想。增大比例系数将加快系统的响应,但是过大的比例系数会使系统有比较大的超调,并产生振荡,使稳定性变坏;

控制系统的MATLAB仿真与设计课后答案

控制系统的MATLAB仿真与设计课后答案

>>z=-4*sqrt(2)*sin(t); >>plot3(x,y,z,'p'); >>title('Line in 3-D Space'); >>text(0,0,0,'origin'); >>xlabel('X'),ylable('Y'),zlable('Z');grid; 4>>theta=0:0.01:2*pi; >>rho=sin(2*theta).*cos(2*theta); >>polar(theta,rho,'k'); 5>>[x,y,z]=sphere(20); >>z1=z; >>z1(:,1:4)=NaN; >>c1=ones(size(z1)); >>surf(3*x,3*y,3*z1,c1); >>hold on >>z2=z; >>c2=2*ones(size(z2)); >>c2(:,1:4)=3*ones(size(c2(:,1:4))); >>surf(1.5*x,1.5*y,1.5*z2,c2); >>colormap([0,1,0;0.5,0,0;1,0,0]); >>grid on >>hold off 第四章 1>>for m=100:999 m1=fix(m/100); m2=rem(fix(m/10),10); m3=rem(m,10); if m==m1*m1*m1+m2*m2*m2+m3*m3*m3 disp(m) end end 2M文件:function[s,p]=fcircle(r) s=pi*r*r; p=2*pi*r; 主程序: [s,p]=fcircle(10) 3>>y=0;n=100; for i=1:n y=y+1/i/i; end >>y

MATLAB导入CAD数据

用AutoCAD绘制平面公式曲线(如渐开线、心形线)、空间公式曲线(如螺旋线)以及公式曲面(如马鞍形曲面)是比较困难的,一般情况下,需要用AutoCAD开发程序编程,但多数程序比较复杂,尤其是公式曲面的绘制程序,需要多层嵌套循环,复杂且运行效率低。 快速且精确地绘制各种公式曲线、曲面恰恰是MATLAB的长项,但是MATLAB绘制的图形却不能直接用于机械零件设计。其中非常关键的一点,就是MATLAB绘制的曲线、曲面分别是由有限个点连接而成的折线和空间网格构成的,而在AutoCAD中绘制的曲线、曲面也是如此。因此,只需要把在MATLAB中绘制的公式曲线、曲面上所有的点坐标数据都提取出来,若能让AutoCAD正确识别,那么我们就可以在AutoCAD中精确地绘制这些曲线、曲面了。 本文介绍了一种快速、精确地绘制各种公式曲线、曲面的方法,即在AutoCAD中通过调用经过Excel处理的MATLAB数据实现。 二、AutoCAD和MATLAB的特点 MATLAB是非常优秀的科学计算、信号处理以及图形显示软件,它有自身的语言,与其他高级语言相比,MATLAB提供了一个人机交互的数学环境,并以矩阵作为基本的数据结构,可大大节省编程时间。另外,MATLAB不仅语法规则简单,容易掌握,调试方便,还可以存储中间结果,这使得MATLAB既可以快捷、精确地绘制各种公式曲线、曲面,又可以很方便地提取中间数据。 在工业设计领域,AutoCAD不仅被广泛应用于平面绘图,也可以用于三维建模,但在曲线、曲面造型方面不是很理想。它是开放型的人机交互系统,有多种语言接口,与外界的数据交换很灵活,这些特点使得它与MATLAB的结合成为可能。 三、结合MATLAB在AutoCAD中绘制曲线、曲面的原理及方法 1.原理 MATLAB中的矩阵数据虽然很容易提取,但由于它不是AutoCAD能识别的格式,因此不能直接被AutoCAD调用,需要先用Excel对从MATLAB中提取的数据进行编辑,转换成AutoCAD可以识别的格式,才能在AutoCAD中绘出曲线、曲面。 2.方法 由于在AutoCAD中绘制平面曲线、空间曲线和曲面的绘制命令不同,且数据结构也不同,因此结合MATLAB的绘制方法也稍有区别。这种绘制方法的关键就是把数据格式转换成AutoCAD的绘制命令所需要的数据格式,只要熟悉AutoCAD的数据结构,就可以举一反三。 (1)利用MATLAB得到公式曲面数据 1)在MATLAB中绘制出曲面 在MATLAB中输入如下命令: [th,r]=meshgrid((0:5:360)*pi/180,0:.05:1); %在极坐标系下设置一个73×21的网格矩阵,即圆周方向分为73份,半径方向分为21份,总共分了1533个点,节点越多,图形越精确% [X,Y]=pol2cart(th,r); %转化为笛卡儿坐标系% Z=X+i.*Y;

MatLab与控制系统仿真(重点编程)

第 4 章 MatLab 的程序设计 MatLab 是一个工具、开发平台,同时它也是一门编程语言。与在命令窗口用交互的方式工作相比,通过程序运行来解决实际问题,其效率更高,因此,凡是复杂的、大型的应用都是以程序的方式执行。相对其它高级语言, MatLab 更简单、编程的效率更高、调试过程也更容易。 MatLab 中的程序文件是以 m 为后缀,所以通常将 MatLab 的程序文件称为 m 文件。MatLab提供了两种形式的m文件,即:脚本(Script)式m文件(就简称m文件)、函数型 m 文件。在 MatLab 中已经嵌入了一个功能强大的集成开发环境—— m 文件编辑器,用它来进行程序的编辑、修改、调试、运行等,完成应用开发工作。 4.1 MatLab 程序设计基础 通过前面内容的学习,大家对 MatLab 已经有了一个初步的认识和印象,到目前为止,我们都是在“命令”窗口中,以交互的方式运行,完成我们的工作。实际上简单的m 文件,就是一个批处理程序,它是若干条命令的集合。 例: 4.1.1 M 文件规则和属性 函数 M 文件必须遵循一些特定的规则。除此之外,它们有许多的重要属性,这其中包括: 1. 函数名和文件名必须相同。例如,函数 fliplr 存储在名为 fliplr.m 文件中。 2. MATLAB 头一次执行一函数个 M 文件时,它打开相应的文本文件并将命令编辑成存储器的内部表示,以加速执行以后所有的调用。如果函数包含了对其它函 数 M 文件的引用,它们也同样被编译到存储器。普通的脚本 M 文件不被编译,即使它们是从函数 M 文件内调用;打开脚本 M 文件,调用一次就逐行进行注释。 3. 在函数 M 文件中,到第一个非注释行为止的注释行是帮助文本。当需要帮助时,返回该文本。例如, ? help fliplr 返回上述前八行注释。 4. 第一行帮助行,名为 H1 行,是由 lookfor 命令搜索的行。 5. 函数可以有零个或更多个输入参量。函数可以有零个或更多个输出参量。

导入包含数据的txt文件到MATLAB中

导入包含数据的txt文件到MATLAB中,并绘制图像 (2013-08-07 17:14:49) 转载▼ 标签: matlab 这回把步骤写得详详细细的,再不会忘记了吧,哇呀呀哎呀 第一步:先把txt文件复制到MATLAB的目录,或者在MATLAB中将路径指向txt文件所在路径。 第二步:右键存有数据的txt文件,选择Import Data... 第三步:Import Data之后就能看到txt里的数据被妥善安放好位置了,然后在Range右边的列表中选择Matrix,再点击绿色的对勾√导入数据:

第四步:导入完数据后,在workplace里能看到名为txt文件名的数组变量,就说明导入成功,这里是a:

第五步:最后就是编写语句了:plot(a(:,2),a(:,3),'o'),回车就会出现以o为点的散点图,如果是:plot(a(:,2),a(:,3),'*'),就得到以*为点的散点图;

绘图说明(本节来自互联网资源): 1.将数据表的各列数值分别赋予变量x、y、z等,格式如下:x=sheetname(:,1), y=sheetname(:,2), z=sheetname(:,3); 2.用命令plot(x,y,’XXXX’)绘制图形,单引号中的符号表示点线的属性,如线形、颜色、点的形状等,若用双对数坐标画图则命令为loglog(x,y); 3.在弹出的绘图界面中用菜单View—Property Editor编辑图形属性,如字体大小、数据点形状、横纵坐标名称、绘图区域颜色等; 4.绘图方法2:在数组编辑器上点击Plot Selection按钮,选择图形的类型即可; 5.绘图方法3:菜单File—New—Figure创建新的图形,在图形编辑器中Figure Palette面板点击2D Axes,点击右下角Add Data选择图表类型和坐标轴的数据源,度分布图将坐标轴由线形改为对数即可。 6.hold on/off命令:叠绘命令,切换绘图的保持功能; 7.绘制双纵轴: 7.1 plotyy(x1,y1,x2,y2):分别用左/右侧y轴表示两条曲线; 7.2 plotyy(x1,y1,x2,y2,FUN):FUN是字符串格式,用来指定绘图的函数名,可以由多个。

MATLAB控制系统各种仿真例题(包括simulink解法)

一、 控制系统的模型与转换 1. 请将下面的传递函数模型输入到matlab 环境。 ]52)1)[(2(24)(322 33++++++=s s s s s s s G ) 99.02.0)(1(568 .0)(22+--+=z z z z z H ,T=0.1s >> s=tf('s'); G=(s^3+4*s+2)/(s^3*(s^2+2)*((s^2+1)^3+2*s+5)); G Transfer function: s^3 + 4 s + 2 ------------------------------------------------------ s^11 + 5 s^9 + 9 s^7 + 2 s^6 + 12 s^5 + 4 s^4 + 12 s^3 >> num=[1 0 0.56]; den=conv([1 -1],[1 -0.2 0.99]); H=tf(num,den,'Ts',0.1) Transfer function: z^2 + 0.56 ----------------------------- z^3 - 1.2 z^2 + 1.19 z - 0.99 2. 请将下面的零极点模型输入到matlab 环境。请求出上述模型的零极点,并绘制其位置。 )1)(6)(5()1)(1(8)(22 +++-+++=s s s s j s j s s G ) 2.8() 6.2)(2.3()(1 511-++=----z z z z z H ,T=0.05s >>z=[-1-j -1+j]; p=[0 0 -5 -6 -j j]; G=zpk(z,p,8) Zero/pole/gain: 8 (s^2 + 2s + 2) -------------------------- s^2 (s+5) (s+6) (s^2 + 1) >>pzmap(G)

Matlab的各种数据读取、文件读写等操作汇总

Matlab 的各种数据读取、文件读写等操作汇总 MATLAB 提供了多种方式从磁盘读入文件或将数据输入到工作空间,即读取数据,又叫导入数据;将工作空间的变量存储到磁盘文件中称为存写数据,又叫导出数据。至于选择哪种机制,则根据下面两个因素决定:?用户所执行的 操作是导入数据还是导出数据;?数据的格式为文本格式、 二进制格式还是如HDF 之类的标准格式。将数据导入MATLAB 中最容易的方法就是使用导入数据模板(Import Wizard) ,使用该模板时不需要知道数据的格式,只需指定包含这些数据的文件,然后导入模板会自动处理文件内容。本章重点内容如下:? 文件的打开和关闭? 文本文件的读取?存写ASCII数据?二进制数据的读取? 二进制数据的存写? 使用I/O文件函数进行数据读写?MAT 文件的读写 2.1 文件的打开和关闭2.1.1 文件的打开无论是要读写ASCII 码文件还是二进制文件,都必须先用fopen 函数将其打开,在默认情况下,fopen 以二进制格式打开文件,它的使用语法如下:fopen ('filename', 'mode') 其中filename 表示要读写的文件名称,mode 则表示要对文件进行的处理方式,如下:rt :以只读方式(Reading)打开文件wt:以只写方式(Writing)打开文件at:以追加方式(Appending)打开文件,新内容将从原文件后面续写r+t:以同时读写方式打开文件w+t :以同时读写创建文件,原文件内容被清除

a+t :以同时读和追加(Reading and Appdending) 方式,原文件内容被保留,新内容将从原文件的后面开始At :以读写方式打开或创建文件,适用于对磁带介质文件的操作Wt :以写入方式打 开或创建文件,原文件内容被清除,适用于磁带介质文件的操作fopen 函数有两个返回值,一个是返回一个文件标志(file Identifier) ,它会作为参数被传入其他对文件进行读写操作的命令,通常是一个非负的整数,可用此标识来对此文件进行各种处理。如果返回的文件标识是-1,则代表fopen无法打开文件,其原因可能是文件不存在,或是用户无法打开此文件权限。另一个返回值就是message ,用于返回无法打开文件的原因。为了安全起见,最好在每次使用fopen 函数时,都测试其返回值是否为有效值。下面以脚本m 文件为例来声明文件的打开。例 2-1 %exam1.m[f,message]=fopen('fileexam1', 'r')if f==-1disp (message); % 显示错误信息end 若文件fileexam1 不存在,则显示如下信息。Cannot open file.existence?permissions?memory?... 例2-2 %exam2.m[f,message]=fopen('fileexam2', 'r');if f==-1disp (message); % 显示错误信息else disp(f);end 若文件fileexam2 存在,则返回f值。 2.1.2 文件的关闭一旦完成文件的读写,最好关闭文件,以便对其进行其他操作。这时就可以使用fclose 函数来关闭文件,其适用语法如下:fclose(f) 。其中 f 为打开文件的标志,若fclose 函数返回值为0 ,则表示成功关闭 f 标志的文件;若返回值为-1,

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

《MATLAB与控制系统仿真》 实验报告 班级: 学号: 姓名: 时间:2013 年 6 月

目录实验一 MATLAB环境的熟悉与基本运算(一)实验二 MATLAB环境的熟悉与基本运算(二)实验三 MATLAB语言的程序设计 实验四 MATLAB的图形绘制 实验五基于SIMULINK的系统仿真 实验六控制系统的频域与时域分析 实验七控制系统PID校正器设计法 实验八线性方程组求解及函数求极值

实验一 MATLAB环境的熟悉与基本运算(一) 一、实验目的 1.熟悉MATLAB开发环境 2.掌握矩阵、变量、表达式的各种基本运算 二、实验基本原理 1.熟悉MATLAB环境: MATLAB桌面和命令窗口、命令历史窗口、帮助信息浏览器、工作空间浏览器、文件和搜索路径浏览器。 2.掌握MA TLAB常用命令 表1 MA TLAB常用命令 3.MATLAB变量与运算符 3.1变量命名规则 3.2 MATLAB的各种常用运算符 表3 MATLAB关系运算符 表4 MATLAB逻辑运算符

| Or 逻辑或 ~ Not 逻辑非 Xor 逻辑异或 符号功能说明示例符号功能说明示例 :1:1:4;1:2:11 . ;分隔行.. ,分隔列… ()% 注释 [] 构成向量、矩阵!调用操作系统命令 {} 构成单元数组= 用于赋值 4.MATLAB的一维、二维数组的寻访 表6 子数组访问与赋值常用的相关指令格式 三、主要仪器设备及耗材 计算机 四.实验程序及结果 1、新建一个文件夹(自己的名字命名,在机器的最后一个盘符) 2、启动MATLAB,将该文件夹添加到MATLAB路径管理器中。 3、学习使用help命令。

MATLAB控制系统与仿真设计

MATLAB控制系统与仿真 课 程 设 计 报 告 院(系):电气与控制工程学院 专业班级:测控技术与仪器1301班 姓名:吴凯 学号:1306070127

指导教师:杨洁昝宏洋 基于MATLAB的PID恒温控制器 本论文以温度控制系统为研究对象设计一个PID控制器。PID控制是迄今为止最通用的控制方法,大多数反馈回路用该方法或其较小的变形来控制。PID控制器(亦称调节器)及其改进型因此成为工业过程控制中最常见的控制器(至今在全世界过程控制中用的84%仍是纯PID调节器,若改进型包含在内则超过90%)。在PID控制器的设计中,参数整定是最为重要的,随着计算机技术的迅速发展,对PID参数的整定大多借助于一些先进的软件,例如目前得到广泛应用的MATLAB仿真系统。本设计就是借助此软件主要运用Relay-feedback法,线上综合法和系统辨识法来研究PID控制器的设计方法,设计一个温控系统的PID控制器,并通过MATLAB中的虚拟示波器观察系统完善后在阶跃信号下的输出波形。 关键词:PID参数整定;PID控制器;MATLAB仿真。 Design of PID Controller based on MATLAB Abstract This paper regards temperature control system as the research object to design a pid controller. Pid control is the most common control method up until now; the great majority feedback loop is controlled by this method or its small deformation. Pid controller (claim regulator also) and its second generation so become the most common controllers in the industry process control (so far, about 84% of the controller being used is the pure pid controller, it’ll exceed 90% if the second generation included). Pid parameter setting is most important in pid controller designing, and with the rapid development of the computer technology, it mostly recurs to some advanced software, for example, mat lab simulation software widely used now. this design is to apply that soft mainly use Relay feedback law and synthetic method on the line to study pid

Matlab数据文件的读写

Matlab数据文件的读写 在编写一个程序时,经常需要从外部读入数据,或者将程序运行的结果保存为文件。MATLAB使用多种格式打开和保存数据。本章将要介绍MATLAB中文件的读写和数据的导入导出。 了解MATLAB的基本数据操作 掌握MATLAB中文本文件的读写方式 掌握MATLAB通过界面导入导出数据 了解MATLAB中的基本输入输出函数 13.1 数据基本操作 本节介绍基本的数据操作,包括工作区的保存、导入和文件打开。 13.1.1 文件的存储 MATLAB支持工作区的保存。用户可以将工作区或工作区中的变量以文件的形式保存,以备在需要时再次导入。保存工作区可以通过菜单进行,也可以通过命令窗口进行。 1. 保存整个工作区 选择File菜单中的Save Workspace As…命令,或者单击工作区浏览器工具栏中的Save,可以将工作区中的变量保存为MAT文件。 2. 保存工作区中的变量 在工作区浏览器中,右击需要保存的变量名,选择Save

As…,将该变量保存为MAT文件。 3. 利用save命令保存 该命令可以保存工作区,或工作区中任何指定文件。该命令的调用格式如下: ● save:将工作区中的所有变量保存在当前工作区中的文件中,文件名为matlab.mat,MAT文件可以通过load函数再次导入工作区,MAT函数可以被不同的机器导入,甚至可以通过其他的程序调用。 ● save('filename'):将工作区中的所有变量保存为文件,文件名由filename指定。如果filename中包含路径,则将文件保存在相应目录下,否则默认路径为当前路径。 ● save('filename', 'var1', 'var2', ...):保存指定的变量在filename 指定的文件中。 ● save('filename', '-struct', 's'):保存结构体s中全部域作为单独的变量。 ● save('filename', '-struct', 's', 'f1', 'f2', ...):保存结构体s中的指定变量。 ● save('-regexp', expr1, expr2, ...):通过正则表达式指定待保存的变量需满足的条件。 ● save('..., 'format'),指定保存文件的格式,格式可以为MAT 文件、ASCII文件等。 13.1.2 数据导入

excel中的数据导入matlab中

用Excel Link实现Excel与Matlab混合编程 Excel Link是一个在Windows环境下实现Excel与Matlab进行链接的插件。通过连接Excel 和Matlab,用户可以在Excel工作表空间和宏编程工具中使用Matlab的数值计算,图形处理等功能,不需要脱离Excel环境。同时由Excel Link来保证两个工作环境中的数据交换和同步更新。 1. Excel Link的安装和和设置首先,在系统中安装Excel软件。然后安装Matlab和Excel Link,用Matlab安装盘开始安装,选择自定义安装中,在选中组件ExcelLink,如下图所示:安装完Excel Link后还需要在Excel中进行一些设置后才能使用。启动Excel,选择菜单“工具”项下的“加载宏”项,弹出如下对话框:选中Excel Link项。如果该项不存在,则通过浏览目录,在目录%MATLAB%toolboxexlink下找到excllink.xla文件,如下图示,并确定。选中ExcelLink项并确定后,在Excel中多了一个Excel Link工具条,如下图示: 经过以上的设置后就可以开始使用Excel Link了。 2. ExcelLink连接管理函数 (1) Matlabinit 该函数只能在宏子例程中使用。初始化ExcelLink和启动Matlab进程。只有在MLAutoStart 函数中使用“no”参数,才需要手动使用Matlabinit来初始化ExcelLink和启动Matlab进程,如果使用参数“yes”,则Matlabinit是自动执行的。 使用语法:Matlabinit (2) MLAutoStart 设置自动启动Matlab和ExcelLink。 在工作表中的使用语法: MLAutoStart("yes") MLAutoStart("no") 在宏中的使用语法: MLAutoStart "yes" MLAutoStart "no" 使用“yes”参数,则当Excel启动时,自动启动Matlab和ExcelLink;如果使用参数“no”,则当Excel启动时,不启动Matlab和ExcelLink。如果在此之前它们已经启动,则无任何影响。 (3) MLClose 终止Matlab进程并删除Matlab工作空间的所有变量。并通知Excel,Matlab不再运行。 在工作表中的使用语法: MLClose() 在宏中的使用语法: MLClose (4) MLOpen 启动Matlab进程。如果Matlab进程已经启动,则MLOpen函数不进行任何操作。在使用MLClose关闭Matlab进程后使用MLOpen来重新启动Matlab。 在工作表中的使用语法: MLOpen() 在宏中的使用语法: MLOpen

《控制系统MATLAB仿真》实验讲义88

《自动控制原理实验》 目录 第一部分实验箱的使用 第二部分经典控制实验 第一章基本实验 实验一典型环节及其阶跃响应 实验二二阶系统阶跃响应 实验三控制系统的稳定性分析 实验四控制系统的频率特性 实验五连续控制系统的串联校正 实验六数字PID控制实验 第二章综合实验 第三部现代控制理论实验 第一章基本实验 第二章综合实验

实验一 典型环节及其阶跃响应 预习要求: 1、复习运算放大器的工作原理;了解采用A μ741运算放大器构成各种运算电路的方法; 2、了解比例控制、微分控制、积分控制的物理意义。 一、实验目的 1、学习自动控制系统典型环节的电模拟方法,了解电路参数对环节特性的影响。 2、学习典型环节阶跃响应的测量方法; 3、学会根据阶跃响应曲线计算确定典型环节的传递函数。 二、实验内容 1、比例环节 电路模拟: 图1-1 传递函数: 2211 ()()()U s R G s U s R ==- 2、惯性环节 电路模拟: 图1-2 传递函数: 22112()/()()11 U s R R K G s U s Ts R Cs = =-=- ++ 3、积分环节 电路模拟: A/D1 D/A1 A/D1

图1-3 传递函数: 21()11 ()()U s G s U s Ts RCs = =-=- 4、微分环节 电路模拟: 图1-4 传递函数: 211() ()() U s G s s RC s U s τ= =-=- 5、比例微分 电路模拟: 图1-5 传递函数: 222111 ()()(1)(1)()U s R G s K s R C s U s R τ= =-+=-+ 6、比例积分 电路模拟: 图1-6 A/D1 2 R D/A1 A/D1 A/D1 A/D1 C

MatLab与控制系统仿真(重点编程)

第4章MatLab的程序设计 MatLab是一个工具、开发平台,同时它也是一门编程语言。与在命令窗口用交互的方式工作相比,通过程序运行来解决实际问题,其效率更高,因此,凡是复杂的、大型的应用都是以程序的方式执行。相对其它高级语言,MatLab更简单、编程的效率更高、调试过程也更容易。 MatLab中的程序文件是以m为后缀,所以通常将MatLab的程序文件称为m文件。MatLab提供了两种形式的m文件,即:脚本(Script)式m文件(就简称m文件)、函数型m文件。在MatLab中已经嵌入了一个功能强大的集成开发环境——m文件编辑器,用它来进行程序的编辑、修改、调试、运行等,完成应用开发工作。 4.1 MatLab程序设计基础 通过前面内容的学习,大家对MatLab已经有了一个初步的认识和印象,到目前为止,我们都是在“命令”窗口中,以交互的方式运行,完成我们的工作。实际上简单的m文件,就是一个批处理程序,它是若干条命令的集合。 例: 4.1.1 M文件规则和属性 函数M文件必须遵循一些特定的规则。除此之外,它们有许多的重要属性,这其中包括: 1. 函数名和文件名必须相同。例如,函数fliplr存储在名为fliplr.m文件中。 2. MATLAB头一次执行一函数个M文件时,它打开相应的文本文件并将命令编辑成存储器的内部表示,以加速执行以后所有的调用。如果函数包含了对其它函数M文件的引用,它们也同样被编译到存储器。普通的脚本M文件不被编译,即使它们是从函数M文件内调用;打开脚本M文件,调用一次就逐行进行注释。 页脚内容1

3. 在函数M文件中,到第一个非注释行为止的注释行是帮助文本。当需要帮助时,返回该文本。例如,? help fliplr返回上述前八行注释。 4. 第一行帮助行,名为H1 行,是由lookfor命令搜索的行。 5. 函数可以有零个或更多个输入参量。函数可以有零个或更多个输出参量。 6. 函数可以按少于函数M文件中所规定的输入和输出变量进行调用,但不能用多于函数M文件中所规定的输入和输出变量数目。如果输入和输出变量数目多于函数M文件中function语句一开始所规定的数目,则调用时自动返回一个错误。 相对于函数m文件,脚本式m文件就简单多了,它没有严格的格式要求,只要将有关的命令或函数一一敲入即可,但是还是有几个问题需要注意: 1. m文件的名称不得与MatLab的内部函数同名、第一个字符不得为数字(这点与变量的命名规则相同); 2. 最好在文件的头部加上注释,对该m文件的作用、功能作一个简要说明,而在一些重要命令行后也加上注释行,以方便使用者阅读、查找; 3. 要特别注意m文件的保存路径或位置,如果不是保存在MatLab默认的路径下,可以使用addpath函数来设置、添加路径,否则,m文件不能运行。 脚本式m文件与函数m文件还有一个重要区别:脚本式m文件中的变量均为全局变量,而函数m文件中的变量则是局部变量。这可以从这两种程序文件运行后在Workspace中留下痕迹看出。当然,在函数m文件中也可以专门将某些变量定义为全局变量(关键字是:global)。不过,在使用全局变量(函数m文件中)时应特别注意: ①.全局变量需要函数体的变量赋值语句之前定义或说明; ②.全局变量名最好是大写,而且要尽量长,能反映它本身的含义; 页脚内容2

MATLAB语言与控制系统仿真-参考答案

5.6 控制系统的时域响应MATLAB 仿真实训 5.6.1实训目的 1. 学会利用MATLAB 绘制系统的单位阶跃响应曲线,掌握读取系统动态性能指标的方法; 2. 学会利用MATLAB 绘制系统的单位脉冲响应曲线的方法; 3. 掌握利用MATLAB 绘制系统的零输入响应曲线的方法; 4. 掌握利用MATLAB 绘制系统的一般输入响应曲线的方法; 5. 学会通过仿真曲线读取相关信息,并依据有关信息进行系统的时域分析。 5.6.2实训内容 1.编写程序求取下列各系统的单位阶跃响应,完成表5-5并记录相关曲线。 162.316)(21++= s s s G 16 4.216 )(22 ++=s s s G 166.116)(2 3++=s s s G 1616 )(24++=s s s G 解:>> n1=16; >> d1=[1,3.2,16]; >> sys1=tf(n1,d1); >> step(sys1) >> n2=16; >> d2=[1,2.4,16]; >> sys2=tf(n2,d2); >> step(sys2)

>> n3=16; >> d3=[1,1.6,16]; >> sys3=tf(n3,d3); >> step(sys3) >> n4=16; >> d4=[1,1,16]; >> sys4=tf(n4,d4); >> step(sys4)

序号ξnω m ax c p t s t(% 5 = ?) 计算值实验计算值实验计算值实验值 1 0.4 4 1.2538 1.25 0.8569 0.863 2.1875 2.1 2 0. 3 4 1.3723 1.37 0.8233 0.828 2.9167 2.81 3 0.2 4 1.5266 1.53 0.8016 0.8 4.3750 4.9 4 0.12 5 4 1.6731 1.67 0.791 6 0.803 7.0000 7.33 w=4; cmax1=1+exp(-z1*pi/sqrt(1-z1^2)); tp1=pi/(w*sqrt(1-z1^2)); ts1=3.5/(z1*w); [cmax1,tp1,ts1] ans = 1.2538 0.8569 2.1875 >> z2=0.3; w=4; cmax2=1+exp(-z2*pi/sqrt(1-z2^2)); tp2=pi/(w*sqrt(1-z2^2)); ts2=3.5/(z2*w); [cmax2,tp2,ts2]

基于MATLAB的自动控制系统仿真

摘要 自动控制原理理论性强,现实模型在实验室较难建立,因此利用SIMULINK进行仿真实验,可以加深我们学生对课程的理解,调动我们学习的积极性,同时大大提高了我们深入思考问题的能力和创新能力。本文针对自动控制系统的设计很大程度上还依赖于实际系统的反复实验、调整的普遍现象,结合具体的设计实例,介绍了利用较先进的MATLAB软件中的SIMULINK仿真工具来实现对自动控制系统建模、分析与设计、仿真的方法。它能够直观、快速地分析系统的动态性能、和稳态性能。并且能够灵活的改变系统的结构和参数,通过快速、直观的仿真达到系统的优化设计。关键词:MATLAB;自动控制;系统仿真

Abstract Strong theory of automatic control theory, the reality is more difficult to establish in the laboratory model, thus using the SIMULINK simulation experiment, students can deepen our understanding of the course, to mobilize the enthusiasm of our study, while greatly increasing our ability to think deeply and Innovationcapacity.In this paper, the design of automatic control system is still largely dependent on the actual system of repeated experiments, adjustment of the universal phenomenon, with specific design example, introduced the use of more advanced software in the MATLAB SIMULINK simulation tools to achieve the automatic control systemModeling, Analysis and design, simulation methods.It can intuitively and quickly analyze the dynamic performance, and steady-state performance. Keywords:MATLAB; Automatic control; System simulation

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