好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

计算机仿真课件.ppt

47页
  • 卖家[上传人]:ji****72
  • 文档编号:53568625
  • 上传时间:2018-09-02
  • 文档格式:PPT
  • 文档大小:603KB
  • / 47 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 2018/9/2,1,1、从键盘输入若干个数,当输入0时结束输入,求这些数的平均值和它们之和clc sum=0; m=0; t=input('输入一个数:'); while(t~=0)sum=sum+t;m=m+1; t=input('输入一个数:'); end if(m>0)sumaverage=sum/m end,clc s=0;i=0; a=input('enter a number,a='); while a~=0i=i+1;s=s+a;ave=s/i;a=input('enter a number,a=');if a==0break ;end end s ave,sum=0; n=0; x=input('Enter a number(end in 0):'); while (x~=0)sum=sum+x;n=n+1; x=input('Enter a number(end in 0):'); end if (n>0)summean=sum/n end,2018/9/2,2,2、求[100,200]之间第一个能被21整除的整数clc for t=100:200;x=rem(t,21);if x==0;tbreak;end; end;,clc for x=100:200if rem(x,21)==0break;end endx,clc for i=100:200; while rem(i,21)~=0continue end break end i,2018/9/2,3,3、若一个数等于它的各个真因子之和,则称该数为完数,如6=1+2+3,所以6是完数。

      求[1,500]之间的全部完数clc for m=1:500s=0;for k=1:m/2if rem(m,k)==0s=s+k;endend if m==sdisp(m); end end,for k=1:500;sum=0;for n=1:k/2if rem(k,n)==0sum=sum+k;endendif sum==kdisp(k)end end,2018/9/2,4,4、输入x,y的值,并将它们的值互换后输出clc x=input('x='); y=input('y='); t=x; x=y; y=t; x y,clc x=input('enter a number,x='); y=input('enter a number,y='); t=x;x=y;y=t; x,y,x=input('任意输入一个数') y=input('任意输入一个数') if x~=yz=y;y=x;x=z; else end x,y,2018/9/2,5,5、求一元二次方程ax2 +bx+c=0的根clc syms a b c x solve(a*x^2+b*x+c,x),clc a=input('enter a number,a='); b=input('enter a number,b='); c=input('enter a number,c='); d=b^2-4*a*c; if d<0disp('该方程有复数解');x1=(-b-sqrt(abs(d))*i)/(2*a)x2=(-b+sqrt(abs(d))*i)/(2*a) elseif d==0disp('该方程有两个相等的实数解'); x=(-b)/(2*a) elsedisp('该方程有两个相等的实数解'); x1=(-b-sqrt(d))/(2*a)x2=(-b+sqrt(d))/(2*a) end,clc a=input('任意输入一个数') b=input('任意输入一个数') c=input('任意输入一个数') d=b*b-4*a*c; x=[(-b+sqrt(d))/(2*a),(-b-sqrt(d))/(2*a)]; disp(['x1=',num2str(x(1)),',x2=',num2str(x(2))]);,clc a=input('任意输入一个数'); b=input('任意输入一个数'); c=input('任意输入一个数'); A=[a,b,c]; solve(subs('a*x^2+b*x+c',{'a','b','c'},A(:)),'x'),2018/9/2,6,第5章 系统模型,系统的数学模型,系统模型的连接,机电系统建模举例,2018/9/2,7,确定型系统的数学模型,,建立系统数学模型的两种方法,机理法,试验法,待辨识系统,,,试验信号,输出信号,系统辨识,根据物理规律, 列写系统各变量 之间相互关系的 动力学方程,,已知输入、输出求系统,,,,外部模型:输入——输出描述法,内部模型:状态变量描述法,两大类模型,,,2018/9/2,8,5.1连续系统的数学模型,,所谓系统的模型是指系统物理特性的抽象,以数学表达式或具有理想特性的符号图形来表征系统特性。

      动态系统,运动 微分 方程,传递 函数,频域 模型 频率 特性,脉冲 响应 函数,拉氏 变换,S=jω,函数 方块图,时域模型,复数域模型,状态空间表达式,状态变量图,,,,,,,,,,,,,,,,,,,数学模型:描述系统动态特性的输入输出关系的数学表达式,2018/9/2,9,5.1 系统的数学模型,时域模型:运动微分方程,脉冲响应函数,传递函数模型,频域模型:频率特性,时域模型:状态方程,2018/9/2,10,传递函数模型,输入——输出模型,零点——极点模型,典型环节模型,,,2018/9/2,11,2.传递函数及表示形式,输入—输出模型,零—极点模型,典型环节模型,分母称为系统的特征多项式,分子、分母进行因式分解,得系统传递函数的零-极点形式,零、极点只能取0、实数和复数(必共轭)值,因此,传递函数 还可以写成典型环节乘积的形式2018/9/2,12,建立传递函数模型,例5.1用ATLAB建立系统传递函数模型:num=[1,2]; den=[1,1,10]; sys=tf(num,den),2018/9/2,13,建立零极点模型,,clc z=-2; p=[-0.4 -15 -25]; k=18; sys=zpk(z,p,k),2018/9/2,14,状态空间模型的建立,⑴选择状态变量,⑵高阶微分方程化 为一阶微分方程组,⑶写成矩阵形式,,,,,,,系统输入函数 不含导数项,2018/9/2,15,状态空间模型,图示为两输入三输出动态系统,写出以外力和阻尼器速度为控制输入,位移、速度、加速度为系统输出的状态空间表达式。

      惯性力、阻尼力、弹性力和外力平衡:,设状态变量为:,则有状态方程,写成矩阵形式:,,2018/9/2,16,状态空间表达式,状态变量描述法不仅可以给出系统的响应,还可提供系统内部各变量的情况,特别适用于多输入、多输出系统用这种方法建立的数学式为一阶标准形式,便于计算机求解状态变量分析法还适用于时变系统和非线性系统,已成为系统理论与现代控制工程的基础状态方程和输出方程构成对一个动态系统的完整描述,称为状态空间表达式,亦称为动态方程状态方程:状态变量的一阶导数与状态变量、输入变量的关系称为状态方程,它是一阶微分向量方程输出方程:系统输出变量与状态变量、输入变量的关系称为输出方程,它是矩阵代数方程一般地,根据研究的目的,可直接写出输出方程2018/9/2,17,状态空间表达式的图示,系统矩阵A,控制矩阵B,输出矩阵C,直接传递矩阵D,系数矩阵,表示系统状态变量之间的联系;,输入矩阵,表示输入对状态的作用,输入的作用位置;,表示输出与状态的联系;,前馈系数矩阵,由直接联系输入与输出的前向传递系数构成2018/9/2,18,建立状态空间模型举例,,例5-3 如图所示质量-弹簧-阻尼机械系统建立MATLAB状态空间模型,2018/9/2,19,建立状态空间模型:,例5.3 对机械系统建立 MATLAB状态空间模型 m=5;k=2;c=0.1; A=[0,1;-k/m,-c/m]; B=[0,k/m]'; %B=[0;k/m]; C=[1,0]; D=0; sys=ss(A,B,C,D),为了便于计算机求解,其他形式的数学模型都要转换为状态方程的形式。

      使用MATLAB语言,可以极为方便地实现数学模型之间的转换实际上, MATLAB语言内部总是将其他形式的模型转换为状态方程的形式,即一阶微分方程组的形式注意,,,2018/9/2,20,clc m=5;k=2;c=0.1; A=[0,1;-k/m,-c/m]; B=[0,k/m]'; %B=[0;k/m]; C=[1,0]; D=0; sys=ss(A,B,C,D) step(sys),例5.3 对机械系统建立MATLAB状态空间模型,2018/9/2,21,模型转换演示:,例5-4 将例5-3中的状态空间模型转换成零极点增益模型和传递函数模型clc systf=tf(sys) syszpk=zpk(sys),2018/9/2,22,模型转换演示:,例5-5 将系统的传递函数模型转换成零极点增益模型clc n=[1,3,1]; d=[1 2 5 10]; sys=tf(n,d) nsys=zpk(sys),2018/9/2,23,5.2 系统模型的连接,模型串联,模型并联,反馈连接,2018/9/2,24,5.2.1 模型串联,sys1,sys2,sys,,,,,,,u,y,y,u,sys=sys1×sys2,sys=series(sys1,sys2),,,2018/9/2,25,5.2.2 模型并联,sys=parallel(sys1,sys2),,,2018/9/2,26,5.2.3 反馈连接,,,2018/9/2,27,例5-13,,,2018/9/2,28,5.3 机电系统建模举例,半定系统建模,机械加速度计建模,磁悬浮系统建模,2018/9/2,29,5.3.1 半定系统建模,何谓半定系统?,一种约束不充分,而存在刚体运动的系统,输入——f,输出——x2,2018/9/2,30,1.建立系统动力学方程,m0,m1,m2,,,,,,,,,,f,fk2,fc2,fk1,fc1,,,,,,,x0,x1,x2,2018/9/2,31,状态方程和输出方程,2018/9/2,32,2.求系统传递函数X2(s)/F(s),⑴编写程序,,,程序名:fz541,2018/9/2,33,仿真结果⑴,2018/9/2,34,仿真结果⑵,2018/9/2,35,5.3.2 机械加速度计建模,y,2018/9/2,36,1. 系统动力学方程和传递函数Y/F,,,y,2018/9/2,37,2.系统仿真结果,,程序名:fz542,,clc b=3; a1=3; a0=2; y_f=tf(-b,[1,a1,a0]) step(-y_f,5) xlabel('t') ylabel('-y'),2018/9/2,38,5.3.3 磁悬浮系统建模,,u为反馈控制信号;δ为作用在浮球上的外部扰动力。

      电磁力大小可由电流i控制浮球的位置由光探测器检测,e为探测器的输出,e=kex,V0为电磁力的预设值,以平衡浮球重力mg,2018/9/2,39,1.建立系统动力学方程,作用在浮球上向上的电磁力,设计功率放大器使线圈电流,电磁力是线圈电流和浮球位置的线性函数,采用比例+微分控制,控制电压,浮球的力平衡方程为,选择V0,使,在外部扰动力作用下的系统的动力学方程,2018/9/2,40,2.求浮球位移对扰动的传递函数Y(s)/δ(s),设m=20g,ki=0.5N/A,kx=20N/m,ke=100V/m,Kd=8,Kp=100,,程序名:fz543,clc m=20; ki=0.5; kx=20; ke=100; kd=8; kp=100; den=[m,kd*ki*ke,kp*ki*ke-kx]; sys=tf(1,den) impulse(sys),2018/9/2,41,第5章习题6,。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.