当前位置:文档之家› 控制系统与仿真期末作业电子稿

控制系统与仿真期末作业电子稿

控制系统与仿真期末作业电子稿
控制系统与仿真期末作业电子稿

西南科技大学研究生试题单

年级 2015 专业控制、控工 2015-2016学年第1学期

考试科目控制系统仿真命题人王建伟共1页第1页

2015级研究生选修课《控制系统仿真》考核内容与方式

一、题目(结合自己的研究方向,从下面2题任选一题)

1.结合自己的研究方向,选择一种你认为和仿真课程相关的题目书写一份报告。(70分)

2.采用MATLAB编程工具,选取和研究方向相近的自命题,编写仿真程序,理解掌握程序代码的含义、使用方法及其每个程序段的目的和功能,给出仿真结果。(70分)

二、提交要求

1.提交打印报告及电子稿,附录部分提交程序代码及其曲线图、注明程序功能,理解代码含义。

2.报告提交时间地点:2016年1月12日上午9点,综合楼402。

选题:2.采用MATLAB编程工具,选取和研究方向相近的自命题,编写仿真程序,理解掌握程序代码的含义、使用方法及其每个程序段的目的和功能,给出仿真结果。

自我情况介绍:

姓名:王桂山学号:2015000102 专业:控制科学与工程学院:理学院

TEL:

主要利用理论:复杂网络的社团结构计算和应用

研究方向: 网络在自然界和人类社会中普遍存在,包括自然界中天然存在的星系、食物链网络、神经网络、蛋白质网络;人类社会中存在的社交网络、传染病传播网络、知识传播网络;人类创造的交通网络、通信网络、计算机网络等。

本论文注解着重介绍了复杂系统与网络中的社团网络结构的程序.

自命题: 《复杂网络理论在恐怖分子社团分析中的应用》

利用资源:绵阳市移动数据及相关数据资料(个人数据保密)

本项目从今年十月份开始,陆陆续续开展,中间出了很多的问题,程序修改了很多次,每次任老师叫我过去亲自给我讲解,通过王建伟老师的的课堂,让我更加明确了自己的研究方向,坚定了对科研的追求,然而从零开始的,从基础开始,也是很困难的事情,但是任老师没有放弃我,然后每次又都能从王老师课堂上得到很多的鼓励,使我能够有足够的多的信心去继续下去。非常喜欢王老师的课堂,自由,活跃的课堂气氛,是难得的学习的机会。

导师: 任学藻教授:

导师简历

男,47岁,硕士、教授、硕士生导师

主要从事凝聚态理论和理论物理和复杂网络研究研究

课题负责人:朱俊芳老师(博士)(筹备中)申请项目:自然科学基金

复杂系统与网络在社团中的应用

姓名:王桂山学号:2015000102 班级:2015级理学院

专业:控制科学与工程 Tel: QQ:1215698172

摘要:

网络社团结构的研究是了解网络结构和功能的重要途径之一.本文对复杂网络社团结构问题进行了综述.文章介绍了复杂网络中社团结构的定义、探索社团结构的算法及算法的评价标准和检验网络。重点总结与类比了具有代表性的算法及其在检验网络上得到的结果,并依据这些结果和评价标准对算法进行了评述.之后部分地概括了原有算法在如权无向网络中的推广方法.最后对部分社团结构算法的特点进行了横向的比较,对社团结构与网络功能的研究进行简略介绍,并对社团结构研究的发展做出展望。

关键词:复杂系统与网络;凝聚算法;分裂算法;派系过滤算法;普平均法;

一、前言

意义

复杂网络研究的学者来自社会各个领域,研究复杂网络有着重要科学意义。网络社团结构的研究是了解网络结构和功能的重要途径。实际网络中都存在众多的社团结构。为了寻找大规模复杂网络中的社团结构,人们提出了很多算法。揭示网络中的社团结构,对于了解网络拓扑结构、分析网络特性、理解网络中各个部分的功能、发现网络中隐藏的规律和预测网络的行为都尤为重要,而揭示社团结构的方法就是利用网络中所已知的特性和信息,将看似无规律的网络划分出隐藏在其中的结构。

概念:

复杂网络是复杂系统的表现形式,由于这样的网络其节点数量规模较大,而且节点与节点之间的联系较为复杂,所以这样的网络就被称为“复杂网络”。由于现存的大部分社团发现算法是基于网络的整体进行计算和划分,其缺点为时间复杂度相对较高,并且其针对性也相对较弱。

背景:

20世纪90年代以来,对于复杂系统与网络飞速发展。信息技术的快速发展促进了系统工程和复杂性网络理论的迅猛发展,复杂网络技术便是其中之一,它具备了强大的研究复杂事物角色、关系及其交互作用的能力。它既能直观展现复杂系统各类要素的关联互动,又能够通过计算实现对复杂系统结构特征、规律的深入分析,因此被广泛应用于各种学科和领域。近年来,学界关于复杂网络的研究方兴未艾。近年来,随着对复杂网络特性的分析不断深入,探索网络中的社团结构逐渐成为研究热点。

课题的研究现状

国际上有两项开创性的研究复杂网络的热潮,一是Wats和Strogata[2]提出的小世界模型(WS 模型)。该模型既具有规则网络的高聚类性,又具有类似随机网络的小的平均路径长度。二是Barabás和Albert在Seience上发表文章,提出了无标度网络模型(BA模型)。他们认为现实世界中大多数的复杂系统是动态演化的,是开放自组织的,实际网络中的无标度现象来源于两个重要因素,即增长机制和优先连接机制。

国内外学者复杂网络的研究主要集中在三个方面:大量的真实网络的实证研究,分析真实网络的统计特性;构建符合真实网络统计性质的网络演化模型,研究网络的形成机制和内在机理;研究社会关系复杂网络,对企业网络的生长模型进行分析。

二、正文

对社区网络结构发现领域进行一下的研究,参考了一本不错的书,书是国防工业出版社的孙玺菁教授的论文《复杂网络算法与应用》整理的,主要是对社区发现的一些算法进行简单分析。

一、基于模块度优化的社团发现算法,也就是优化模块度Q值的一部分算法。

Q值是由Newman在2004年的论文"Fast Algorithm for Dectecting Community Structure in Networks"中提出的(也就是FN算法)。

通过优化Q值来提高模块度是这类算法的主要思路,在此基础上,本文又划分了三个类别:

①采用聚合思想,也就是分层聚类中的自底向上的作法。典型算法有Newman快速算

法(FN算法)、CNM算法(Finding Local Community Structure in Networks)和

MSG-MV算法(Multistep Greedy Algorithm Identifies Community Structure in

Real-World and Computer-Generated Networks)等。

②采用分裂思想,也就是分层聚类中自顶向下的方法。代表当然就是Newman的GN算

法,但是GN的复杂度实在是高了些,所以Newman之后提出的一种谱方法(Modularity and Community Structure in Networks),吐槽一句Newman真的是这方面的大牛啊。

再吐槽一句,Newman的本真是好,真是想买,但真是贵。!

②直接寻优法,这类算法的两个代表EO算法(Community Detection in Complex

Networks Using External optimization)和整数规划方法我还都没有看过,但是

一些基于遗传算法和蚁群的智能划分方法也属于此类。但是在2007年的论文

"Resolution Limit in Community"中认为基于Q值的优化方法无法处理粒度小于

一定程度的网络,虽然后续跟进了一些优化的算法,但是此类方法在处理真实网络

时还是很难反映真实的社团结构。

二、基于谱分析的社团发现算法。

这类算法的普遍方法是将节点对应的矩阵特征分量看成空间坐标,将网络节点映射到多维向量空间去,运用传统的聚类算法将它们聚集成社团。这种方法不可避免的要计算矩阵的特征值,开销很大,但是因为能直接使用很多传统的向量聚类的成果,灵活性很高。三、基于信息论的社团发现算法。

