LL(1)预测分析法实验报告

LL(1)预测分析法实验报告
LL(1)预测分析法实验报告

编译原理实验报告

一、实验目的及要求

1.通过本次实验,加深对LL(1)预测分析法原理的认识和理解。

2.构造LR(1)分析程序,利用它进行语法分析,判断给出的符号

串是否为该文法识别的句子。

3.了解LR(K)分析方法是严格的从左向右扫描,和自底向上的

语法分析方法。

二、运行环境:

硬件:windows xp

软件:visual c++6.0

三、实验内容

1、分析使用LR(1)的优点:

(1)LR分析器能够构造来识别所有能用上下文无关文法写的

程序设计语言的结构。

(2)LR分析方法是已知的最一般的无回溯移进-归约方法,它

能够和其他移进-归约方法一样有效地实现。

(3)LR方法能分析的文法类是预测分析法能分析的文法类的

真超集。

(4)LR分析器能及时察觉语法错误,快到自左向右扫描输入的

最大可能。

为了使一个文法是LR的,只要保证当句柄出现在栈顶时,自左向右扫描的移进-归约分析器能够及时识别它便足够了。当句柄出现在栈顶时,LR分析器必须要扫描整个栈就可以知道这一点,栈顶的状态符号包含了所需要的一切信息。如果仅知道栈内的文法符号就能确定栈顶是什么句柄。LR分析表的转移函数本质上就是这样的有限自动机。不过,这个有限自动机不需要根据每步动作读栈,因为,如果这个识别句柄的有限自动机自底向上读栈中的文法符号的话,它达到的状态正是这时栈顶的状态符号所表示的状态,所以,LR分析器可以从栈顶的状态确定它需要从栈中了解的一切。

2、LR分析器由三个部分组成:

(1)总控程序,也可以称为驱动程序。对所有的LR分析器总控

程序都是相同的。

(2)分析表或分析函数,不同的文法分析表将不同,同一个文

法采用的LR分析器不同时,分析表将不同,分析表又可以分为动作表(ACTION)和状态转换(GOTO)表两个部分,它们都可用二维数组表示。

(3)分析栈,包括文法符号栈和相应的状态栈,它们均是先进

后出栈。

分析器的动作就是由栈顶状态和当前输入符号所决定。

四、程序源代码:

//edge.h

#ifndef HEAD_EDGE

#define HEAD_EDGE

#include

using namespace std;

extern int SUM;

extern string NODE,ENODE;

class edge

{

public:

edge();

string getlf();

string getrg();

string getfirst();

string getfollow();

string getselect();

string getro();

int getrlen();

void newfirst(string w);

void newfollow(string w);

void newselect(string w);

void delfirst();

private:

string left,right,first,follow,select;

int rlen;

};

#endif

///////////////////////////////////////////////////////// ////////////////////

//edge.cpp

#include

#include "edge.h"

using namespace std;

edge::edge()

{

cin>>left>>right;

rlen=right.length();

if(NODE.find(left)>NODE.length()) NODE+=left;

}

string edge::getlf()

{

return left;

}

string edge::getrg()

{

return right;

}

string edge::getfirst()

{

return first;

}

string edge::getfollow()

{

return follow;

}

string edge::getselect()

{

return select;

}

string edge::getro()

{

string str;

str+=right[0];

return str;

}

int edge::getrlen()

{

return right.length();

}

void edge::newfirst(string w)

