计算机仿真课件.ppt_第1页
计算机仿真课件.ppt_第2页
计算机仿真课件.ppt_第3页
计算机仿真课件.ppt_第4页
计算机仿真课件.ppt_第5页
已阅读5页,还剩168页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、自动控制系统计算机仿真与CAD,MATLAB语言应用,注 意 事 项,教材 参考书 课程学习的目的 前期课程基础 授课学时与分配 授课时间、地点,教 材,控制系统计算机仿真与CAD MATLAB语言应用 天津大学出版社,参 考 书,1控制系统计算机辅助设计 清华大学出版社2掌握和精通MATLAB 北京航空航天大学出版社,课程学习的目的,了解和掌握自动控制系统计算机仿真的基本原理、方法 采用MATLAB工具对控制系统进行仿真 采用MATLAB工具对控制系统进行辅助设计,前期课程基础,自动控制原理 自动控制系统 C语言基础,授课学时与分配(40学时),1绪论;控制系统数学模型的建立、转换及其连接

2、(3学时) 2控制系统的数字仿真 1 (3学时) 3控制系统的数字仿真2 (3学时) 4控制系统最优化的计算机辅助设计概述 ;线性规划(3学时) 5单变量寻优1 (6学时) 6多变量寻优 (6学时) 7PID参数寻优 (3学时) 8总结考试 (2学时),授课时间、地点,时间:每周六上午8:3011:30 地点:科技楼3楼多媒体教室,第1章 绪 论,一、仿真的目的与方法 二、数字仿真工具MATLAB的发展历史 三、MATLAB简介 四、Simulink,一、仿真的目的与方法,二、数字仿真工具MATLAB的发展历史,创始人:Cleve Moler教授,MathWorks公司的首席科学家 70年代中

3、Cleve Moler教授在美国国家科学基金会的资助下开发了两个FORTRAN子程序库。LINPACK求解线性方程;EISPACK解特征值 70年代末Cleve Moler教授为了便于学生使用该程序库,设计了调用接口程序。取名为MATLAB(MATrix LABoratory) 84年MathWorks公司将MATLAB正式推向市场,MATLAB版本升级历程,三、MATLAB简介,1 变量与表达式 2 基本运算符 3 M文件 4 矩阵、数组与数值运算功能 5 多项式运算 6 MATLAB符号运算功能 7 MATLAB语句流 8 MATLAB的典型时域响应函数 9 MATLAB的图形绘制,1 变

4、量与表达式,2 基本运算符,3M文件,% 2 s + 4 %- %s4 + 5 s3 + 8 s2 + 6 s clc num=2*1,2; den=conv(conv(1,0,1,3),1,2,2); g1=tf(num,den); g=ss(g1); a,b,c,d=ssdata(g); ab=a-b*c; bb=b; cb=c; db=d; step(ab,bb,cb,db);,4 矩阵、数组与数值运算功能,5. 多项式运算,6. MATLAB符号运算功能,7 MATLAB语句流,7 MATLAB语句流,8. MATLAB的典型时域响应函数(1),8. MATLAB的典型时域响应函数(2

5、),9. MATLAB的图形绘制 (1),9. MATLAB的图形绘制 (2),四、Simulink,四、Simulink,第2章 控制系统数学模型、模型之间的转换与连接,一、控制系统的数学描述 二、系统模型的相互转换 三、系统状态方程的变换与实现 四、控制系统的模型建立与典型连接,一、控制系统的数学描述(1),一、控制系统的数学描述(2),一、控制系统的数学描述(3),一、控制系统的数学描述(4),二、系统模型的相互转换,1状态空间方程与传递函数之间的相互转换 2状态空间方程与零极点模型之间的相互转换 3传递函数与零极点模型之间的相互转换 4连续系统和离散系统之间的转换,1状态空间方程与传递