Rosvall的两篇论文,"An Information-theoretic Framework for Resolving Community Structure in Complex Networks"和"Maps of Random Walks on Complex Networks Reveal Community Structure"分别运用了模拟退火优化算法和随机游走的有效编码方式。

09年的论文"Community Detection Algorithms:A Comparative Analysis"已经测试表明该方法是目前非重叠社团发现算法中准确度最高的。

四、基于标号传播的社团发现算法。

Raghavan基于网络的边很多时候代表信息的传播这一思想提出的LPA算法(Near Linear Time Algorithmto Detect Community Structures in Large-scale Networks)。

LPA算法首先为每个节点指派唯一标号,在每一步迭代中, 每个节点将自身标号更新为其邻节点出现次数最多的标号,如果存在多个相同的最多标号,则随机选择一个作为更新值,若干次迭代后密集相连的节点会收敛于同一标号,最终,具有相同标号的节点归为一个社团。该算法时间复杂度为O(m),收敛速度非常快。"Towards Rea-l time Community Detection in LargeNetworks"中改进了标号更新规则,进一步降低了计算开销。

对于非重叠社团的划分算法已经相对成熟,但是真实世界的网络和这种理想状态相去甚远,经常有某些节点同时具有多个社区的特性,属于多个社区,在这种状况之下,对于重叠社区的划分明显更有意义更贴近真实世界,也因此成为近年来新的研究热点。相应的,本文将重叠社区划分算法分为以下几类:

一、基于团渗透改进的重叠社区发现算法。

Palla的论文"Uncovering the Overlapping Community Structure of Complex Networks in Nature and Society"中提出的CPM算法是第一个能发现重叠社区的算法,CPM算法就不展开讨论了,如果是研究重叠社区发现算法的话肯定是看过的。值得一提的是Kumpula在前人基础上提出的SCP算法(Sequential Algorithm for Fast Clique Percolation)较大的提升了团渗透算法的速度。该类算法的问题这篇文章虽然也是简单的一说,但是比之前某些人简单的用一个K值不好确定来敷衍了事要来的有意义的多:基于团渗透思想的算法需要以团为基本单元来发现重叠,这对于很多真实网络尤其是稀疏网络而言,限制条件过于严格,只能发现少量的重叠社团(Identification of Functional Modules in a PPI Network By Clique Percolation Clustering)。

(后面还有几个类别,我觉得因为一个算法而划分为一个分类,实在是没有介绍的必要,当然,也部分因为我觉得那几个我实在是理解不能)

二、基于种子扩散思想的重叠社区发现算法。

此类算法的基本思想是以具有某种特征的子网络为种子,通过合并、扩展等操作向邻接节点扩展,直至获得评价函数最大的社团。Lancichinetti 等提出以若干个节点为种子,通过扩展形成对整个网络的覆盖,即LMF算法(Detecting the Overlapping and Hierarchical Community Structure in Complex Networks)。

三、基于混合概率模型的重叠社区发现。

前述的很多算法都是自己给出了社团结构的定义然后相应给出算法,但这样的划分必须对社团先做出符合结构定义的假设。针对此问题,Newman等建立了社团结构的混合概率模型(Mixture Models and Exploratory Analysis in Networks),以概率方法对复杂网络的社团结构进行探索,以求得期望最大的社团结构,从而避开社团定义的问题。通过该算法能够识别重叠社团,并得到隶属程度大小。然而,该方法基于EM算法来估计未知参数,收敛速度较慢,计算复杂度较高, 一定程度上制约了算法的应用规模。

四、基于边聚类的重叠社团发现。

这类方法以边为研究对象,推荐两篇论文:LineGraphs, LinkPartitions, and Overlapping Communities和Link Communities Reveal Multiscale Complexity in Networks.前者通过转换网络,可以用非重叠社区的方法提示网络的重叠社团,后者解决重叠性与层次性冲突,提出了变社团。

遗憾的是,文章没有介绍动态变化的复杂网络,并且现在还不能输出分出来的矩阵等很多的问题。

1、经典newman算法:

clear all

close all

% load preprocess.mat

% E=e;

E=load('Zachary-E.txt');

% E(find(E>0))=1;%建立邻接矩阵

tic;

e=E;

e(e==1)=1/49;

a=sum(e);

n=7;

b=[1:n];

b=num2cell(b);%用来存储社团元素的变量

c={[0,1,1,0,0,0,0;

1,0,1,0,0,0,0;

1,1,0,1,0,0,0;

0,0,1,0,1,0,1;

0,0,0,1,0,1,0;

0,0,0,0,1,0,1;

0,0,0,1,0,1,0;]};

k=1;

while length(e)>1

lg=length(e);

detaQ=-(10^9)*ones(n-k+1);%△Q

for i=1:lg-1

for j=i+1:lg

if e(i,j)~=0

detaQ(i,j)=2*(e(i,j)-a(i)*a(j));%计算△Q

end

end

end

if sum(detaQ+(10^9))==0

break

end

% Q(k)=max(detaQ(:));%寻找△Q的最大值,并把它存储进Q(k)矩阵

%-----------------------------寻找最大△Q对应的两个社团,并将其合并,并改变e矩阵[I,J]=find(detaQ==max(detaQ(:)));

for ii=1:length(I)

e(J(ii),:)=e(I(ii),:)+e(J(ii),:);

e(I(ii),:)=0;

e(:,J(ii))=e(:,I(ii))+e(:,J(ii));

e(:,I(ii))=0;

% e(I,I)=e(I,I)/2;

%—————————记录△Q最大所对应的社团以及各社团中的元素

b{J(ii)}=[b{I(ii)} b{J(ii)}];

b{I(ii)}=0;

end

e(I,:)=[ ];

e(:,I)=[ ];

b(I)= [ ];

c(k,:)=num2cell(zeros(1,n));

c(k,1:length(b))=b;

for kk=1:length(b)

c2=cell2mat(c(k,kk));

c2(c2==0)=[ ];

c{k,kk}=c2;

c2=[];

end

a=sum(e);

k=k+1;

tmp=0;

for jj=1:length(e)

tmp=tmp+(e(jj,jj)-a(jj)*a(jj));

end

Q(k)=tmp;

max_k=find(Q==max(Q(:)));

ll=0;

for i=1:length(c(max_k,:))

if sum(c{max_k,i})~=0

ll=ll+1;

c{max_k,i}=c{max_k,i}(c{max_k,i}~=0);

end

end

c_newman=c(max_k,1:ll)

fprintf('Q=%d',detaQ)

[i,j]=find(detaQ==max_k,1)

为了克服Girvan-Newman算法运行效率的不足, 提出了一个基于modularity极值近似的社团发现算法MEA。该算法采用modularity增量作为社团结构的度量, 使用贪心策略获得最优社团分划的近似解。通过理论分析, 并在实际的数据集上进行实验验证, 结果表明MEA算法是快速、有效的。然而,现在程序存在着对于区分度不大的社团模块度的计算不准确,正在进一步的改进当中。(发现每种算法都有对社团的模块计算的侧重点是不一样的,需要进一步了解,然后找到对于不同的社团类型,最为合适的计算方法。)

1.1、快速newnnaney算法

%clc, clear, n=10; a=zeros(n);

%a(1,[2 3 5:7])=1; a(2,[3 5:7])=1; a(3,[4:6])=1;

%a(4,[5 6])=1; a(5,[6 9 10])=1; a(6,[7:9])=1;

%a(7,[8 9])=1; a(8,9)=1; a(9,10)=1; A0=a+a'; %构造完整邻接矩阵

%a=a'; a=sparse(a); %变成Matlab工具箱需要的数据类型%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

clc,clear

A0=load('E:\朱军芳\数据属性\复杂网络社团划分算法\07第7章\a.txt');

n=length(A0)

a=tril(A0);

a=a';

