仿真复习资料
更新时间:2024-06-27 09:58:01 阅读量: 综合文库 文档下载
仿真复习资料
一,基本矩阵和函数的操作 1.已知x=[2 4 6] ,y=[1 3 5]
1) a= x+y a=3 7 11 加法
2) b= x*y’ b=44 y’ 表示矩阵的转置 3) c= x.*y c= 2 12 30 直接相乘
4) d= x.^y d=2 64 7776 前者为底数后者为指数
5) e=conv(x,y) e=2 10 28 38 30 代数式相乘(conv只能用于两
个相乘,多了就要嵌套)
6) f= poly(x) f=1 -12 44 -48 (x-2)(x-2(x-6)的系数 7) g= roots(f) g=2.000 ;4.000;6.000 求根 8) h= polyval(x,3) h=36 赋值 9) m=polyder(x) m=4 4 求导
10) x(5)=7 x=2 4 6 0 7 第五项赋值为5,第四项自动为0
2.已知x=[2 4 6] ,y=[1 3 5] 多项式拟合。 >> x=[2 4 6];y=[1 3 5];
>> p=polyfit(x,y,3) 3表示拟合的阶数 p =-0.0208 0.2500 0.0833 0
3,常用的函数
Sin(),cos(),tin(),cot(),esp(x)=ex,sqrt(x)=x,a^b=ab,abs(x)=|x| asin(x)=arcsin(x),atant(),acos() round(x):四舍五入至最近整数
log(x):以e为底的对数,log10(x)以10为底的对数 l og2(x):以2为底的对数,pow2(x):2的指数
1
例如:y?1?sin(x)表示为y=sqrt(1-sin(x));
二,基本的二维画图指令
plot(x,y)表示y对x的函数图象;
subplot(m,n,p)表示将一个窗口分成m*n,取第p个窗口; polar(x,y)表示在极坐标下y对x的函数图象; semlilogx(x,y)表示x轴对数坐标图; semlilogy(x,y)表示y轴对数坐标图;
loglog(x,y)表示x轴和y轴都为对数的坐标图; plot(x1,y1,x2,y2)表示在同一坐标系下划两个图; xlabel(' ')表示对x轴注解; ylabel(' ')表示对y轴注解; Title(' ')表示对当前图象的标题。 例如:
>> x=0:0.01:10; >> y=sqrt(1-sin(x)); >> subplot(221); >> plot(x,y);
>> title('正常坐标图'); >> subplot(222); >> polar(x,y); >> title('极坐标图'); >> subplot(223); >> semilogx(x,y);
>> title('x轴对数坐标图'); >> subplot(224); >> semilogy(x,y);
>> title('y轴对数坐标图'); 图象见试题
2
三,矩阵的赋值和运算
函数 zeros
格式 B = zeros(n) %生成n×n全零阵
B = zeros(m,n) %生成m×n全零阵 B = zeros([m n]) %生成m×n全零阵
B = zeros(size(A)) %生成与矩阵A相同大小的全零阵
函数 eye
格式 Y = eye(n) %生成n×n单位阵
Y = eye(m,n) %生成m×n单位阵
Y = eye(size(A)) %生成与矩阵A相同大小的单位阵
函数 ones
格式 Y = ones(n) %生成n×n全1阵
Y = ones(m,n) %生成m×n全1阵 Y = ones([m n]) %生成m×n全1阵
Y = ones(size(A)) %生成与矩阵A相同大小的全1阵
命令 正态分布随机矩阵 函数 randn
格式 Y = randn(n) %生成n×n正态分布随机矩阵
Y = randn(m,n) %生成m×n正态分布随机矩阵 Y = randn([m n]) %生成m×n正态分布随机矩阵
命令 产生线性等分向量 函数 linspace
格式 y = linspace(a,b) %在(a, b)上产生100个线性等分点
y = linspace(a,b,n) %在(a, b)上产生n个线性等分点
函数 logspace
a格式 y = logspace(a,b) 在( b )之间产生50个对数等分向量 , 10y = logspace(a,b,n) y = logspace(a,pi)
函数 deconv
格式 [q,r] = deconv(v,u) %多项式v除以多项式u,返回商多项式q和余多项式r。
矩阵的转置 a=a’
格式 d = det(X) %返回方阵X的多项式的值
函数 trace
格式 b=trace (A) %返回矩阵A的迹,即A的对角线元素之和。
3
格式 k = rank (A) %求矩阵A的秩
函数 diag
格式 X = diag(v,k) %以向量v的元素作为矩阵X的第k条对角线元素,
当k=0时,v为X的主对角线;当k>0时,v为上方第k条对角线;当k<0时,v为下方第k条对角线。
X = diag(v) %以v为主对角线元素,其余元素为0构成X。 v = diag(X,k) %抽取X的第k条对角线元素构成向量v。k=0:抽取
主对角线元素;k>0:抽取上方第k条对角线元素;k<0抽取下方第k条对角线元素。
v = diag(X) %抽取主对角线元素构成向量v。
格式 B = rot90 (A) %将矩阵A逆时针方向旋转90°
格式 B = fliplr(A) %将矩阵A左右翻转
格式 B = flipud(A) %将矩阵A上下翻转
四,系统的一些基本操作
1,传递函数,状态空间,零极点增益的基本操作
注意在以下表示中用num表示传递函数的分子,den表示传递函数的分母;a,b,c,d为状态空间表示,z,p,k为零极点增益。
如(s+1)/(s+2),num=[1 1],den=[1 2],从右往左为常数项到最高次的系数。 系统的表示
tf(num,den)表示以num为分子以den为分母的传递函数; ss(a,b,c,d);zp(z,p,k);
不同表示之间的转化
[num,den]=ss2tf(a,b,c,d);将状态空间转化为传递函数; [z,p,k]=ss2zp(a,b,c,d);将状态空间转化为零极点增益; 以下类似[a,b,c,d]=zp2ss(z,p,k);[num,den]=zp2tf(z,p,k); [r,p,k] = residue(num,den) [num,den]= residue(r,p,k)
4
2.系统之间的连接
先定义两个系统g1和g2,g1=tf(num1,den1);g2=ft(num2,den2); 串联 [num,den]=series(g1,g2);或g=g1*g2; 并联 [num,den]=paralle(g1,g2); 反馈 [num,den]=feedback(g1,g2).
3,系统的仿真
先定义系统g=tf(num,den);或g=ss(a,b,c,d);或g=zp(z,p,k) 单位阶跃响应 step(g);step(num,den);step(a,b,c,d).
4,根轨迹
先定义系统g=tf(num,den);或g=ss(a,b,c,d);或g=zp(z,p,k) rlocus(g); rlocus(num,den); rlocus(a,b,c,d)
5,奈氏曲线
先定义系统g=tf(num,den);或g=ss(a,b,c,d);或g=zp(z,p,k) nyquist(g);nyquist(num,den); nyquist(a,b,c,d)
6,波特图
先定义系统g=tf(num,den);或g=ss(a,b,c,d);或g=zp(z,p,k) [m,p,w]=bode(g);或bode(num,den);
[mag,phase,wc,wg]=margin(g);或margin(num,den);
五,数值积分法仿真
一下程序中加粗加下划线的为需要变化的,其他的不变。
1,欧拉法
dy/dt=f(t,y) ,y(t0)=y0,y(k+1)=y(k)+hf(t(k),y(k)).
例题: 已知 dy/dt=2t,y(0)=0 ,试用欧拉法进行仿真 h=0.01;Tf=10;t=0;
y=0;m=Tf/h; 对y赋初值 for i=1:m
y(i+1)=y(i)+h*2*t(i); y(i+1)=y(i)+h*f(t(i),y(i)) t=[t,t(i)+h]; end
plot(t,y); grid
状态空间的欧拉仿真
a=[-14 9 10;12 -9 10;24 -24 -18]; b=[2.8 4 12]';c=[1 1 1]; 状态空间输入 x=[0 0 0]'; y=0;u=100;t=0; y,u初始化值 h=0.01;Tf=10; m=Tf/h; for i=1:m
x=x+h*(a*x+b*u);
5
t=[t,t(i)+h]; y=[y,c*x]; end
plot(t,y); grid
2,二阶龙格-库塔法仿真(还有一个例题见试卷,注意次仿真方法的表达式不唯一,注意看清题目)
y(k+1)=y(k)+h/2*(k1+k2),k1=f(t(k),y(k)),k2=f(t(k)+h,y(k)+hk1) 例题:a=[-14,9,10;12,-9,10;24,-24,-18]; b=[2.8;4;12]; c=[1,1,1]; x=[0;0;0];Tf=10; h=0.01; u=100;t=0;m=Tf/h; y=0; for i=1:m k1=a*x+b*u; k2=a*(x+h*k1)+b*u; x=x+h*(k1+k2)/2; y=[y,c*x]; t=[t,t(i)+h]; end
plot(t,y); Grid
3,四阶龙格-库塔法仿真
a=[-14,9,10;12,-9,10;24,-24,-18]; b=[2.8;4;12];c=[1,1,1];d=0; x=[0;0;0];tf=10;h=0.01;t=0; u=100;m=tf/h;y=0; for i=1:m k1=a*x+b*u;
k2=a*(x+h*k1/2)+b*u; k3=a*(x+h*k2/2)+b*u; k4=a*(x+h*k3)+b*u;
x=x+h*(k1+2*k2+2*k3+k4)/6; y=[y,c*x]; t=[t,t(i)+h]; end
plot(t,y); grid
6
六,可控标准型的状态空间参数
3s2?2已知传递函数为:G(s)?,编写程序求其可控标准型的状态空
4323s?5s?2s?1间参数A,B,C,D。 >> a=[3 0 2];
>> b=[3 5 2 1]; (分子和分母的输入) >> b=b/a(1);a=a/a(1); >> n=length(a)-1; >> A=a(2:n+1);
>> A=[rot90(rot90(eye(n-1,n)));-fliplr(A)] >> B=[zeros(1,n-1),1]' >> m1=length(b);
>> C=[fliplr(b),zeros(1,n-m1)]
七,面向数字结构图的数字仿真
1..典型闭环系统仿真实现
1.输入数据
a=[a0,a1,…,an]; b=[b0,b1,…,bm]; X=[0,0,…,0]’;(n-1个) V=v0; T0=0;Tf=10; h=0.01; R=r; y=0;t=T0;
2.闭环系数矩阵
b=b/a(1);a=a/a(1); n=length(a)-1; A=a(2:n+1);
A=[rot90(rot90(eye(n-1,n))); -fliplr(A)];
B=[zeros(1,n-1),1]’; m1=length(b);
7
C=[fliplr(b),zeros(1,n-m1)]; Ab=A-B*C*V;
3.运用四阶龙格-库塔公式求解 N=round((Tf-T0)/h); for i=1:N
k1=Ab*X+B*R;
k2=Ab*(X+h*k1/2)+B*R; k3=Ab*(X+h*k2/2)+B*R; k4=Ab*(X+h*k3)+B*R;
X=X+h*(k1+2*k2+2*k3+k4)/6; y=[y,C*X]; t=[t,t(i)+h]; end
plot(t,y);
grid
2.,复杂联接的闭环系统数字仿真
例 已知系统结构图如下图所示,写出系统联结矩阵和输入联结矩阵。wo,wc,w.
8
注意:方框中每个都为传递函数,而不是数值 还有一个例题见试卷最后一题。
八,系统校正
1,某系统开环传函如右,求它的幅值裕量和相位裕量,并求闭环阶跃响应。 num=3.5;den=[1 2 3 2]; G=tf(num,den); bode(G);grid;
[Gm,Pm,Wcg,Wcp]=margin(G) G_close=feedback(G,1); step(G_close)
2,已知系统开环传递函数如下,绘出伯德图,并讨论其稳定性 >> k=1.5;num=1; den=poly([0,-1,-2]); w=logspace(-1,1,100); [m,p]=bode(k*num,den,w); subplot(2,1,1);
semilogx(w,20*log10(m)); grid;
ylabel('增益(dB)');
9
subplot(2,1,2); semilogx(w,p); grid;
xlabel('频率(rad/s)'); ylabel('相角(deg)');
3,超前校正
k0=1000;要求43 做原系统的Bode图与阶跃响应曲线,检查是否满足题目要求 k0=1000; num=1; den=conv(conv([1,0],[0.1,1]),[0.001,1]); figure(1); margin (k0*num,den);hold on figure(2);s1=tf(k0*num,den); sys=feedback(s1,1);step(sys);hold on 求超前校正器的传递函数 >> k0=1000;num=1; den=conv(conv([1,0],[0.1,1]),[0.001,1]); g0=tf(k0*num,den); [m,p,w]=bode(g0); [gm0,pm0,wcg0,wcp0]=margin(g0); r=45; gama=r-pm0+5; gama=gama*pi/180; a=(1+sin(gama))/(1-sin(gama)); wc=spline(m,w,1/sqrt(a)); T=1/(wc*sqrt(a)); gc=tf([a*T,1],[T,1]) 校验系统校正后是否满足题目要求。 >> g=g0*gc; >> figure(1); >> margin(g); 计算系统校正后阶跃响应曲线和性能指标。 >> sys=feedback(g,1); >> figure(3); >> step(sys); 4,滞后校正 k0=30;r>40;wc>2.3 10 做原系统的Bode图与阶跃响应曲线,检查是否满足题目要求 >> k0=30;n1=1; >> d1=conv(conv([1,0],[0.1,1]),[0.2,1]); >> s1=tf(k0*n1,d1); >> figure(1);margin(s1);hold on >> figure(2);sys=feedback(s1,1);step(sys) 滞后校正器的传递函数。根据题目要求,wc>2.3 >> wc=2.3; >> na=polyval(k0*n1,j*wc); >> da=polyval(d1,j*wc); >> g=abs(na/da); >> T=1/(0.1*wc); >> bt=g*T; >> Gc=tf([T,1],[bt,1]) 校验系统校正后是否满足题目要求。 >> s1=tf(k0*n1,d1); >> s=s1*Gc; >> sys=feedback(s,1); >> step(sys); 方法二(运用给定的r=40) >> k=30;num=1; den=conv(conv([1,0],[0.1,1]),[0.2,1]); g0=tf(k*num,den); figure(1);margin(g0);hold on [m0,p0,wcg0,wcp0]=margin(g0); [m,p,w]=bode(g0); r=40; gama=-180+r+10; wc=spline(p,w,gama); b=spline(p,m,gama); t=10/wc; gc=tf([t,1],[b*t,1]); g=g0*gc; figure(1);margin(g); 5.滞后-超前校正 k0=10;r>45;wc>1.5 做原系统的Bode图与阶跃响应曲线,检查是否满足题目要求。 >> k0=20;num=1; >> den=conv(conv([1,0],[1,1]),[1,2]); 11 >> g0=tf(k0*n1,d1); >> [mag,phase,w]=bode(g0); >> figure(1);margin(g0); hold on >> figure(2);sys=feedback(g0,1);step(sys) 求滞后校正器的传递函数 >> wc=1.5;beta=9.5;T=1/(0.1*wc);(bata一般取10或9.5) >> betat=beta*T;Gc1=tf([T,1],[betat,1]) 求超前校正器的传递函数 sope=g0*Gc1; gama=45;(r的取值) gamal=gama+5; gam=gamal*pi/180; alfa=(1-sin(gam))/(1+sin(gam)); wc=1.5; T=1/(wc*sqrt(alfa)); alfat=alfa*T; Gc=tf([T,1],[alfat,1]) 校验系统校正后是否满足题目要求 s=g0*Gc1*Gc; margin(s); 作出系统校正后阶跃响应曲线 sys=feedback(s,1); >> step(sys) 方法2 >> k=20;num=1; >> den=conv(conv([1,0],[1,1]),[1,2]); >> g0=tf(k*num,den); >> figure(1);margin(g0); hold on >> figure(2);sys=feedback(g0,1); >> step(sys); >> [m0,p0,wcg0,wcp0]=margin(g0); >> wc=wcg0; >> t2=10/wc; >> b=10;(b取10或9.5) >> t1=b*m0/wc; >> gc1=tf([t1,1],[t1/b,1]); >> gc2=tf([t2,1],[b*t2,1]); >> gc=gc1*gc2; >> g=g0*gc; >> figure(1);margin(g); >> sys=feedback(g,1); >> figure(3);step(sys); 其外还有一个滞后-超前校正的例题见试题 12 13
正在阅读:
仿真复习资料06-27
海洋大道新建工程静力爆破施工方案04-10
B2C电商平台的设计与实现本科生毕业论文 - 图文06-14
关于xx公司财务管理过程中问题的调查报告05-30
2022物业保安转正个人工作总结范文03-24
中共泉州市住房公积金管理中心总支2010年第一季度政治理论学习...08-08
学生管理信息系统可行性分析报告07-17
PAC2000技术说明书 - 图文01-11
小学生三年级夏天的雨作文400字06-12
微生物实验10-19
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 复习资料
- 仿真
- 扬子地板终端管理培训手册1
- 统计习题
- 哈尔滨市城市社会救助工作方案(哈政办综〔2004〕25号)
- 合作协调能力-00
- 八年级数学下册16.1分式及其基本性质分式的基本性质“四注意”素
- C语言题目及解答
- 全邮政工作会议上的讲话
- 最高法院肖峰:民事诉讼法司法解释条文解读
- 2010年造价员考试真题(计量与计价实务)
- XXXX科室核算和绩效考核
- 2013年公司级绩效考核方案
- AU480标准操作文件
- 关于网络平台入住细则
- 政治-河北省唐山市2016-2017学年高一上学期期末考试试题
- 住院医师规范化培训实施方案
- 2014年浙江省二级建造师(建筑主项)网络教育考题答案
- LoadRunner自动化测试工具的应用(讲稿)
- 白菜知识介绍
- 城市表层土壤重金属污染分析法
- 公示——广东省高水平大学重点建设项目——广工机械学科