6、函数之间的相互转换,1状态空间方程与传递函数之间的相互转换(例子),2状态空间方程与零极点模型之间的相互转换,2状态空间方程与零极点模型之间的相互转换(例子),3传递函数与零极点模型之间的相互转换,4连续系统和离散系统之间的转换(1),4连续系统和离散系统之间的转换(2),三、系统状态方程的变换与实现,四、控制系统的模型建立与典型连接(1),四、控制系统的模型建立与典型连接(2),四、控制系统的模型建立与典型连接(3),四、控制系统的模型建立与典型连接(4),第3章 控制系统数字仿真,一、基本数值仿真方法 二、数值积分稳定性分析 三、连续控制系统仿真 四、采样控制系统仿真,一、基本数值积分方法

7、,1欧拉(Euler)法 2梯形法 3龙格库塔方法 4四阶龙格库塔方法的向量表示法 5亚当斯法,1欧拉(Euler)法(1),1欧拉(Euler)法(2),2梯形法,3龙格库塔方法(1),3龙格库塔方法(2),4四阶龙格库塔方法的向量表示法(1),4四阶龙格库塔方法的向量表示法(2),二、数值积分方法的计算稳定性(1),二、数值积分方法的计算稳定性(2),二、数值积分方法的计算稳定性(3),三、连续系统仿真,1数值积分的MATLAB实现 2面向微分方程的系统仿真与MATLAB实现 3面向传递函数的系统仿真与MATLAB实现 4面向结构图的系统仿真 5. 离散相似法的系统仿真,1数值积分的MAT

8、LAB实现1)欧拉法的MATLAB实现,1数值积分的MATLAB实现2)梯形法的MAYTLAB实现,1数值积分的MATLAB实现3)龙格库塔法的MAYTLAB实现,2面向微分方程的系统仿真与MATLAB实现1)基于ode函数的面向微分方程的系统仿真,2面向微分方程的系统仿真与MATLAB实现2)基于M函数的面向微分方程的系统仿真,3面向传递函数的系统仿真与MATLAB实现(1),3面向传递函数的系统仿真与MATLAB实现(2),4面向结构图的系统仿真,基于典型环节的系统仿真 基于Connect连接函数的系统仿真,基于典型环节的系统仿真系统典型化处理(1),基于典型环节的系统仿真系统典型化处理(

9、2),基于典型环节的系统仿真连接矩阵及状态方程,基于典型环节的系统仿真例子,基于典型环节的系统仿真例子,基于典型环节的系统仿真例子,基于Connect连接函数的系统仿真,基于Connect连接函数的系统仿真,5. 离散相似法的系统仿真概念(1),5. 离散相似法的系统仿真概念(2),5. 离散相似法的系统仿真面向闭环系统的方法,5. 离散相似法的系统仿真面向闭环系统的方法,5. 离散相似法的系统仿真面向闭环系统的方法,5. 离散相似法的系统仿真面向闭环系统的方法,5. 离散相似法的系统仿真非线性环节的处理,四、采样系统仿真(1),四、采样系统仿真(2),四、采样系统仿真(3),第6章 控制系统

10、最优化的计算机辅助设计(概念),最优控制是指:为了完成某一个目标,在一定的约束条件下,使得某项指标或某几项指标的综合达到极限(最大或最小)的控制方法和控制策略。,一、概述 二、线性规划方法 三、单变量的寻优方法 四、多变量的寻优方法 五、PID控制器参数整定与优化方法,第6章 控制系统最优化的计算机辅助设计,一、概述(最优控制系统的分类),最小误差控制系统; 时间最优控制系统; 能量最优控制系统; 状态最优控制系统; 最佳调度、最佳线路系统。,1目标函数 2约束条件 3参数(静态)最优化和函数(动态)最优化 4直接寻优与间接寻优,一、概述,1. 目标函数,2. 约束条件,3.参数(静态)最优化