a=sparse(a); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%name=cellstr(int2str([1:n]')); %构造网络顶点标号字符串的细胞数组

%h=view(biograph(a,name,'ShowArrows','off','ShowWeights','off'))

%h.EdgeType='segmented'; %边的连接为线段

%https://www.doczj.com/doc/e912202749.html,youtType='equilibrium'; %网络布局类型为平衡结构

%set(h.Edges,'LineWidth',1.5);

%set(h.Nodes,'Fontsize',15);

%set(h.Nodes,'shape','circle','Size',[10,15]); %修改顶点形状

%dolayout(h) %刷新图形

for k=1:n

A=k; B=find(A0(k,:)); %找k的邻居节点

while length(B)

A=[A B(1)]; B(1)=[]; ind=[];

for i=1:length(B)

if sum(A0(B(i),A))

ind=[ind,i]; %记录下B中不与A中所有节点相连的节点

end

end

B(ind)=[]; %删除B中不与A中所有节点相连的节点

end

AA{k}=sort(A); %找到从每一个点出发的最大派系

end

celldisp(AA); %显示从每个节点开始的派系

k=1;BB{1}=AA{1}; %下面去掉AA中的重复派系,计算结果放入BB

for i=2:length(AA)

for j=1:length(BB)

if sum(ismember(AA{i},BB{j}))==length(AA{i})

ismember(AA{i},BB{j})

break %如果AA{i}是BB中某个子集,不加入BB

end

if j==length(BB) %AA{i}不是BB中的某个子集

k=k+1; BB{k}=AA{i}; %AA{i}加入BB

end

end

celldisp(BB) %显示没有重复的派系

for i=1:length(BB)

for j=1:length(BB)

c(i,j)=sum(ismember(BB{i},BB{j})); %计算重叠矩阵

end

end

c; %显示重叠矩阵

d=zeros(size(c)); %4派系邻接矩阵初始化

for i=1:size(d,1)

for j=1:size(d,2)

d(i,j)=double((i~=j)&(c(i,j)>=3))+double((i==j)&(c(i,j)>=4));

end

end

d;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%寻找所有的派系社团

length(d)

for k=1:length(d)

CC=BB{k};

n=k;

nn=[1:length(d)];

flag=1;

ind=[];

while flag

flag=0;

for j=1:length(nn)

if sum(d(nn(j),n))~=0&&d(nn(j),nn(j))>0

if j~=k

n=[n,nn(j)];

ind=[ind,j];

CC=union(CC,BB{nn(j)});

flag=1;

end

end

end

nn(ind)=[];

ind=[];

end

nn=[];

dd{k}=CC;

end

celldisp(dd); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%上面是找到了所有的派系社团并放入了dd中%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%去掉重复的派系社团,放入ff 中

k=1;

ff{1}=dd{1};

for i=2:length(dd)

for j=1:length(ff)

if sum(ismember(dd{i},ff{j}))==length(dd{i})

break;

end

if j==length(ff)

k=k+1;

ff{k}=dd{i};

end

end

end

celldisp(ff); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%ff中是没有重复的派系社团的节点标号%---------------------output 4clique community

s=cellfun(@length,ff)

n=(max(s));

nn=find(s>3) %mm=find(s==m) %mm=find(sm-2)

%clique indicator composed of community

ff{nn}

for i=1:length(nn)

A1=a(ff{nn(i)},ff{nn(i)});

y=drawpic(A1,ff{nn(i)});

end

Newman快速算法, 适用于大规模网络的社团结构划分的方法。其思想是自底向上,每次合并使模块度增大最大的节点。是一种贪婪算法

2、

clc, clear

a=zeros(8);

a(1,[2 5 8])=1; a(2,[3 8])=1; a(3,[4 6])=1;

a(4,[5 7])=1; a(5,6)=1; a(6,7)=1; a(7,8)=1;

a=a+a';

b=expm(a); b=diag(b); %计算矩阵指数函数,并提取对角线元素

b=b/sum(b), bar(b) %对相对重要性指标归一化,并画柱状图

如图所示,是八个节点不同的度分布,越大说明越重要。

3、

clc, clear, n=13;

a=zeros(n); a(1,[2 3])=1; a(2,[3 4])=1;

a(3,4)=1; a(4,5)=1; a(5,[6 10])=1;

a(6,[7 8])=1; a(7,[8 9])=1; a(8,9)=1;

a(10,[11 12])=1; a(11,[12 13])=1; a(12,13)=1;

a=a+a'; %构造完整的邻接矩阵

s=zeros(n,1); %迭代上一步的初始值

q=ones(n,1)/n; %迭代的初值

while sum(abs(s-q))>0.0001

s=q; %把当前值保存

q=q+a*q; q=q/sum(q); %继续迭代一步

end

q %显示最终的迭代值

B=diag(sum(a))-a-ones(n); %构造B矩阵

C=inv(B); %计算C矩阵

for i=1:n

for j=1:n

Q(i,j)=1/(C(i,i)+C(j,j)-2*C(i,j)); %计算信息量

end

end

Cv=1./mean(1./Q,2) %计算信息指标

xlswrite('biao7.xls',[q Cv])

[sq,ind1]=sort(q,'descend'); %把指标值从大到小排列

[sCv,ind2]=sort(Cv,'descend');

[ind1 ind2] %比较两种指标值的计算结果

subplot(121), bar(q), subplot(122), bar(Cv)

第二次计算:

输出的结果里面有每次合并一个节点的度的木块增加的量。和已经合并的不同的节点。

3、1

clc, clear, n=9;

a=zeros(n); a(1,[2 3])=1; a(2,3)=1; a(3,[4 6])=1;

a(4,5)=1; a(5,[7 8 9])=1; a(6,7)=1; a(8,9)=1;

A=a+a'; %供下面备用

a=a'; a=sparse(a);

d=graphallshortestpaths(a,'Directed',0); %求最短距离

rhi=(n-1)./sum(sum(d)) %计算初始网络凝聚度

for t=1:n

b=zeros(n); [i,j]=find(a); %求所有边的编号

ind=find(A(t,:)); %找顶点t的邻居节点

for k=1:length(ind)

i(i==ind(k))=t; j(j==ind(k))=t; %把t邻居节点的编号替换为t

end

for k=1:length(i)

b(i(k),j(k))=1; %把与t邻居节点的链接变成与t的链接

end

b(t,t)=0;

b=b+b'; b(:,ind)=[]; b(ind,:)=[]; %把t的邻居节点删除

b=tril(b); b=sparse(b);

dd=graphallshortestpaths(b,'Directed',0);

rh(t)=(length(b)-1)/sum(sum(dd));

end

IMC=1-rhi./rh %求所有顶点的凝聚度

bar(IMC)

4、1

clc, clear, a=zeros(34); %Zachary网络邻接矩阵初始化

a(1,[2:9,11:14,18,20,22,32])=1; %输入邻接矩阵上三角元素

a(2,[3,4,8,14,18,20,22,31])=1;

a(3,[4,8:10,14,28,29,33])=1;

a(4,[8,13,14])=1; a(5,[7,11])=1;

a(6,[7,11,17])=1; a(7,17)=1;

a(9,[31,33,34])=1; a(10,34)=1;

a(14,34)=1; a(15,[33,34])=1;

a(16,[33,34])=1; a(19,[33,34])=1;

a(20,34)=1; a(21,[33,34])=1;

a(23,[33,34])=1; a(24,[26,28,30,33,34])=1;

a(25,[26,28,32])=1; a(26,32)=1;

a(27,[30,34])=1; a(28,34)=1;

a(29,[32,34])=1; a(30,[33,34])=1;

a(31,[33,34])=1; a(32,[33,34])=1;

a(33,34)=1; a=a'; a=sparse(a); %变成Matlab工具箱需要的数据类型

name=cellstr(int2str([1:34]')); %构造网络顶点标号字符串的细胞数组

h=view(biograph(a,name,'ShowArrows','off','ShowWeights','off')) h.EdgeType='segmented'; %边的连接为线段

https://www.doczj.com/doc/e912202749.html,youtType='equilibrium'; %网络布局类型为平衡结构

bh1=[1:8,11:14,17,18,20,22]; bh2=setdiff([1:34],bh1);

set(h.Nodes(bh2),'shape','circle'); %修改顶点形状

set(h.Edges,'LineColor',[0 0 0]); %为了将来打印清楚,边画成黑色

set(h.Edges,'LineWidth',1.5); %线型宽度设置为1.5

dolayout(h) %刷新图形

控制系统数字仿真

现代工程控制理论 实验报告 实验名称:控制系统数字仿真技术 实验时间: 2015/5/3 目录 一、实验目的 (2) 二、实验容 (3)

三、实验原理 (3) 四、实验方案 (6) 1、分别离散法; (6) 2、整体离散法; (7) 3、欧拉法 (9) 4、梯形法 (9) 5、龙格——库塔法 (10) 五、实验结论 (11) 小结: (14) 一、实验目的 1、探究多阶系统状态空间方程的求解; 2、探究多种控制系统数字仿真方法并对之进行精度比较;

二、 实验容 1、 对上面的系统进行仿真,运用分别离散法进行分析; 2、 对上面的系统进行仿真,运用整体离散法进行分析; 3、 对上面的系统进行仿真,运用欧拉法进行分析; 4、 对上面的系统进行仿真,运用梯形法进行分析; 5、 对上面的系统进行仿真,运用龙泽——库塔法进行分 析; 6、 对上面的几种方法进行总计比较,对他们的控制精度分 别进行分析比较; 三、 实验原理 1、 控制系统状态空间方程整体离散法的求解; 控制系统的传递函数一般为 x Ax Bu Y Cx Du ? =+=+ 有两种控制框图简化形式如下: KI 控制器可以用框图表示如下:

惯性环节表示如下: 高阶系统(s)(1)n K G T = +的框图如下 对于上面的框图可以简写传递函数 x Ax Bu Y Cx Du ? =+=+ 根据各环节间的关系可以列写出式子中出现的系数A 、B 、C 和D ,下面进行整体离散法求传递函数的推导

00 ()0 ...*()...()(t)(0)...*(t)(0)(t)(0)()(0)At At At At At t t At t t A AT t AT A At t t At At A At A t x Ax Bu e e x e Ax e Bu d e x dt Bue dt dt e x Bue dt e x x Bue d e x x e e Bue d x x e Bue d t KT x kT x e τ ττ τττττ ? -? -----------=+=+=?=?=+=+?=+==????? ?①①得②③ ③得令()0 (1)(1)[(1)]0 (1)[(1)]0 ...(1)[(1)](0)...*(1)()(1)T (1)()()() ,kT A kT A kT k T A k T A k T AT k T AT A k T kT T T AT At AT At AT Bue d t K T x k T x e Bue d e x k e x k Bue d k t x k e x k e Budt e x k e Bdt u k e ττττττ τ?-+?++-++-+=++=+-+-=+-=+=+=+?Φ=? ? ? ??④ 令⑤ ⑤④得令令0 (1)()(1) T At m m e Bdt x k x k x k Φ=+=Φ?+Φ?+?得 这样,如果知道系数,就可以知道高阶系统的传递函数和状态空间方程。 2、 在控制系统的每一个环节都加一个采样开关,构成分别 离散法求解系统的状态空间方程; 采样开关其实是一个零阶保持器

控制系统数字仿真-上海交通大学

上海市高等教育自学考试 工业自动化专业(独立本科段)(B080603)控制系统数字仿真 (02296) 自学考试大纲 上海交通大学自学考试办公室编上海市高等教育自学考试委员会组编 2013年

I、课程的性质及其设置的目的和要求 (一)本课程的性质与设置的目的 “控制系统数字仿真”是利用数字计算进行各种控制系统分析、设计、研究的有力工具,是控制系统工程技术人员必须掌握的一门技术。 本课程是工业自动化专业的专业课程,也是一门理论和实际紧密结合的课程。 通过本课程的学习,学生能掌握系统仿真的基本概念、基本原理及方法;掌握基本的仿真算法及能用高级编程语言在微机上编程实现,学会使用常用的仿真软件。为学习后继课程、从事工程技术工作、科学研究以及开拓性技术工作打下坚实的基础。 (二)本课程的基本要求 1.要求掌握系统、模型、仿真的基本概念,这是学好仿真这门课程的概念基础。 2.掌握常用的连续系统数学仿真算法及能用某种高级编程语言上机实现。 3.初步掌握利用微机来分析、设计、研究控制系统的方法与仿真技术。 (三)本课程与相关课程的联系 先修课程:自动控制原理、现代控制理论基础、高级编程语言。

II、课程内容与考核目标 第1章概论 (一)学习目的和要求 通过本章学习,了解系统的概念,系统的分类方法及特点,仿真的应用目的。了解模型的基本概念,熟悉模型的分类方法及特点。掌握仿真的基本概念,仿真的分类方法及特点。熟悉仿真的一般步骤,仿真技术的应用,熟悉计算机仿真的三要素及基本活动。 (二)课程内容 第一节系统、模型与仿真 1.系统 2.模型 3.仿真 4.仿真科学与技术的发展沿革 第二节系统仿真的一般知识 1.相似理论 2.基于相似理论的系统仿真 3.系统仿真的类型 4.系统仿真的一般步骤 第三节仿真科学与技术的应用 1.仿真在系统设计中的应用 2.仿真在系统分析中的应用 3.仿真在教育与训练中的应用 4.仿真在产品开发及制造过程中的应用 第四节当前仿真科学与技术研究的热点 1.网络化仿真技术 2.复杂系统/开放复杂巨系统的建模与仿真

过程控制系统仿真实验指导

过程控制系统Matlab/Simulink 仿真实验 实验一 过程控制系统建模 ............................................................................................................. 1 实验二 PID 控制 ............................................................................................................................. 2 实验三 串级控制 ............................................................................................................................. 6 实验四 比值控制 ........................................................................................................................... 13 实验五 解耦控制系统 . (19) 实验一 过程控制系统建模 指导内容:(略) 作业题目一: 常见的工业过程动态特性的类型有哪几种?通常的模型都有哪些?在Simulink 中建立相应模型,并求单位阶跃响应曲线。 作业题目二: 某二阶系统的模型为2 () 22 2n G s s s n n ?ζ??= ++,二阶系统的性能主要取决于ζ,n ?两个参数。试利用Simulink 仿真两个参数的变化对二阶系统输出响应的影响,加深对二阶 系统的理解,分别进行下列仿真: (1)2n ?=不变时,ζ分别为0.1, 0.8, 1.0, 2.0时的单位阶跃响应曲线; (2)0.8ζ=不变时,n ?分别为2, 5, 8, 10时的单位阶跃响应曲线。

控制系统数字仿真题库

控制系统数字仿真题库 填空题 1.定义一个系统时,首先要确定系统的;边界确定了系统的范围,边界以外对系统的作用称为系统的,系统对边界以外环境的作用称为系统的。 1.定义一个系统时,首先要确定系统的边界;边界确定了系统的范围,边界以外对系统的作用称为系统的输入,系统对边界以外环境的作用称为系统的输出。 2.系统的三大要素为:、和。 2.系统的三大要素为:实体、属性和活动。 3.人们描述系统的常见术语为:、、和 3.人们描述系统的常见术语为:实体、属性、事件和活动。 4.人们经常把系统分成四类,分别为:、、和 4.人们经常把系统分成四类,它们分别为:连续系统、离散系统、采样数据系统和离散-连续系统。 5、根据系统的属性可以将系统分成两大类:和。 5、根据系统的属性可以将系统分成两大类:工程系统和非工程系统。 6.根据描述方法不同,离散系统可以分为: 和。 6.根据描述方法不同,离散系统可以分为:离散时间系统和离散事件系统。 7. 系统是指相互联系又相互作用的的有机组合。 7. 系统是指相互联系又相互作用的实体的有机组合。 8.根据模型的表达形式,模型可以分为和数学模型二大类,期中数学模型根据数学表达形式的不同可分为二种,分别为:和。8.根据模型的表达形式,模型可以分为物理模型和数学模型二大类,期中数学模型根据数学表达形式的不同可分为二种,分别为:静态模型和动态模型。 9.连续时间集中参数模型的常见形式为有三种,分别为:、和。 9.连续时间集中参数模型的常见形式为有三种,分别为:微分方程、状态方程和传递函数。 10、采用一定比例按照真实系统的样子制作的模型称为,用数学表达式来描述系 统内在规律的模型称为。 10、采用一定比例按照真实系统的样子制作的模型称为物理模型,用数学表达式来描述系统 内在规律的模型称为数学模型。 11.静态模型的数学表达形式一般是方程和逻辑关系表达式等,而动态模型的数学表达形式一般是方程和方程。 11.静态模型的数学表达形式一般是代数方程和逻辑关系表达式等,而动态模型的数

控制系统数字仿真大作业.

《控制系统数字仿真》课程 大作业 姓名: 学号: 班级: 日期: 同组人员:

目录 一、引言 (2) 二、设计方法 (2) 1、系统数学模型 (2) 2、系统性能指标 (4) 2.1 绘制系统阶跃响应曲线、根轨迹图、频率特性 (4) 2.2 稳定性分析 (6) 2.3 性能指标分析 (6) 3、控制器设计 (6) 三、深入探讨 (9) 1、比例-微分控制器(PD) (9) 2、比例-积分控制(PI) (12) 3、比例-微分-积分控制器(PID) (14) 四、设计总结 (17) 五、心得体会 (18) 六、参考文献 (18)

一、引言 MATLAB语言是当今国际控制界最为流行的控制系统计算机辅助设计语言,它的出现为控制系统的计算机辅助分析和设计带来了全新的手段。其中图形交互式的模型输入计算机仿真环境SIMULINK,为MATLAB应用的进一步推广起到了积极的推动作用。现在,MATLAB语言已经风靡全世界,成为控制系统CAD领域最普及、也是最受欢迎的软件环境。 随着计算机技术的发展和应用,自动控制理论和技术在宇航、机器人控制、导弹制导及核动力等高新技术领域中的应用也愈来愈深入广泛。不仅如此,自动控制技术的应用范围现在已发展到生物、医学、环境、经济管理和其它许多社会领域中,成为现代社会生活中不可或缺的一部分。随着时代进步和人们生活水平的提高,在人类探知未来,认识和改造自然,建设高度文明和发达社会的活动中,控制理论和技术必将进一步发挥更加重要的作用。作为一个自动化专业的学生,了解和掌握自动控制的有关知识是十分必要的。 利用MATLAB软件及其SIMULINK仿真工具来实现对自动控制系统建模、分析与设计、仿真,能够直观、快速地分析系统的动态性能和稳态性能,并且能够灵活的改变系统的结构和参数,通过快速、直观的仿真达到系统的优化设计,以满足特定的设计指标。 二、设计方法 1、系统数学模型 美国卡耐尔基-梅隆大学机器人研究所开发研制了一套用于星际探索的系统,其目标机器人是一个六足步行机器人,如图(a)所示。该机器人单足控制系统结构图如图(b)所示。 要求: (1)建立系统数学模型; (2)绘制系统阶跃响应曲线、根轨迹图、频率特性; (3)分析系统的稳定性,及性能指标; (4)设计控制器Gc(s),使系统指标满足:ts<10s,ess=0,,超调量小于5%。

PID控制系统的Simulink仿真分析

实验报告 课程名称:MATLAB语言与控制系统仿真 实验项目:PID控制系统的Simulink仿真分析专业班级: 学号: 姓名: 指导教师: 日期: 机械工程实验教学中心

注:1、请实验学生及指导教师实验前做实验仪器设备使用登记; 2、请各位学生大致按照以下提纲撰写实验报告,可续页; 3、请指导教师按五分制(优、良、中、及格、不及格)给出报告成绩; 4、课程结束后,请将该实验报告上交机械工程实验教学中心存档。 一、实验目的和任务 1.掌握PID 控制规律及控制器实现。 2.掌握用Simulink 建立PID 控制器及构建系统模型与仿真方法。 二、实验原理和方法 在模拟控制系统中,控制器中最常用的控制规律是PID 控制。PID 控制器是一 种线性控制器,它根据给定值与实际输出值构成控制偏差。PID 控制规律写成传递 函数的形式为 s K s Ki K s T s T K s U s E s G d p d i p ++=++==)1 1()() ()( 式中,P K 为比例系数;i K 为积分系数;d K 为微分系数;i p i K K T =为积分时间常数; p d d K K T =为微分时间常数;简单来说,PID 控制各校正环节的作用如下: (1)比例环节:成比例地反映控制系统的偏差信号,偏差一旦产生,控制器立即产 生控制作用,以减少偏差。 (2)积分环节:主要用于消除静差,提高系统的无差度。积分作用的强弱取决于积 分时间常数i T ,i T 越大,积分作用越弱,反之则越强。 (3)微分环节:反映偏差信号的变化趋势(变化速率),并能在偏差信号变得太大 之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减少调 节时间。 三、实验使用仪器设备(名称、型号、技术参数等) 计算机、MATLAB 软件 四、实验内容(步骤) 1、在MATLAB 命令窗口中输入“simulink ”进入仿真界面。 2、构建PID 控制器:(1)新建Simulink 模型窗口(选择“File/New/Model ”),在 Simulink Library Browser 中将需要的模块拖动到新建的窗口中,根据PID 控制器的 传递函数构建出如下模型:

控制系统数字仿真自考题型举例与解答

控制系统数字仿真 题型举例与总复习 一、填空题 A类基本概念题型 1、系统是指相互联系又相互作用的实体的有机组合。 2、定义一个系统时,首先要确定系统的边界;边界确定了系统的范围,边界以外对系统的作用称为系统的输入,系统对边界以为环境的作用称为系统的输出。 3、系统的三大要素为:实体、属性和活动。 4、根据系统的属性可以将系统分成两大类:工程系统和非工程系统。 5、相似原理用于仿真时,对仿真建模方法的三个基本要求是稳定性、准确性和快速性。 6、根据模型种类不同,系统仿真可分为三种:物理仿真、数字仿真和半实物仿真。 7、按照系统模型特征分类,仿真可分为连续系统仿真及离散事件系统仿真两大类。 8、采用一定比例按照真实系统的样子制作的模型称为物理模型,用数学表达式来描述系统内在规律的模型称为数学模型。 9、计算机仿真是指将模型在计算机上进行试验的过程。 10、系统仿真的三个基本活动是系统建模、仿真建模和仿真试验,计算机仿真的三个要素为:系统、模型与计算机。 11、如果某数值计算方法的计算结果对初值误差和计算误差不敏感,则称该计算方法是稳定的。 12、数值积分法步长的选择应遵循的原则为计算稳定性及计算精度。 13、采样数值积分方法时有两种计算误差,分别为截断误差和舍入误差。 14、三阶隐式啊达姆氏算法的截断误差为O(?4),二阶龙格-库塔法的局部截断误差为O(?3),四阶龙格-库塔法的局部截断误差为O(?5)。 15、在判定数值积分方法的稳定域时,使用的测试方程为y?=μy。 16、龙格-库塔法的基本思想是用几个点上函数值的线性组合来避免计算函数的高阶导数,提高数值计算的精度。 17、连续系统仿真中常见的一对矛盾为计算速度和计算精度。 18、离散相似法在采样周期的选择上应当满足采样定理。 19、保持器是一种将离散时间信号恢复成连续信号的装置,零阶保持器能较好地再现阶跃信号,一阶保持器能较好地再现斜坡信号。 20、实际信号重构器不可能无失真地重构信号,具体表现为信号重构器会对被重构的信号产生相位的滞后和幅度的衰减。 21、一般将采样控制系统的仿真归类为连续系统仿真。 22、在控制理论中,由系统传递函数来建立系统状态方程的问题被称为“实现问题”。 23、常用的非线性环节包括:饱和非线性、失灵非线性、迟滞回环非线性。

控制系统仿真实验报告

哈尔滨理工大学实验报告 控制系统仿真 专业:自动化12-1 学号:1230130101 姓名:

一.分析系统性能 课程名称控制系统仿真实验名称分析系统性能时间8.29 地点3# 姓名蔡庆刚学号1230130101 班级自动化12-1 一.实验目的及内容: 1. 熟悉MATLAB软件的操作过程; 2. 熟悉闭环系统稳定性的判断方法; 3. 熟悉闭环系统阶跃响应性能指标的求取。 二.实验用设备仪器及材料: PC, Matlab 软件平台 三、实验步骤 1. 编写MATLAB程序代码; 2. 在MATLAT中输入程序代码,运行程序; 3.分析结果。 四.实验结果分析: 1.程序截图

得到阶跃响应曲线 得到响应指标截图如下

2.求取零极点程序截图 得到零极点分布图 3.分析系统稳定性 根据稳定的充分必要条件判别线性系统的稳定性最简单的方法是求出系统所有极点,并观察是否含有实部大于0的极点,如果有系统不稳定。有零极点分布图可知系统稳定。

二.单容过程的阶跃响应 一、实验目的 1. 熟悉MATLAB软件的操作过程 2. 了解自衡单容过程的阶跃响应过程 3. 得出自衡单容过程的单位阶跃响应曲线 二、实验内容 已知两个单容过程的模型分别为 1 () 0.5 G s s =和5 1 () 51 s G s e s - = + ,试在 Simulink中建立模型,并求单位阶跃响应曲线。 三、实验步骤 1. 在Simulink中建立模型,得出实验原理图。 2. 运行模型后,双击Scope,得到的单位阶跃响应曲线。 四、实验结果 1.建立系统Simulink仿真模型图,其仿真模型为

集散控制系统工程设计

合肥学院HEFEI UNIVERSITY 集散控制系统的工程设计 班级: 10 姓名: 学号: 10 指导教师: 完成时间:

集散控制系统的工程设计 现代科学技术领域中,计算机技术和自动化技术被认为是发展较快的两个分支,工业自动化根据生产过程的特点可分为过程控制和制造工业自动化及自动化测量系统。过程控制自动化是以流程工业为对象,流程工业自动化控制一般采用集散控制系统(DCS)。 一、DCS控制系统介绍 集散控制系统(Distributed control system)是以微处理器为基础的对生产过程进行集中监视、操作、管理和分散控制的集中分散控制系统,简称DCS系统。该系统将若干台微机分散应用于过程控制,全部信息通过通信网络由上位管理计算机监控,实现最优化控制,整个装置继承了常规仪表分散控制和计算机集中控制的优点,克服了常规仪表功能单一,人机联系差以及单台微型计算机控制系统危险性高度集中的缺点,既实现了在管理、操作和显示三方面集中,又实现了在功能、负荷和危险性三方面的分散。DCS系统在现代化生产过程控制中起着重要的作用。 DCS的工程设计主要有12项内容,按先后顺序排列如下:方案论证,DCS 评估,DCS询价,技术谈判,合同签订,开工会议,系统设计,组态编程,安装调试,现场投运,整理文件,工程验收。 1.1集散控制系统的组成 1、现场控制级 又称数据采集装置,主要是将过程非控变量进行数据采集和预处理,而且对实时数据进一步加工处理,供CRT操作站显示和打印,从而实现开环监视,并将采集到的数据传输到监控计算机。输出装置在有上位机的情况下,能以开关量或者模拟量信号的方式,向终端元件输出计算机控制命令。 在DCS系统中,这一级别的功能就是服从上位机发来的命令,同时向上位机反馈执行的情况。至于它与上位机交流,就是通过模拟信号或者现场总线的数字信号。由于模拟信号在传递的过程或多或少存在一些失真或者受到干扰,所以目前流行的是通过现场总线来进行DCS信号的传递。

自动控制原理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.

控制系统数字仿真题库

控制系统数字仿真题库 一、填空题 1. 定义一个系统时,首先要确定系统的边界;边界确定了系统的范围,边界以外对系统的作用称为系统的输入,系统对边界以为环境的作用称为系统的输出。 2.系统的三大要素为:实体、属性和活动。 3.人们描述系统的常见术语为:实体、属性、事件和活动。 4.人们经常把系统分成四类,它们分别为:连续系统、离散系统、采样数据系统和离散-连续系统。 5、根据系统的属性可以将系统分成两大类:工程系统和非工程系统。 6.根据描述方法不同,离散系统可以分为:离散时间系统和离散事件系统。 7. 系统是指相互联系又相互作用的实体的有机组合。 8.根据模型的表达形式,模型可以分为物理模型和数学模型二大类,其中数学模型根据数学表达形式的不同可分为二种,分别为:静态模型和动态模型。 9、采用一定比例按照真实系统的样子制作的模型称为物理模型,用数学表达式来描述系统内在规律 的模型称为数学模型。 10.静态模型的数学表达形式一般是代数方程和逻辑关系表达式等,而动态模型的数学表达形式一般是微分方程和差分方程。 11.系统模型根据描述变量的函数关系可以分类为线性模型和非线性模型。 12 仿真模型的校核是指检验数字仿真模型和数学模型是否一致。 13.仿真模型的验证是指检验数字仿真模型和实际系统是否一致。 14.计算机仿真的三个要素为:系统、模型与计算机。 15.系统仿真的三个基本活动是系统建模、仿真建模和仿真试验。 16.系统仿真根据模型种类的不同可分为:物理仿真、数学仿真和数学-物理混合仿真。 17.根据仿真应用目的的不同,人们经常把计算机仿真应用分为四类,分别为: 系统分析、系统设计、理论验证和人员训练。 18.计算机仿真是指将模型在计算机上进行实验的过程。 19. 仿真依据的基本原则是:相似原理。 20. 连续系统仿真中常见的一对矛盾为计算速度和计算精度。 21.保持器是一种将离散时间信号恢复成连续信号的装置。 22.零阶保持器能较好地再现阶跃信号。 23. 一阶保持器能较好地再现斜坡信号。 24. 二阶龙格-库塔法的局部截断误差为O()。 25.三阶隐式阿达姆斯算法的截断误差为:O()。

飞行控制系统大作业

飞行控制系统大作业 一、飞机纵向俯仰角与速度控制系统设计 某飞机的纵向线性小扰动方程为: l o n l o n x A x B u =+ 其中 状态[]T x u q h αθ =?????,控制量[]T e T u δδ=?? 问题: 1、 分析飞机纵向动力学模态,求飞机的长周期与短周期阻尼与自然频率。 2、 对升降舵及油门单位阶跃输入下的飞机自然特性进行仿真,画出相应的状态曲线。 3、 采用短周期简化方法,求出传递函数()e q G s δ??。采用根轨迹方法设计飞机的 俯仰角控制系统,并进行仿真。 4、 基于长周期简化方法,求出传递函数()T u G s δ??,设计飞机的速度控制系统, 并进行仿真。 5、 基于纵向线性模型(状态方程),分别对速度控制与俯仰角控制进行仿真。 假设作动器特性为 10 10 s +。 要求:给出相应的传递函数,画出相应的结构图根轨迹图及仿真曲线。 二、飞机侧向滚转角控制系统设计 某飞机的侧向线性小扰动方程为: l a t l a t x A x B u =+ 其中 状态[]T x p r βφψ=?????,控制量[]T a r u δδ=?? 问题: 1、 求出侧向运动方程的特征根,及对应的模态,求出荷兰滚模态的阻尼及自然频率。 2、 对副翼与方向舵单位阶跃输入下的自然特性进行仿真。 3、 采用简化方法,求出传递函数()a p G s δ??。采用根轨迹方法设计飞机的滚转角

控制系统,并进行仿真。 4、设计飞机航向控制系统,并进行仿真。 5、设计飞机方向舵协调控制律,基于侧向线性模型(状态方程),进行航向控制系统的仿真。 假设作动器特性为 10 10 s 。 要求:给出相应的传递函数,画出相应的结构图根轨迹图及仿真曲线,提交word 打印稿。 1.数据文件在dataX.mat文件中,按照学号的最后一位选择相应的数据文件。 如学号最后一位为5,则选择data5.mat文件作为你设计的数据。 2.在matlab中输入load data5 则可将数据导入, 其中alon为纵向系统阵,blon为纵向控制输入阵 alat为侧向系统阵,blat为侧向控制输入阵 控制量的单位为deg,状态变量的单位为(deg,deg/s,m) 3、由状态方程求传递函数用ss2tf()函数。 4、仿真可以用simulink搭建仿真图。 5、仿真的输入采用单位阶跃。 6、曲线要标注单位,用plot画,不能直接copy scope中的图。 例:

控制系统数字仿真与CAD第一二章习题答案

1-1什么是仿真?它所遵循的基本原则是什么? 答:仿真是建立在控制理论,相似理论,信息处理技术和计算技术等理论基础之上的,以计算机和其他专用物理效应设备为工具,利用系统模型对真实或假想的系统进行试验,并借助专家经验知识,统汁数据和信息资料对试验结果进行分析和研究,进而做出决策的一门综合性的试验性科学。 它所遵循的基本原则是相似原理。 1-2在系统分析与设计中仿真法与解析法有何区別?各有什么特点? 答:解析法就是运用已掌握的理论知识对控制系统进行理论上的分析,il?算。它是一种纯物理意义上的实验分析方法,在对系统的认识过程中具有普遍意义。由于受到理论的不完善性以及对事物认识的不全而性等因素的影响,其应用往往有很大局限性。 仿真法基于相似原理,是在模型上所进行的系统性能分析与研究的实验方法。 1-3数字仿真包括那几个要素?其关系如何? 答:通常情况下,数字仿真实验包括三个基本要素,即实际系统,数学模型与让算机。由图可见,将实际系统抽象为数学模型,称之为一次模型化,它还涉及到系统辨识技术问题,统称为建模问题:将数学模型转化为可在计算机上运行的仿真模型,称之为二次模型化,这涉及到仿真技术问题,统称为仿真实验。 1-4为什么说模拟仿真较数字仿真精度低?其优点如何?o 答:由于受到电路元件精度的制约和容易受到外界的下?扰,模拟仿真较数字仿真精度低 但模拟仿真具有如下优点: (1)描述连续的物理系统的动态过程比较自然和逼真。 (2)仿真速度极快,失真小,结果可信度髙。 (3)能快速求解微分方程。模拟汁算机运行时0运算器是并行工作的,模拟机的解题速度与原系统的复杂程度无关。 (4)可以灵活设置仿真试验的时间标尺,既可以进行实时仿真,也可以进行非实时仿真。 (5)易于和实物相连。 1-5什么是CAD技术?控制系统CAD可解决那些问题? 答:CAD技术,即计算机辅助设计(Computer Aided Design),是将计算机高速而精确的计算能力, 大容量存储和数据的能力与设讣者的综合分析,逻辑判断以及创造性思维结合起来,用以快速设计进程,缩短设计周期,提髙设计质量的技术。 控制系统CAD可以解决以频域法为主要内容的经典控制理论和以时域法为主要内容的现代控制理论。此外,自适应控制,自校正控制以及最优控制等现代控制测略都可利用CAD技术实现有效的分析与设计。 1-6什么是虚拟现实技术?它与仿真技术的关系如何? 答:虚拟现实技术是一种综合了计算机图形技术,多媒体技术,传感器技术,显示技术以及仿真技术等多种学科而发展起来的高新技术。 1-7什么是离散系统?什么是离散事件系统?如何用数学的方法描述它们? 答:本书所讲的“离散系统”指的是离散时间系统,即系统中状态变量的变化仅发生在一组离散时刻上的系统*它一般采用差分方程.离散状态方程和脉冲传递函数来描述。 离散事件系统是系统中状态变量的改变是由离散时刻上所发生的事件所驱动的系统。这种系统的输入输出是随机发生的,一般采用概率模型来描述。 1-8如图1-16所示某卫星姿态控制仿真实验系统,试说明: (1)若按模型分类,该系统属于那一类仿真系统? (2)图中“混合汁算机”部分在系统中起什么作用? (3)与数字仿真相比该系统有什么优缺点? 答:(1)按模型分类,该系统属于物理仿真系统“ (2)混合计算机集中了模拟仿真和数字仿真的优点,它既可以与实物连接进行实时仿真,计算一些复杂函数,又可以对控制系统进行反复迭代讣算。其数字部分用来模拟系统中的控制器,而模拟部分用于模拟控制对象。(4)与数字仿真相比,物理仿真总是有实物介入,效果逼真,精度高,具有实时性与在线性的特点, 但其构成复杂,造价较髙,耗时过长,通用性不强。

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

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

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

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

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

控制系统数字仿真

控制系统数字仿.. 交卷时间:2016-04-01 21:13:58 一、单选题 1. (2分) 列出工作内存中的变量名称以及细节,只需在命令窗口输入________。 ? A. what ? B. who ? C. echo on ? D. whose 得分:0知识点:控制系统数字仿真作业题 答案D解析 2. (2分) 在Simulink中,运行系统仿真的工具栏图标为 ? A. ? B. ? C. ? D. 得分:0知识点:控制系统数字仿真作业题 答案C解析 3. (2分) 设A=[0 2 3 4;1 3 5 0],B=[1 0 5 3;1 5 0 5]则A>=B的结果为________。

? A. ? B. ? C. ? D. 得分:0知识点:控制系统数字仿真作业题 答案B解析 4. (2分) 若B=[3 2 7 4 9 6 1 8 0 5],则B([end-3:end])为________。 ? A. 3 7 1 ? B. 3 2 7 4 9 9 4 7 2 3 ? C. 3 4 ? D. 1 8 0 5 得分:0知识点:控制系统数字仿真作业题 答案D解析 5. (2分) 执行以下指令之后E,F的值分别为________。 A=[1 2 3; 4 5 6]; B=[3 4 5; 7 8 9]; C=3; E = A+B; F = B+C ? A. E=[4 5 6;7 8 9] F=[6 7 8;10 11 12] ? B. E=[6 7 8;10 11 12] F=[4 5 6;7 8 9] ? C. E=[4 5 6;7 8 9 F=[6 4 5;10 8 9] ? D. E=[4 5 6;7 8 9] F=[3 4 8;7 8 12]

控制系统仿真大作业

控制系统仿真 实验报告 专业班级:自动F0903 姓名:罗新勇 学号: 200948280311 指导教师:张杰

实验一、熟悉MATLAB 环境及矩阵、数组的数学计 算 一、 实验目的 1、熟悉启动和退出Matlab 的方法; 2、熟悉Matlab 命令窗口的组成; 3、掌握建立矩阵的方法; 二、 实验内容: 1、帮助命令 使用help 命令,查找 sqrt (开方)函数的使用方法; 2、先求下列表达式的值,然后显示Matlab 工作空间的使用情况并保存全部变量。 .3,9.2,8.2,...,8.2,9.2,0.3,2 3.0ln )3.0sin(2 )3(545.0212),1log(21)2(185sin 2)1(3.03.032 220 1---=+++-= ?? ? ? ??-+=++=+=-a a a e e z i x x x z e z a a 其中 提示:利用冒号表达式生成a 向量,求各点的函数值时用点乘运算。

?? ???=<≤+-<≤-<≤=5.2:5.0:0,3 2,1221, 110,)4(22 2 4t t t t t t t t z 其中 提示:用逻辑表达式求分段函数值。 (1)z1=2*sin(85/180*pi)/(1+(exp(1))^2) z1 = 0.2375 (2)x=[2 1+2i;-0.45 5] x = 2.0000 1.0000 + 2.0000i -0.4500 5.0000 z2=0.5*log(x+sqrt(1+x^2)) z2 = 0.7114 - 0.0253i 0.8968 + 0.3658i 0.2139 + 0.9343i 1.1541 - 0.0044i (3)a=-3.0:0.1:3.0 a = Columns 1 through 5 -3.0000 -2.9000 -2.8000 -2.7000 -2.6000 Columns 6 through 10 -2.5000 -2.4000 -2.3000 -2.2000 -2.1000 Columns 11 through 15 -2.0000 -1.9000 -1.8000 -1.7000 -1.6000 Columns 16 through 20 -1.5000 -1.4000 -1.3000 -1.2000 -1.1000 Columns 21 through 25 -1.0000 -0.9000 -0.8000 -0.7000 -0.6000 Columns 26 through 30 -0.5000 -0.4000 -0.3000 -0.2000 -0.1000 Columns 31 through 35 0 0.1000 0.2000 0.3000 0.4000 Columns 36 through 40 0.5000 0.6000 0.7000 0.8000 0.9000 Columns 41 through 45 1.0000 1.1000 1.2000 1.3000 1.4000 Columns 46 through 50 1.5000 1.6000 1.7000 1.8000 1.9000 Columns 51 through 55 2.0000 2.1000 2.2000 2.3000 2.4000 Columns 56 through 60 2.5000 2.6000 2.7000 2.8000 2.9000 Column 61

控制系统数字仿真实验报告

控制系统数字仿真实验报告 班级:机械1304 姓名:俞文龙 学号: 0801130801

实验一数字仿真方法验证1 一、实验目的 1.掌握基于数值积分法的系统仿真、了解各仿真参数的影响; 2.掌握基于离散相似法的系统仿真、了解各仿真参数的影响; 3.熟悉MATLAB语言及应用环境。 二、实验环境 网络计算机系统(新校区机电大楼D520),MATLAB语言环境 三实验内容 (一)试将示例1的问题改为调用ode45函数求解,并比较结果。 实验程序如下; function dy = vdp(t,y) dy=[y-2*t/y]; end [t,y]=ode45('vdp',[0 1],1); plot(t,y); xlabel('t'); ylabel('y');

(二)试用四阶RK 法编程求解下列微分方程初值问题。仿真时间2s ,取步长h=0.1。 ?????=-=1 )0(2y t y dt dy 实验程序如下: clear t0=0; y0=1; h=0.1; n=2/h; y(1)=1; t(1)=0; for i=0:n-1 k1=y0-t0^2; k2=(y0+h*k1/2)-(t0+h/2)^2; k3=(y0+h*k2/2)-(t0+h/2)^2;

k4=(y0+h*k3)-(t0+h)^2; y1=y0+h*(k1+2*k2+2*k3+k4)/6; t1=t0+h; y0=y1; t0=t1; y(i+2)=y1; t(i+2)=t1; end y1 t1 figure(1) plot(t,y,'r'); xlabel('t'); ylabel('y'); (三)试求示例3分别在周期为5s的方波信号和脉冲信号下的响应,仿真时间20s,采样周期Ts=0.1。

哈工大 计算机仿真技术实验报告 仿真实验四基于Simulink控制系统仿真与综合设计

基于Simulink 控制系统仿真与综合设计 一、实验目的 (1) 熟悉Simulink 的工作环境及其功能模块库; (2) 掌握Simulink 的系统建模和仿真方法; (3) 掌握Simulink 仿真数据的输出方法与数据处理; (4) 掌握利用Simulink 进行控制系统的时域仿真分析与综合设计方法; (5) 掌握利用 Simulink 对控制系统的时域与频域性能指标分析方法。 二、实验内容 图2.1为单位负反馈系统。分别求出当输入信号为阶跃函数信号)(1)(t t r =、斜坡函数信号t t r =)(和抛物线函数信号2/)(2t t r =时,系统输出响应)(t y 及误差信号)(t e 曲线。若要求系统动态性能指标满足如下条件:a) 动态过程响应时间s t s 5.2≤;b) 动态过程响应上升时间s t p 1≤;c) 系统最大超调量%10≤p σ。按图1.2所示系统设计PID 调节器参数。 图2.1 单位反馈控制系统框图

图2.2 综合设计控制系统框图 三、实验要求 (1) 采用Simulink系统建模与系统仿真方法,完成仿真实验; (2) 利用Simulink中的Scope模块观察仿真结果,并从中分析系统时域性能指标(系统阶跃响应过渡过程时间,系统响应上升时间,系统响应振荡次数,系统最大超调量和系统稳态误差); (3) 利用Simulink中Signal Constraint模块对图2.2系统的PID参数进行综合设计,以确定其参数; (4) 对系统综合设计前后的主要性能指标进行对比分析,并给出PID参数的改变对闭环系统性能指标的影响。 四、实验步骤与方法 4.1时域仿真分析实验步骤与方法 在Simulink仿真环境中,打开simulink库,找出相应的单元部件模型,并拖至打开的模型窗口中,构造自己需要的仿真模型。根据图2.1 所示的单位反馈控制系统框图建立其仿真模型,并对各个单元部件模型的参数进行设定。所做出的仿真电路图如图4.1.1所示。

自动控制系统施工方案

第五节、自动控制系统施工方案 一、施工准备 1.材料 钢管、接线盒、桥架、通讯及控制线缆应符合设计要求,产品应附有材质检验报告、合格证等。 2.现场控制器。 温度、湿度、压力、压差等各类传感器。 电动阀、电磁阀等执行器。 网络控制器、计算机、不间断电源、打印机等。 控制台、控制器箱等。 3.机具设备 施工机具:电钻、手提砂轮、电焊机、电锤。 测量器具:水平尺、钢卷尺、钢直尺、万用表、摇表、游标卡尺、精度仪。 调试仪器:楼宇自控系统专用调试仪器。 4.作业条件 线槽、预埋管路、接线盒、预留孔洞的规格、数量、位置符合规范与设计要求。 中央控制室内土建装修完毕,温、湿度达到使用要求。 空调机组、冷却塔及各类阀门等安装完毕。 暖通水管道、变配电设备等安装完毕。 接地端子箱安装完毕。 二、操作工艺 1.工艺流程

2.操作方法 (1)钢管、金属线槽及线缆敷设 钢管、金属线及线缆敷设请参照管路及线缆敷设要求进行。 (2)中央控制室设备安装 设备在安装前应进行检验,并符合下列要求: 设备外形完整,内外表面漆层完好。 设备外形尺寸、设备内主板及接线端口的型号、规格符合设计规定,备品备件齐全 按照图纸连接主机、不间断电源、打印机、网络控制器等设备。 设备安装应紧密、牢固,安装用的紧固件应做防锈处理。 设备底座应与设备相符,其上表面应保持水平。 中央控制及网络网络控制器等设备的安装要符合下列规定: 控制台、网络控制器应按设计要求进行排列,根据柜的固定孔距在基础槽钢上钻孔,安装时从一端开始逐台就位,用螺丝固定,用小线找平找直后再将各螺栓紧固。 对引入的电缆或导线,首先应用对线器进行校线,按图纸要求编号。 标志编号应正确且与图纸一致,字迹清晰,不易褪色;配线应整齐,避免交叉,固定牢固。 交流供电设备的外壳及基础应可靠接地。 中央控制室一般应根据设计要求设置接地装置。当采用联合接地时,接地电阻应小于 1Ω。 (3)现场控制器的安装 现场控制器箱安装

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