{

int i;

for(i=0;i

if(first.find(w[i])>first.length())

first+=w[i];

}

void edge::newfollow(string w)

{

int i;

for(i=0;i

if(follow.find(w[i])>follow.length()&&w[i]!='*') follow+=w[i];

}

void edge::newselect(string w)

{

int i;

for(i=0;i

if(select.find(w[i])>select.length()&&w[i]!='*') select+=w[i];

}

void edge::delfirst()

{

int i=first.find('*');

first.erase(i,1);

}

//LL1.cpp

#include

#include

#include "edge.h"

using namespace std;

int SUM;

string NODE,ENODE;

//计算first

void first(edge ni,edge *n,int x)

{

int i,j;

for(j=0;j

{

if(ni.getlf()==n[j].getlf())

{

if(NODE.find(n[j].getro())

{

for(i=0;i

if(n[i].getlf()==n[j].getro())

first(n[i],n,x);

}

else

n[x].newfirst(n[j].getro());

}

}

}

//计算follow

void follow(edge ni,edge *n,int x)

{

int i,j,k,s;

string str;

for(i=0;i

{

s=NODE.find(ni.getrg()[i]);

if(s-1) //是非终结符

if(i

for(j=0;j

if(n[j].getlf().find(ni.getrg()[i])==0)

{

if(NODE.find(ni.getrg()[i+1])

{

for(k=0;k

if(n[k].getlf().find(ni.getrg()[i+1])==0)

{

n[j].newfollow(n[k].getfirst());

if(n[k].getfirst().find("*")

n[j].newfollow(ni.getfollow());

}

}

else

{

str.erase();

str+=ni.getrg()[i+1];

n[j].newfollow(str);

}

}

}

}

//计算select

void select(edge &ni,edge *n)

{

int i,j;

if(ENODE.find(ni.getro())

{

ni.newselect(ni.getro());

if(ni.getro()=="*")

ni.newselect(ni.getfollow());

}

else

for(i=0;i

for(j=0;j

if(ni.getrg()[i]==n[j].getlf()[0])

{

ni.newselect(n[j].getfirst());

if(n[j].getfirst().find('*')>n[j].getfirst().length())

return;

}

}

//输出集合

void out(string p)

{

int i;

if(p.length()==0)

return;

cout<<"{";

for(i=0;i

{

cout<

}

cout<

}

//连续输出符号

void outfu(int a,string c)

{

for(i=0;i

cout<

}

//输出预测分析表

void outgraph(edge *n,string (*yc)[50])

{

int i,j,k;

bool flag;

for(i=0;i

{

if(ENODE[i]!='*')

{

outfu(10," ");

cout<

}

}

outfu(10," ");

cout<<"#"<

int x;

for(i=0;i

{

outfu(4," ");

cout<

outfu(5," ");

for(k=0;k

{

flag=1;

for(j=0;j

{

if(NODE[i]==n[j].getlf()[0])

{

x=n[j].getselect().find(ENODE[k]);

if(x-1)

{

cout<<"->"<

yc[i][k]=n[j].getrg();

outfu(9-n[j].getrlen()," ");

flag=0;

}

x=n[j].getselect().find('#');

if(k==ENODE.length()-1&&x-1)

cout<<"->"<

yc[i][j]=n[j].getrg();

}

}

}

if(flag&&ENODE[k]!='*')

outfu(11," ");

}

cout<

}

}

//分析符号串

int pipei(string &chuan,string &fenxi,string (*yc)[50],int &b) {

char ch,a;

int x,i,j,k;

b++;

cout<

if(b>9)

outfu(8," ");

else

outfu(9," ");

cout<

outfu(26-chuan.length()-fenxi.length()," ");

cout<

outfu(10," ");

a=chuan[0];

ch=fenxi[fenxi.length()-1];

x=ENODE.find(ch);

if(x-1)

{

if(ch==a)

{

fenxi.erase(fenxi.length()-1,1);

chuan.erase(0,1);

cout<<"'"<

if(pipei(chuan,fenxi,yc,b))

return 1;

else

return 0;

}

return 0;

}

else

{

if(ch=='#')

{

if(ch==a)

{

cout<<"分析成功"<

return 1;

}

else

return 0;

}

else

if(ch=='*')

{

fenxi.erase(fenxi.length()-1,1);

if(pipei(chuan,fenxi,yc,b))

return 1;

else

return 0;

}

else

{

i=NODE.find(ch);

if(a=='#')

{

x=ENODE.find('*');

if(x-1)

j=ENODE.length()-1;

else

j=ENODE.length();

}

else

j=ENODE.find(a);

if(yc[i][j].length())

{

cout<"<

fenxi.erase(fenxi.length()-1,1);

for(k=yc[i][j].length()-1;k>-1;k--)

if(yc[i][j][k]!='*')

fenxi+=yc[i][j][k];

if(pipei(chuan,fenxi,yc,b))

return 1;

else

return 0;

}

else

return 0;

}

}

}

void main()

{

edge *n;

string str,(*yc)[50];

int i,j,k;

bool flag=0;

cout<<"请输入上下文无关文法的总规则数:"<

cin>>SUM;

cout<<"请输入具体规则(格式:左部右部,*为空):"<

n=new edge[SUM];

for(i=0;i

for(j=0;j

{

str=n[i].getrg();

if(NODE.find(str[j])>NODE.length()&&ENODE.find(str[j])>ENODE.lengt h())

ENODE+=str[j];

}

//计算first集合

for(i=0;i

{

first(n[i],n,i);

/*

cout<<"First("<

out(n[i].getfirst());

cout<

*/

}

//outfu(10,"~*~");cout<

for(i=0;i

if(n[i].getfirst().find("*")

{

if(NODE.find(n[i].getro())

{

for(k=1;k

{

if(NODE.find(n[i].getrg()[k])

{

for(j=0;j

{

if(n[i].getrg()[k]==n[j].getlf()[0])

{

n[i].newfirst(n[j].getfirst());

break;

}

}

if(n[j].getfirst().find("*")>n[j].getfirst().length())

{

n[i].delfirst();

break;

}

}

}

}

}

/*

for(i=0;i

{

cout<<"First("<

out(n[i].getfirst());

cout<

}

outfu(10,"~*~");cout<

*/

//计算follow集合

for(k=0;k

{

for(i=0;i

{

if(n[i].getlf()==n[0].getlf())

n[i].newfollow("#");

follow(n[i],n,i);

}

for(i=0;i

{

for(j=0;j

if(n[j].getrg().find(n[i].getlf())==n[j].getrlen()-1)

n[i].newfollow(n[j].getfollow());

/*

cout<<"Follow("<

out(n[i].getfollow());

cout<

*/

}

}

//outfu(10,"~*~");cout<

//计算select集合

for(i=0;i

{

select(n[i],n);

/*

cout<<"Select("<"<

out(n[i].getselect());

cout<

*/

}

for(i=0;i

{

str.erase();

for(j=0;j

if(n[j].getlf()[0]==NODE[i])

{

if(!str.length())

str=n[j].getselect();

else

{

for(k=0;k

if(str.find(n[j].getselect()[k])

{

flag=1;

break;

}

}

}

}

/*

for(i=0;i

{

cout<<"Select("<"<

out(n[i].getselect());

cout<

}

*/

//输出

cout<

outfu(SUM," ");

cout<<"First";

outfu(SUM," ");

cout<<"Follow"<

outfu(5+SUM,"-*-");

cout<

for(i=0;i

{

for(j=0;j

if(NODE[i]==n[j].getlf()[0])

{

outfu(3," ");

cout<

outfu(SUM+4," ");

out(n[j].getfirst());

outfu(SUM+4-2*n[j].getfirst().length()," ");

out(n[j].getfollow());

cout<

break;

}

}

outfu(5+SUM,"-*-");

cout<

if(flag)

{

cout<<"该文法不是LL(1)文法!"<

return;

}

else

{

cout<<"该文法是LL(1)文法!"<

}

//输出预测分析表

cout<

yc=new string[NODE.length()][50];

outgraph(n,yc);

/*

for(i=0;i

{

for(j=0;j

if(yc[i][j].length())

cout<

else outfu(10," ");

cout<

}*/

string chuan,fenxi,fchuan;

cout<

cin>>chuan;

fchuan=chuan;

fenxi="#";

fenxi+=NODE[0];

//cout<<"chuan="<

//分析符号串

i=0;

cout<

cout<<"步骤";

outfu(8," ");

cout<<"分析栈";

outfu(10," ");

cout<<"剩余输入串";

outfu(10," ");

cout<<"动作";

if(pipei(chuan,fenxi,yc,i))

cout<

else

cout<

}

五、解析结果:

测试数据一:

S→a︳^︳(T)

T→SF

F→,SF

F→ε

实验截图

输入(a,(a))#后测试结果为

测试数据二:

S →AB

S→bC

A →*

A →b

B →*

B →aD

C →AD

C →b

D →aS

D →c

实验结果截图

六、实验总结分析

通过本次上机实验,我加深了对预测分析LL(1)分析法的理解,同时体验到了编译原理中一些算法的巧妙。由于LL

(1)分析法程序是一个相当复杂的程序,它需要利用到大量

的编译原理,编程技巧和数据结构。由于先前掌握的知识不够

牢固深刻使之在实验过程中出现了大量的问题。由于课前的充

分准备,加上同学和老师的帮助,最后顺利完成了实验。

编译原理的在整个计算机体系课程中有着重要的地位,我现在

才刚刚入门,所以,我会在以后的课程和实验中继续努力,学

好编译原理课程,为以后的学习打下基础。

过程控制系统实验报告材料(最新版)

实验一、单容水箱特性的测试 一、实验目的 1. 掌握单容水箱的阶跃响应的测试方法,并记录相应液位的响应曲线。 2. 根据实验得到的液位阶跃响应曲线,用相关的方法确定被测对象的特征参数T和传递函数。 二、实验设备 1. THJ-2型高级过程控制系统实验装置 2. 计算机及相关软件 3. 万用电表一只 三、实验原理 图2-1单容水箱特性测试结构图由图2-1可知,对象的被控制量为水箱的液位H,控制量(输入量)是流入水箱中的流量Q1,手动阀V1和V2的开度都为定值,Q2为水箱中流出的流量。根据物料平衡关系,在平衡状态时 Q1-Q2=0 (1)

动态时,则有 Q1-Q2=dv/dt (2) 式中 V 为水箱的贮水容积,dV/dt为水贮存量的变化率,它与 H 的关系为 dV=Adh ,即dV/dt=Adh/dt (3) A 为水箱的底面积。把式(3)代入式(2)得 Q1-Q2=Adh/dt (4) 基于Q2=h/RS,RS为阀V2的液阻,则上式可改写为 Q1-h/RS=Adh/dt 即 ARsdh/dt+h=KQ1 或写作 H(s)K/Q1(s)=K/(TS+1) (5) 式中T=ARs,它与水箱的底积A和V2的Rs有关:K=Rs。 式(5)就是单容水箱的传递函数。 对上式取拉氏反变换得 (6) 当t—>∞时,h(∞)=KR0 ,因而有K=h(∞)/R0=输出稳态值/阶跃输入当 t=T 时,则有 h(T)=KR0(1-e-1)=0.632KR0=0.632h(∞)

式(6)表示一阶惯性环节的响应曲线是一单调上升的指数函数,如图 2-2 所示。当由实验求得图2-2所示的阶跃响应曲线后,该曲线上升到稳态值的63%所对应的时间,就是水箱的时间常数T。该时间常数 T也可以通过坐标原点对响应曲线作切线,切线与稳态值交点所对应的时间就是时间常数T,由响应曲线求得K和T后,就能求得单容水箱的传递函数。如果对象的阶跃响应曲线为图2-3,则在此曲线的拐点D处作一切线,它与时间轴交于B点,与响应稳态值的渐近线交于A点。图中OB即为对象的滞后时间τ,BC为对象的时间常数T,所得 的传递函数为: 四、实验内容与步骤 1.按图2-1接好实验线路,并把阀V1和V2开至某一开度,且使V1的开度大于V2的开度。 2.接通总电源和相关的仪表电源,并启动磁力驱动泵。

实验1《软件项目的需求分析》实验报告

软件工程 实验报告 实验1:软件项目的需求分析 学号: 班号: 姓名: 课程主讲教师:张建国 实验指导教师:张建国

提交日期: 2011年11月11日

软件需求规格说明书 1引言 编写目的 编写本文档的目的是根据系统分析工程师和客户沟通的结果,对用户需求进行了全面细致的分析,深入描述《图书管理系统》软件的功能和性能与界面,确定该软件设计的限制和定义软件的其他有效性需求。 该需求规格说明书的读者对象是图书管理系统软件小组的研发工程师、测试工程师、销售工程师,版权归上述所有者所有,严禁外传。背景 随着社会信息量的与日俱增,作为信息存储的主要媒体之一图书,数量、规模比以往任何时候都大的多,不论个人还是图书管理部门都需要使用方便而有效的方式来管理自己的书籍。在计算机日益普及的今天,对个人而言若采用一套行之有效的图书管理系统来管理自己的书籍,会方便许多。对图书管理部门而言,以前单一的手工检索已不能满足人们的要求,为了便于图书资料的管理需要有效的图书管理软件。 图书管理系统软件LMS 是一套功能比较完善的数据管理软件,具有数据操作方便高效迅速等优点。该软件采用功能强大的数据库软件开发工具进行开发,具有很好的可移植性,可在应用范围较广的DOS、WINDOWS

系列等操作系统上使用。除此以外,LMS 可通过访问权限控制以及数据备份功能,确保数据的安全性。 定义 文档中采用的专门术语的定义及缩略词简要如下: LMS:Library Management System,图书管理系统。 1.4参考资料 [1]王慧亮关于图书管理系统的批文 [2]郑人杰,殷人昆,陶永雷。《实用软件工程》(第二版)。北京:清华大学出版社,1997。 [3]王立福,麻志毅。《软件工程》(第二版)。北京:北京大学出版社,2001。 [4]唐学忠,王文。《Visual Basic程序设计教程》北京:中国电力 出版社,2002。 2任务概述 目标 《图书管理系统》针对的用户是单个中小型图书室或者个人,藏书

市场供给与需求分析报告

第一章 肥城市基本情况及总体社会经济发展概况 一、肥城市概况 肥城市隶属于泰安市,泰安市下辖两市(肥城市、新泰市)、两县(东平县、宁阳县)、两区(泰山区、岱岳区)。肥城市是一个经济发展较快、实力较强的县级市,它位于泰安市的西部,济宁市的北部。北邻济南长清区,西邻平阴县,南靠东平县与宁阳县。距省会济南约65公里,距泰安市中心约45公里。 在肥城市区西南边界约45公里处有105国道南北穿过,向东约45公里处(泰安市中区西边界)有104国道南北走过,此处还有京福高速公路南北经过,经过市区的省道南北有济微路,东西有泰平路,铁路仅有泰肥铁路用于运输货物,无客运列车。 目前市区占地面积13.49平方公里,人口13万人左右。从2001年3月开始至2001年11月底,新城开发新增面积4平方公里,修4.6公里的道路。2002年计划城市向东向西发展,新增7平方公里用地,修建城市道路17公里。至2004年城市总用地达25万平方公里,人口达25万。 按照肥城市发展规划,2010年城市占地127.7平方公里,人口达96.02万,形成一城两镇(新城、王瓜店镇、老城镇)格局。 肥城市作为一个新兴城市,现状规划建设较好。市区内道路平整宽阔、环境整洁,龙山坐落城中形成一处天然公园,龙山河东南、西北贯穿而过。 二、肥城市社会及经济发展的历史成就 自80年新城区搬迁以来,城市开发拉出了框架,基础设施建设实现了新的突破。国民经济呈现加速发展态势,综合实力进一步增强。

(一)、国民经济持续发展 肥城市部分年份主要经济指标 (二)、经济结构不断优化升级

肥城市在保持经济总量快速增长的同时,也在大力推进经济增长方式的根本转变和经济结构的优化升级,努力把肥城市建成一个以工、农业为主导,集科技、金融、旅游等为一体的现代化城市。1999年至2001年,肥城市三年间累计完成固定资产投资共44.58亿元(其中1999年10.5亿元,2000年13.88亿元,2001年20.20亿元)。同时培植了一大批新的经济增长点,与住肥企业共建区域经济共同体的思想全面展开,创造了地企联手融合发展的新格局。旅游资源开发进一步加快。 (三)、对外开放水平不断提高,城市规划建设日益优化 在肥城市市委、市政府的正确领导及决策下,招商引资工作取得显著成果。并坚定不移的把招商引资摆在各项工作之首,形成了大开放、大发展的良好氛围和崭新局面。仅2001年引到位的市外资金就达到10.98亿元,其中利用外资908.6万美元,自营出口创汇4560万美元,比上年增长15%。 坚持把城镇开发和以道路为主的基础设施建设作为一大重点和具体项目运做实施,实现历史性跨越。运用经营城市的理念“以地生财”迈出大步子。完成了西扩4平方公里的开发框架工程,东区优化完善全面展开,泰西大街路面改造,“一线两翼”的开发建设格局,正在向纵深推进。 (四)、肥城市2000年国民经济预期目标及城市建设任务目标。 肥城市实施一系列扩大内需、刺激消费、优化产业结构等促进经济发展的政策措施,同时注重用市场化推进城市化,靠经营城市发展城市,尽快建立起适应城市经济发展要求的运营体制,实现城乡建设的健康快速发展,为促进全市扩大开放,招商引资,实现跨越发展,营造良好的环境。 根据《肥城市政府2002年2月1日政府工作报告》提出的2002年政府工作的目标任务中可以看到国民经济预期目标为:国内生产总值增长14%,即

控制理论实验报告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];

数据分析实验报告

数据分析实验报告 文稿归稿存档编号:[KKUY-KKIO69-OTM243-OLUI129-G00I-FDQS58-

第一次试验报告 习题1.3 1建立数据集,定义变量并输入数据并保存。 2数据的描述,包括求均值、方差、中位数等统计量。 分析—描述统计—频率,选择如下: 输出: 统计量 全国居民 农村居民 城镇居民 N 有效 22 22 22 缺失 均值 1116.82 747.86 2336.41 中值 727.50 530.50 1499.50 方差 1031026.918 399673.838 4536136.444 百分位数 25 304.25 239.75 596.25 50 727.50 530.50 1499.50 75 1893.50 1197.00 4136.75 3画直方图,茎叶图,QQ 图。(全国居民) 分析—描述统计—探索,选择如下: 输出: 全国居民 Stem-and-Leaf Plot Frequency Stem & Leaf 5.00 0 . 56788 数据分析实验报告 【最新资料,WORD 文档,可编辑修改】

2.00 1 . 03 1.00 1 . 7 1.00 2 . 3 3.00 2 . 689 1.00 3 . 1 Stem width: 1000 Each leaf: 1 case(s) 分析—描述统计—QQ图,选择如下: 输出: 习题1.1 4数据正态性的检验:K—S检验,W检验数据: 取显着性水平为0.05 分析—描述统计—探索,选择如下:(1)K—S检验

结果:p=0.735 大于0.05 接受原假设,即数据来自正太总体。 (2 )W 检验 结果:在Shapiro-Wilk 检验结果972.00 w ,p=0.174大于0.05 接受原假设,即数据来自正太总体。 习题1.5 5 多维正态数据的统计量 数据:

过程控制实验报告

过程控制实验 实验报告 班级:自动化1202 姓名:杨益伟 学号:120900321 2015年10月 信息科学与技术学院 实验一过程控制系统建模 作业题目一: 常见得工业过程动态特性得类型有哪几种?通常得模型都有哪些?在Simulink中建立相应模型,并求单位阶跃响应曲线、 答:常见得工业过程动态特性得类型有:无自平衡能力得单容对象特性、有自平衡能力得单容对象特性、有相互影响得多容对象得动态特性、无相互影响得多容对象得动态特性等。通常得模型有一阶惯性模型,二阶模型等、 单容过程模型 1、无自衡单容过程得阶跃响应实例 已知两个无自衡单容过程得模型分别为与,试在Simulink中建立模型,并求单位阶跃响应曲线。 Simulink中建立模型如图所示: 得到得单位阶跃响应曲线如图所示:

2、自衡单容过程得阶跃响应实例 已知两个自衡单容过程得模型分别为与,试在Simulink中建立模型,并求单位阶跃响应曲线。 Simulink中建立模型如图所示: 得到得单位阶跃响应曲线如图所示:

多容过程模型 3、有相互影响得多容过程得阶跃响应实例 已知有相互影响得多容过程得模型为,当参数, 时,试在Simulink中建立模型,并求单位阶跃响应曲线在Simulink中建立模型如图所示:得到得单位阶跃响应曲线如图所示:

4、无相互影响得多容过程得阶跃响应实例 已知两个无相互影响得多容过程得模型为(多容有自衡能力得对象)与(多容无自衡能力得对象),试在Simulink中建立模型,并求单位阶跃响应曲线。 在Simulink中建立模型如图所示: 得到得单位阶跃响应曲线如图所示:

需求分析实验报告

软件工程实践报告 计科12—1班 杨光敏 08123234 (一)软件需求分析 1.实验目的 学习图形工具软件VISIO,掌握结构化需求分析方法,熟练绘制数据流图;学习快速原型工具的使用。 2.基本要求 (1)针对银行ATM系统进行需求分析工作,了解银行ATM系统的功能、流程; (2)安装VISIO2003以上版本软件,熟练应用Visio绘制DFD图,绘制银行ATM系统数据流图,完成系统的软件逻辑模型; (3)安装Axure RP Pro 或者Balsamiq Mockups快速原型软件,学习绘制软件原型,完成银行ATM系统的软件原型。 3.系统概述 (1)ATM系统为银行提供一套高效稳定可靠的终端服务平台,为储户登录,存款,取款,查询,打印凭条,转账,修改密码等操作提供便利。

图1 ATM工作流程 (2).用户特点 本软件的用户主要是银行的广大持卡人,大多都具有使用ATM经验。另外,我们的系统要实现的一个重要目标就是当储户取钱出现故障时能在下笔业务进行之前自动恢复。以此来方便用户和保障用户的利益。本系统还为用户提供了足够的界面友好性和易操作性。即使是一个对ATM系统完全陌生的客户,也可以在交易界面的提示下顺利完成交易。 另外一部分的用户是银行工作人员,本系统不予考虑。 4需求说明

(1) 基本描述 ATM终端可以接受一张可识别的银行储蓄卡,通过储户身份验证后,同储户进行各种交互,例如:查询、存款、取款、打印凭条等;处理储户相应的要求,执行对应操作,为储户服务。该系统要求须保持一定时间内的交易记录,系统应每天自动汇总各种交易数据与服务器进行对账。同时,在通讯失败或其他交易结果不确定的情况下,ATM要自动发起冲正交易,以保证账务的完整性。 本系统的实现需要记录一些相关信息,其中包括的信息有:用户信息和交易信息。 (2)交易信息 卡信息:卡号,账号,密码,卡类型,卡金额 ATM信息:ATM编号,ATM余额, 交易流水信息:交易类型,交易代码,账号,交易时间 (3)用例需求分析 根据需求,做如下用例设计,在给出ATM系统需求用例图之后,我们将对各个用例逐一进行介绍。 登 存 取 转 查 改 印 返 退 图2 ATM系统需求用例图

市场需求分析报告模板_V1.0

市场需求分析报告MKT_CD_T_0005 V1.0 深圳市xx电子股份有限公司

修订记录

目录 市场需求分析报告 (1) 1前言 (4) 2客户期望分析 (5) 2.1 客户的Wants&Needs (5) 2.2 客户需求分析和总结 (5) 3细分市场特征需求分析 (5) 3.1 ××细分市场1 (5) 3.1.1 ××细分市场宏观层面需求分析 (5) 3.1.2 ××细分市场细节层面需求分析 (5) 3.1.3 网络位置和网络结构..................................................... 错误!未定义书签。 3.1.4 对接设备及接口 (6) 3.1.5 产品主要需求总结 (6) 3.2 ××细分市场2 (6) 3.2.1 ××细分市场宏观层面需求分析 (6) 3.2.2 ××细分市场细节层面需求分析 (6) 3.2.3 网络位置和网络结构..................................................... 错误!未定义书签。 3.2.4 对接设备及接口 (6) 3.2.5 产品主要需求总结 (6) 4目标市场准入需求分析 (7) 4.1.1 准入要求 (7) 4.1.2 测试标准 (7) 4.1.3 准入需求描述 (7) 5解决方案配套需求分析 (7) 5.1 解决方案配套描述 (7) 5.2 配套要求总结 (7) 6E2E交付需求分析 (8) 7商业模式需求分析 (8) 8价格需求分析 (8) 9现有产品组合需求满足度评估分析 (8) 9.1 我司市场需求满足度评估 (8) 9.2 竞争对手市场需求满足度评估 (9) 9.3 竞争力需求分析 (9) 10需求汇总和策略分析 (9) 11文档评审Checklist (9) XXX 产品市场需求分析报告

现代控制理论实验报告

现代控制理论实验报告

实验一系统能控性与能观性分析 一、实验目的 1.理解系统的能控和可观性。 二、实验设备 1.THBCC-1型信号与系统·控制理论及计算机控制技术实验平台; 三、实验内容 二阶系统能控性和能观性的分析 四、实验原理 系统的能控性是指输入信号u对各状态变量x的控制能力,如果对于系统任意的初始状态,可以找到一个容许的输入量,在有限的时间内把系统所有的状态引向状态空间的坐标原点,则称系统是能控的。 对于图21-1所示的电路系统,设iL和uc分别为系统的两个状态变量,如果电桥中 则输入电压ur能控制iL和uc状态变量的变化,此时,状态是能控的。反之,当 时,电桥中的A点和B点的电位始终相等,因而uc不受输入ur的控制,ur只能改变iL的大小,故系统不能控。 系统的能观性是指由系统的输出量确定所有初始状态的能力,如果在有限的时间内根据系统的输出能唯一地确定系统的初始状态,则称系统能观。为了说明图21-1所示电路的能观性,分别列出电桥不平衡和平衡时的状态空间表达式: 平衡时:

由式(2)可知,状态变量iL和uc没有耦合关系,外施信号u只能控制iL的变化,不会改变uc的大小,所以uc不能控。基于输出是uc,而uc与iL无关连,即输出uc中不含有iL的信息,因此对uc的检测不能确定iL。反之式(1)中iL与uc有耦合关系,即ur的改变将同时控制iL和uc的大小。由于iL与uc的耦合关系,因而输出uc的检测,能得到iL的信息,即根据uc的观测能确定iL(ω) 五、实验步骤 1.用2号导线将该单元中的一端接到阶跃信号发生器中输出2上,另一端接到地上。将阶跃信号发生器选择负输出。 2.将短路帽接到2K处,调节RP2,将Uab和Ucd的数据填在下面的表格中。然后将阶跃信号发生器选择正输出使调节RP1,记录Uab和Ucd。此时为非能控系统,Uab和Ucd没有关系(Ucd始终为0)。 3.将短路帽分别接到1K、3K处,重复上面的实验。 六、实验结果 表20-1Uab与Ucd的关系

计算机过程控制实验报告

计算机过程控制实验报告

实验1 单容水箱液位数学模型的测定实验 1、试验方案: 水流入量Qi 由调节阀u 控制,流出量Qo 则由用户通过负载阀R 来改变。被调量为水位H 。分析水位在调节阀开度扰动下的动态特性。 直接在调节阀上加定值电流,从而使得调节阀具有固定的开度。(可以通过智能调节仪手动给定,或者AO 模块直接输出电流。) 调整水箱出口到一定的开度。 突然加大调节阀上所加的定值电流观察液位随时间的变化,从而可以获得液位数学模型。 通过物料平衡推导出的公式: μμk Q H k Q i O ==, 那么 )(1 H k k F dt dH -=μμ, 其中,F 是水槽横截面积。在一定液位下,考虑稳态起算点,公式可以转换成 μμR k H dt dH RC =+。 公式等价于一个RC 电路的响应函数,C=F 就是水容,k H R 0 2= 就是水阻。 如果通过对纯延迟惯性系统进行分析,则单容水箱液位数学模型可以使用以下S 函数表示: ) 1()(0 += TS S KR S G 。 相关理论计算可以参考清华大学出版社1993年出版的《过程控制》,金以慧编著。 2、实验步骤: 1) 在现场系统A3000-FS 上,将手动调节阀JV201、JV206完全打开,使下水箱闸板具有 一定开度,其余阀门关闭。 2) 在控制系统A3000-CS 上,将下水箱液位(LT103)连到内给定调节仪输入端,调节仪 输出端连到电动调节阀(FV101)控制信号端。 3) 打开A3000-CS 电源,调节阀通电。打开A3000-FS 电源。 4) 在A3000-FS 上,启动右边水泵(即P102),给下水箱(V104)注水。 给定值 图1 单容水箱液位数学模型的测定实验

市场需求分析报告

市场分析报告 一、当前大学生就业形势与策略 自从金融危机风靡全球后,各国不同程度的受到影响, 因此,就业问题已经成为各国面临和关注的焦点。大学生就业也出现困难的现象,就这一困难本文分析引起大学生就业困难的原因,提出了相应的对策与措施,使大学生能够树立正确的就业观和价值观以及创业观。人才交流市场人头攒动,2010年公务员考试报名人数一再创造新纪录,报考公务员的超过百万的数字,北大学子卖猪肉。这些现象与数字互相阐释,共同指向一个话题——大学生就业是越来越难了。这几年来人们普遍感到找工作的难度越来越大,大学生到处都有,即使是研究生毕业或者海外留学归来,找一份称心如意的工作也并非易事。究其原因,主要是以下几点: (一)、我国城镇新增劳动力就业、下岗失业人员再就业和村富余劳动力转移“三碰头”,使本来就存在的就业困难更加突出。 (二)、企业改制减少用工、采用高新技术等原因,对劳动力的需求呈下降趋势。随着改革的深化,农民进城的门槛不断降低,进城农民工日益增多,从而给城镇就业进一步增加了压力。 (三)、由于美国的经济危机使全球经济发展也面临严峻挑战,我国经济不可避免地受到冲击。 (四)、全国高校大规模扩招太急促,教学质量下降,人才培养

没有与社会发展需求很好的结合,大学生的专业知识与社会脱轨,一定程度上造成高校毕业生的就业困境.为了更好的化解当前就业难的形式,提出以下的方针: 1、要转变社会观念现在中国关心的大学生就业难也是全球性问题。对解决这一问题的策略不是减少教育而是需要国家给大学生增加就业机会。同时,国家不能因为我们大学生一时的就业难,就忘记考虑实际的能力,读书越多不一定代表能力越高,但就业机会至少给了我们大学生提高能力的必要基础。培根说过:“知识就是力量。”在知识经济时代,加强学习掌握技能才是硬道理。社会要真正形成尊重知识、尊重人才的良好的风气。所以政府应该从根本上解决问题而不能以为就业难就减少对人才的培养,只有培养有知识的人才,才能够更快的改变现状,较快经济发张,促进企业发展,提高国力。 2、个人要调整好心态。由于“精英情结”的淡化速度没有赶上高等教育大众化的普及速度,使人们的就业方向变得狭隘,而择业的自主性和多样化也就会大受限制。故我们应该正确的认识自己,理性的选择就业。转变自己的一些观念: (1). 大学生普遍薪资期望过高,使的一些企业和单位不敢大规模的招人,而且培育新人也将会浪费不少资源,从而抑制了企业对大学生等劳动力的需求,因此我们大学生的薪资期望不能过高,毕竟大学生没有实践经验,应当从基层做起,积累经验。再慢慢发展,提高自己的薪资值。 (2). 局部行业和局部地区人才过剩,从行业来看,大家都希

现代控制理论实验报告

现代控制理论 实 验 报 告 学院:机电学院 学号:XXXXX 姓名:XXXXX 班级:XXXX

实验一系统的传递函数阵和状态空间表达式的转换 一、实验目的 1.熟悉线性系统的数学模型、模型转换。 2.了解MATLAB 中相应的函数 二、实验内容及步骤 1.给定系统的传递函数为 150 3913.4036 18)(23++++= s s s s s G 要求(1)将其用Matlab 表达;(2)生成状态空间模型。 2.在Matlab 中建立如下离散系统的传递函数模型 y (k + 2) +5y (k +1) +6y (k ) = u (k + 2) + 2u (k +1) +u (k ) 3.在Matlab 中建立如下传递函数阵的Matlab 模型 ?????? ??????+++++++++++=7266 11632256 51 2)(2 32 2s s s s s s s s s s s s G 4.给定系统的模型为 ) 4.0)(25)(15() 2(18)(++++= s s s s s G 求(1)将其用Matlab 表达;(2)生成状态空间模型。 5.给定系统的状态方程系数矩阵如下: []0 , 360180,001,010001 1601384.40==???? ? ?????=????? ?????---=D C B A 用Matlab 将其以状态空间模型表示出来。 6.输入零极点函数模型,零点z=1,-2;极点p=-1,2,-3 增益k=1;求相应的传递函数模型、状态空间模型。 三、实验结果及分析 1.程序代码如下: num = [18 36]; den = [1 40.3 391 150]; tf(num,den) ss(tf(num,den))

过程控制实验报告

东南大学自动化学院 实验报告 课程名称:过程控制实验 实验名称:水箱液位控制系统 院(系):自动化专业:自动化姓名:学号: 实验室:实验组别: 同组人员: 实验时间: 评定成绩:审阅教师:

目录 一、系统概论 (3) 二、对象的认识 (4) 三、执行机构 (14) 四、单回路调节系统 (15) 五、串级调节系统Ⅰ (18) 六、串级调节系统Ⅱ (19) 七、前馈控制 (21) 八、软件平台的开发 (21)

一、系统概论 1.1实验设备 图1.1 实验设备正面图图1.2 实验设备背面图 本实验设备包含水箱、加热器、变频器、泵、电动阀、电磁阀、进水阀、出水阀、增压器、流量计、压力传感器、温度传感器、操作面板等。 1.1.2 铭牌 ·加热控制器: 功率1500w,电源220V(单相输入) ·泵: Q40-150L/min,H2.5-7m,Hmax2.5m,380V,VL450V, IP44,50Hz,2550rpm,1.1kw,HP1.5,In2.8A,ICL B ·全自动微型家用增压器: 型号15WZ-10,单相电容运转马达 最高扬程10m,最大流量20L/min,级数2,转速2800rmp,电压220V, 电流0.36A,频率50Hz,电容3.5μF,功率80w,绝缘等级 E ·LWY-C型涡轮流量计: 口径4-200mm,介质温度-20—+100℃,环境温度-20—+45℃,供电电源+24V, 标准信号输出4-20mA,负载0-750Ω,精确度±0.5%Fs ±1.0%Fs,外壳防护等级 IP65 ·压力传感器 YMC303P-1-A-3 RANGE 0-6kPa,OUT 4-20mADC,SUPPLY 24VDC,IP67,RED SUP+,BLUE OUT+/V- ·SBWZ温度传感器 PT100 量程0-100℃,精度0.5%Fs,输出4-20mADC,电源24VDC

实验报告一(需求分析) 教材订购

实验序号及实验名称实验一软件项目的需求分析 一、实验题目及要求 1.1题目: 学校教材订购系统 本系统可细化为两个子系统:教材采购系统和教材销售系统。 (1)教材采购系统的主要工作过程为:定期按照教学用书要求查询教材的库存情况、统计出需要订购的教材信息。对于需要订购的教材,发购书单给采购人员。对新购入教材进行入库处理后,即发出教材库存清单给教材发行人员。 (2)教材销售系统的工作过程为:首先由教师或学生提交购书单,经教材发行人员审核后,登记并返给教师或学生领书单。教师或学生凭领书单去书库领书。 1.2要求: (1)掌握采用软件工程方法开发软件系统的过程,即经历软件开发的各阶段——软件的定义、分析、设计、编码、测试、软件调试与过程管理,将软件工程的原理、方法与技术应用于实际的软件问题。 (2)加深对软件开发过程中所涉及的各种建模工具的认识和理解,学会利用现有的计算机辅助工具独立完成软件系统的开发工作。 (3)能够编写符合规范的软件开发过程中产生的各类技术文档。 二、项目概述 2.1系统的功能: (1)教材采购系统:定期按照教学用书要求查询教材的库存情况、统计出需要订购的教材信息。对于需要订购的教材,发购书单给采购人员。对新购入教材进行入库处理后,即发出教材库存清单给教材发行人员。 (2)教材销售系统:首先由教师或学生提交购书单,经教材发行人员审核后,登记并返给教师或学生领书单。教师或学生凭领书单去书库领书。 2.2用户特点: 本系统的用户主要类型是学生、教师和管理人员,这种用户具有一定的计算机操作基础和基本常识,比较容易上手系统的基本操作,适应图形化界面的使用,但也有可能进行误操作。 2.3运行环境要求: 操作系统:Windows 8.1 中文版 数据库:SQL server 绘图工具:Microsoft Office Visio 2007 2.4必要的约束条件与限制: 经费的限制:本系统为学校或社会考生开发小组实践性开发项目,没有投资方和开发经费支持。 开发技术受学生所掌握知识和开发经验所限制,有许多疏漏和不足之处。

现代控制理论实验报告河南工业大学

河南工业大学 现代控制理论实验报告姓名:朱建勇 班级:自动1306 学号:201323020601

现代控制理论 实验报告 专业: 自动化 班级: 自动1306 姓名: 朱建勇 学号: 201323020601 成绩评定: 一、实验题目: 线性系统状态空间表达式的建立以及线性变换 二、实验目的 1. 掌握线性定常系统的状态空间表达式。学会在MATLAB 中建立状态空间模型的方法。 2. 掌握传递函数与状态空间表达式之间相互转换的方法。学会用MATLAB 实现不同模型之 间的相互转换。 3. 熟悉系统的连接。学会用MATLAB 确定整个系统的状态空间表达式和传递函数。 4. 掌握状态空间表达式的相似变换。掌握将状态空间表达式转换为对角标准型、约当标准 型、能控标准型和能观测标准型的方法。学会用MATLAB 进行线性变换。 三、实验仪器 个人笔记本电脑 Matlab R2014a 软件 四、实验内容 1. 已知系统的传递函数 (a) ) 3()1(4)(2++=s s s s G

(b) 3486)(22++++=s s s s s G

(c) 6 1161)(232+++++=z z z z z z G (1)建立系统的TF 或ZPK 模型。 (2)将给定传递函数用函数ss( )转换为状态空间表达式。再将得到的状态空间表达式用函 数tf( )转换为传递函数,并与原传递函数进行比较。 (3)将给定传递函数用函数jordants( )转换为对角标准型或约当标准型。再将得到的对角 标准型或约当标准型用函数tf( )转换为传递函数,并与原传递函数进行比较。 (4)将给定传递函数用函数ctrlts( )转换为能控标准型和能观测标准型。再将得到的能控标 准型和能观测标准型用函数tf( )转换为传递函数,并与原传递函数进行比较。

过程控制系统实验报告

《过程控制系统实验报告》 院-系: 专业: 年级: 学生姓名: 学号: 指导教师: 2015 年6 月

过程控制系统实验报告 部门:工学院电气工程实验教学中心实验日期:年月日 姓名学号班级成绩 实验名称实验一单容水箱液位定值控制实验学时 课程名称过程控制系统实验及课程设计教材过程控制系统 一、实验仪器与设备 A3000现场系统,任何一个控制系统,万用表 二、实验要求 1、使用比例控制进行单溶液位进行控制,要求能够得到稳定曲线,以及震荡曲线。 2、使用比例积分控制进行流量控制,能够得到稳定曲线。设定不同的积分参数,进行 比较。 3、使用比例积分微分控制进行流量控制,要求能够得到稳定曲线。设定不同的积分参数,进行比较。 三、实验原理 (1)控制系统结构 单容水箱液位定值(随动)控制实验,定性分析P, PI,PD控制器特性。 水流入量Qi由调节阀u控制,流出量Qo则由用户通过负载阀R来改变。被调量为水位H。使用P,PI , PID控制,看控制效果,进行比较。 控制策略使用PI、PD、PID调节。 (2)控制系统接线表 使用ADAM端口测量或控制量测量或控制量标号使用PLC端 口 锅炉液位LT101 AI0 AI0 调节阀FV101 AO0 AO0 四、实验内容与步骤 1、编写控制器算法程序,下装调试;编写测试组态工程,连接控制器,进行联合调试。这些步骤不详细介绍。

2、在现场系统上,打开手阀QV-115、QV-106,电磁阀XV101(直接加24V到DOCOM,GND到XV102控制端),调节QV-116闸板开度(可以稍微大一些),其余阀门关闭。 3、在控制系统上,将液位变送器LT-103输出连接到AI0,AO0输出连到变频器U-101控制端上。 注意:具体哪个通道连接指定的传感器和执行器依赖于控制器编程。对于全连好线的系统,例如DCS,则必须安装已经接线的通道来编程。 4、打开设备电源。包括变频器电源,设置变频器4-20mA的工作模式,变频器直接驱动水泵P101。 5、连接好控制系统和监控计算机之间的通讯电缆,启动控制系统。 6、启动计算机,启动组态软件,进入测试项目界面。启动调节器,设置各项参数,将调节器的手动控制切换到自动控制。 7、设置PID控制器参数,可以使用各种经验法来整定参数。这里不限制使用的方法。 五、实验结果记录及处理 六、实验心得体会: 比例控制特性:能较快克服扰动的影响,使系统稳定下来,但有余差。 比例积分特性:能消除余差,它能适用于控制通道时滞较小、负荷变化不大、被控量不允许由余差的场合。 比例微分特性:对于改善系统的动态性能指标,有显著的效果。

需求分析实验报告

需求分析实验报告 沙漠绿洲书店是福州大学附近最大的民营书店。长期以来,城市沙漠书店为福大学子乃至整个城市读者提供了不少的便利。在2005年,该书店扩大了书店的面积,大大提高了库存量,使得读者可以购买到更多的书籍。但是,原来的图书销售已经渐渐无法适应市场的发展,因为图书销售的顾客群慢慢固定。为了进一步扩大市场,书店决定开发一套新的销售系统,以自动化的方式进行图书的销售以及管理。书店决定开通网上书店,面向全国进行网上售书,进一步扩大消费人群,同时,保留以往的电话售书的方式,为不在该市的消费者提供便利。

在图书管理方面,由于图书的数量年年增长,出现了许多新的消费热点,读者对图书的选择性有了一些变化。原来的系统已经无法体现这些变化,也无法满足企业制定销售战略。 在书店内部,由于面积的扩大,使得原来的导购小姐无法满足书店的需要,同时,书店也有意尝试通过在书店的不同位置放置可供读者自己查询的电脑来满足读者的需要。 在书店的规划方面,原来的系统只能够描述销售及库存的情况,对于整个书店的财务,会计等方面并没有涉及,这对于书店进一步扩大规模是不利的。宁因此,书店决定开发一套新的图书销售系统。 书店的新战略规划:书店的战略规划是要建立更多的客户群以扩大书店的发展规模,进而扩大市场。 一个战略是为外地用户扩大电话定购能力,另一个战略是要通过Internet 增加直接客户市场销路。新系统是一个能为企业的快速增长进行计划并准备加强支持客户交互作用的系统。 战略系统计划项目产生了技术结构计划,应用程序结构计划和实施的时间帧。 1,技术结构计划: 1,把商业应用软件转移到客户-服务器结构来,为数据库和电信功能保留了主机,以允许其容量增加及快速发展。 2,向在Internet 上经营商业转移,首先要有一个Web 站点,然后要有链 接到内部系统和数据库的一些客户和供应商的事务处理支持。 3,预期最后向内联网解决方案发展 2,应用程序结构计划; 1,财务/会计:带客户-服务器的软件包解决方案 2 ,人力资源:一个软件包解决方案,最大限度地使员工访问人力资源表,过程和利益信息。 3,客户支持系统:设计一个订单处理和执行系统,综合三方面的订单 处理需求:通过WEB 邮购,电话定购和直接客户市场销售。 4,库存管理系统:设计一个商品销售和库存系统,可以部分提供给客户以便查询 5,零售店系统:把商店管理系统与库存管理系统集成起来 3,实施应用结构计划的时间帧 1,首先,实施客户支持系统。 2,在客户支持系统启动后立即开始实施库存管理系统。 3,把零售店系统与库存管理系统集成起来 4,更新人力资源系统和财务/会计系统 1,系统分析 根据书店的要求,可以确定系统相关者:

北理工自动控制理论实验报告

本科实验报告 实验名称:控制理论基础(实验)

实验一:控制系统的模型建立 一、实验目的 1.掌握利用MATLAB 建立控制系统模型的方法。 2.掌握系统的各种模型表述及相互之间的转换关系。 3. 学习和掌握系统模型连接的等效变换。 二、实验原理 1、系统模型的 MATLAB描述 系统的模型描述了系统的输入、输出变量以及内部各变量之间的关系,表征一个系统的模型有很多种,如微分方程、传递函数模型、状态空间模型等。这里主要介绍系统传递函数(TF)模型、零极点增益(ZPK)模型和状态空间(SS)模型的MATLAB 描述方法。 1)传递函数(TF)模型 传递函数是描述线性定常系统输入-输出关系的一种最常用的数学模型,其表达式一般为 在MATLAB 中,直接使用分子分母多项式的行向量表示系统,即 num = [bm, bm-1, … b1, b0] den = [an, an-1, … a1, a0] 调用tf 函数可以建立传递函数TF对象模型,调用格式如下: Gtf = tf(num,den) Tfdata 函数可以从TF对象模型中提取分子分母多项式,调用格式如下: [num,den] = tfdata(Gtf) 返回cell 类型的分子分母多项式系数 [num,den] = tfdata(Gtf,'v') 返回向量形式的分子分母多项式系数 2)零极点增益(ZPK)模型 传递函数因式分解后可以写成

式中, z1 , z2 , …,zm 称为传递函数的零点, p1,p2,…,pn称为传递函数的极点,k 为传递系数(系统增益)。 在MATLAB 中,直接用[z,p,k]矢量组表示系统,其中z,p,k 分别表示系统的零极点及其增益,即: z=[z1,z2,…,zm]; p=[p1,p2,…,pn]; k=[k]; 调用zpk 函数可以创建ZPK 对象模型,调用格式如下: Gzpk = zpk(z,p,k) 同样,MATLAB 提供了zpkdata 命令用来提取系统的零极点及其增益,调用格式如下: [z,p,k] = zpkdata(Gzpk) 返回cell 类型的零极点及增益 [z,p,k] = zpkdata (Gzpk,’v’) 返回向量形式的零极点及增益 函数pzmap 可用于求取系统的零极点或绘制系统得零极点图,调用格式如下: pzmap(G) 在复平面内绘出系统模型的零极点图。 [p,z] = pzmap(G) 返回的系统零极点,不作图。 3)状态空间(SS)模型 由状态变量描述的系统模型称为状态空间模型,由状态方程和输出方程组成: 其中:x 为n 维状态向量;u 为r 维输入向量; y 为m 维输出向量; A 为n×n 方阵,称为系统矩阵; B 为n×r 矩阵,称为输入矩阵或控制矩阵;C 为m×n 矩阵,称为输出矩阵; D为m×r 矩阵,称为直接传输矩阵。 在MATLAB 中,直接用矩阵组[A,B,C,D]表示系统,调用ss 函数可以创建ZPK 对象模型,调用格式如下: Gss = ss(A,B,C,D) 同样,MATLAB 提供了ssdata 命令用来提取系统的A、B、C、D 矩阵,调用格式如下: [A,B,C,D] = ssdata (Gss) 返回系统模型的A、B、C、D 矩阵 4)三种模型之间的转换

《过程控制系统》实验报告

《过程控制系统》实验报告 学院:电气学院 专业:自动化 班级:1505 姓名及学号:任杰311508070822 日期:2018.6.3

实验一、单容水箱特性测试 一、 实验目的 1. 掌握单容水箱阶跃响应测试方法,并记录相应液位的响应曲线。 2. 根据实验得到的液位阶跃响应曲线,用相关的方法确定被测对象的特征参数T 和传递函数。 二、 实验设备 1. THJ-FCS 型高级过程控制系统实验装置。 2. 计算机及相关软件。 3. 万用电表一只。 三、 实验原理 图1 单容水箱特性测试结构图 由图 2-1 可知,对象的被控制量为水箱的液位 h ,控制量(输入量)是流入水箱中的流量 Q 1,手动阀 V 1 和 V 2 的开度都为定值,Q 2 为水箱中流出的流量。根据物料平衡关系,在平衡状态时02010=-Q Q (式2-1),动态时,则有dt dV Q Q = -21,(式2-2)式中 V 为水箱的贮水容积,dt dV 为水贮存量的变化率,它与 h 的关

系为Adh dV =,即dt dh A dt dV =(式2-3),A 为水箱的底面积。把式(2-3)代入式(2-2)得dt dh A Q Q =-21(式2-4)基于S R h Q =2,S R 为阀2V 的液阻,(式2-4)可改写为dt dh A R h Q S =-1,1KQ h dt dh AR S =+或()()1s 1+=Ts K s Q H (式2-5)式中s AR T =它与水箱的底面积A 和2V 的S R 有关,(式2-5)为单容水箱的传递函数。若令()S R S Q 01=,常数=0R ,则式2-5可表示为()T S KR S R K S R T S T K S H 11/000+-=?+= 对上式取拉氏反变换得()()T t e KR t h /01--=(式2-6),当∞→t 时()0KR h =∞,因而有()0/R h K ∞==输出稳态值/阶跃输入,当T t =时,()() ()∞==-=-h KR e KR T h 632.0632.01010,式2-6表示一阶惯性响应曲线是一单调上升的指数函数如下图2-2所示 当由实验求得图 2-2 所示的阶跃响应曲线后,该曲线上升到稳态值的 63%所对应的时间,就是水箱的时间常数 T 。该时间常数 T 也可以通过 坐标原点对响应曲线作切线,切线与稳态值交点所对应的时间就是 时间常数 T ,由响应曲线求得 K 和 T 后,就能求得单容水箱的传递函 数如式(2-5)所示。 如果对象的阶跃响应曲线为图 2-3,则在此曲线的拐点 D 处作一切线,它与时间轴交于 B 点,与响应稳态值的渐近线交于 A 点。图中OB 即为对象的滞后时间

相关文档
最新文档