11、和函数(动态)最优化,3.参数(静态)最优化和函数(动态)最优化,3.参数(静态)最优化和函数(动态)最优化,4直接寻优与间接寻优,4直接寻优与间接寻优,二、线性规划方法,1问题分类 2线性规划的标准型 3线性规划的图解法及一些基本概念 4线性规划的单纯形解法 5单纯形表,1问题分类,线性规划解决的问题可以分为两大类: (1)最大产值问题 (2)最佳资源配置或最佳行动计划问题。 前者为求目标函数的极大值,后者为求目标函数的极小值。约束条件可以分成等式约束条件和不等式约束条件。,2线性规划的标准型,3线性规划的图解法及一些基本概念,4线性规划的单纯形解法(定义与定理),4线性规划的单纯形解法(计

12、算规则),5单纯形表,clc echo off %A=input(A= ) A=2 2 1 0 0 0 12;1 2 0 1 0 0 8;4 0 0 0 1 0 16;0 4 0 0 0 1 12; -2 -3 0 0 0 0 0; m,n=size(A);m=m-1;n=n-1; %K=input(K=) K=3 4 5 6; XM=size(K); while(1) clc A K input dd; Amin,l=min(A(m+1,1:n); if(Amin=0) disp(end) disp(K=) disp(K),disp(value) disp(A(1:m,n+1) disp(m

13、in of J) disp(-1*A(m+1,n+1) break end for i=1:1:m if(A(i,l)=0),XM(i)=A(i,n+1)/A(i,l); else XM(i)=inf; end end if(max(XM)0) end end,M=A(w,l); A(w,1:n+1)=A(w,1:n+1)./M; for i=1:1:m+1 if(i=w)i=i+1;end M=A(i,l); A(i,1:n+1)=A(i,1:n+1)-A(w,1:n+1).*M; end K(w)=l; end echo on,三、单变量的寻优方法,分割法 插值法,分割法,等间法 黄金分割

14、法,等间分割法,黄金分割法(1),function y=p_186f(x) y=x3-2*x-5; clc echo off %a=input(a=); %b=input(b=); %e1=input(e=); a=0;b=5;e1=1e-4; k=1; x1=a+0.618*(b-a); x2=b-0.618*(b-a); fx1=p6_186f(x1);fx2=p6_186f(x2); e=100; while(ee1) if(fx1fx2)|(fx1=fx2) b=x1;x1=x2; x2=b-0.618*(b-a); fx1=p6_186f(x1);fx2=p6_186f(x2);,黄

15、金分割法(2),else a=x2;x2=x1; x1=a+0.618*(b-a); fx1=p6_186f(x1);fx2=p6_186f(x2); end e=b-a; k=k+1; end x=(a+b)/2; disp(x) disp(k) disp(p6_186f(x) input t; x2=fmin(p6_186f,0,5,1,1e-4) echo on,黄金分割法(3),2插值法,2插值法(外推极值区间),2插值法(内插求极值),2插值法(迭代计算),clc echo off x0=10;h0=0.1;e1=0.0001;m=0.1; x1=x0;k=1; while(1) d

16、isp(k) f1=p6_186f(x1); x2=x1+h0;f2=p6_186f(x2); if(f2f1)|(f2=f1) h=h0; x3=x2+h;f3=p6_186f(x3); while(f2f3)|(f2=f3) x1=x2;f1=f2; x2=x3;f2=f3; disp(+) h=h+h0; x3=x2+h;f3=p6_186f(x3); end,2插值法(例题1),else h=h0; x3=x1;f3=f1; x1=x2-h0;f2=p6_186f(x2); while(f2f1)|(f2=f1) x3=x2;f3=f2; h=h+h0; disp(-) x1=x2-h

17、0;f2=p6_186f(x2); end end c1=(f3-f1)/(x3-x1); c2=(f2-f1)/(x2-x1)-c1)/(x2-x3); x4=0.5*(x1+x3-c1/c2); f4=p6_186f(x4); e=(f4-f2)/f2; e=abs(e); %disp(e),2插值法(例题2),if(ee1) disp(min) disp(x4) disp(f4) break end k=k+1; x1=x4; if(f2f4),x1=x2;end h0=m*h0; end echo on,2插值法(例题3),四、多变量的寻优方法,1无约束条件下的多变量寻优方法 2有约束

18、条件下的多变量寻优方法,1无约束条件下的多变量寻优方法,一阶梯度法(最速下降法) 共轭梯度法 单纯形法,一阶梯度法,一阶梯度法(例题1),(P6192) clc echo off f=60-10*x1-4*x2+x12+x22-x1*x2; x0=0,0; n=2; x1=sym(x0); xx=sym(x0); n=2; ee=0.000001; x=size(n);x=sym(x); fp=f; disp( ); for i=1:1:n xx(i)=sprintf(x%d,i); df(i)=diff(f,xx(i); end disp(df/dx1=); disp(df(1);,disp

19、(df/dx2=); disp(df(2); for i=1:1:n px=sprintf(p(%d),i); fp=subs(fp,xx(i),px); end for i=1:1:n x(i)=xi-b*pp; x(i)=subs(x(i),xi,xx(i); x(i)=subs(x(i),pp,df(i); px=sprintf(p(%d),i); fp=subs(fp,px,x(i); end fp=diff(fp,b); fp=solve(fp,b); disp(x1=); disp(x(1); disp(x2=); disp(x(2);,一阶梯度法(例题2),disp(h=); d

20、isp(fp); f0=f; for i=1:n f0=subs(f0,xx(i),x0(i); end k=0; disp( ); disp( time x1 x2 f); while(1) k=k+1; h=fp; for i=1:1:n h=subs(h,xx(i),x0(i); end for i=1:1:n x1(i)=subs(x(i),b,h);,一阶梯度法(例题3),for j=1:1:n x1(i)=subs(x1(i),xx(j),x0(j); end end f1=f; for i=1:n f1=subs(f1,xx(i),x1(i); end disp(k ,vpa(x

21、1(1),6),vpa(x1(2),6),vpa(f1,6); e=vpa(f1-f0,6); e=abs(e); e=numeric(e); if(eee),break;end x0=x1;f0=f1; end echo on,一阶梯度法(例题4),(p6193) clc echo off hidden on x,y=meshgrid(5:.02:8.5); z=60-10*x-4*y+x.2+y.2-x.*y; contour(x,y,z) x0=0,7.63158,6.80972,7.94518,7.82290,7.99184,7.97365,7.99879,7.99608,7.9998

22、2,7.99942,7.99997; y0=0,3.05263,5.10729,5.56147,5.86718,5.93475,5.98024,5.99029,5.99706,5.99856,5.99956,5.99979; z0=-60,15.7368,9.15113,8.17127,8.02548,8.00379,8.00056,8.00008,8.00001,8.00000,8.00000,8.00000; z2=zeros(size(x0); hold on plot(x0,y0); echo on,一阶梯度法(寻优过程分析),共轭梯度法,共轭梯度法,共轭梯度法,clc echo of

23、f x1=0;x2=0;e=0.000001; k=0; disp( k, x1, x2, f); g1=-10;g2=-4; p1=-g1;p2=-g2; g=g12+g22; while(k10) k=k+1; a=-(p1*g1+p2*g2)/(2*(p12+p22-p1*p2); x1=x1+a*p1; x2=x2+a*p2; g1=2*x1-x2-10; g2=2*x2-x1-4;,共轭梯度法(例题1),g0=g; g=g12+g22; b=g/g0; p1=-g1+b*p1; p2=-g2+b*p2; f=60-10*x1-4*x2+x12+x22-x1*x2; disp(k,x1,x2,f); if(ge),break;end end echo on,共轭梯度法(例题2),模式法(单纯形法),2有约束条件下的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论