MATLAB大作业

发布 2020-02-25 07:44:28 阅读 7551

**图形。

第二部分控制系统**。

1. 已知单位反馈系统的开环传函。

程序: ex_2

已知单位反馈系统的开环传函 g(s)=10(s+1)/

运用龙格-库塔法。

function ex_2

clc清屏。

clear清除缓存。

r = 1 ;

num0 = conv( [0,10] ,1,1] )

den0 = conv( [1,0] ,conv( [1,0.1] ,conv( [1,10] ,1,20] )

num1 = 1 ;

den1 = 1 ;

num , den ] feedback( num0 , den0 , num1 , den1 )

a , b , c , d ] tf2ss( num , den )

tf = input('**时间(建议输入100) tf= '

h = input('计算步长(建议输入0.1) h= '

x = zeros(length(a),1) ;

y = 0 ;

t = 0 ;

for i = 1 : tf/h

k1 = a*x + b*r ;

k2 = a*( x + h*k1/2 ) b*r ;

k3 = a*( x + h*k2/2 ) b*r ;

k4 = a*( x + h*k3 ) b*r ;

x = x + h*( k1 + 2*k2 + 2*k3 + k4 )/6 ;

y = y ; c*x ]

t = t ; t(i) +h ]

endplot( t , y ,'r')

xlabel( '**时间 t '

ylabel( '动态响应 y '

title('龙格-库塔法')

legend('g(s)=10(s+1)/'1图例。

**图像:**时间(建议输入100tf= 100

计算步长(建议输入0.1h= 0.1

第三部分古典控制系统综合部分(编写m文件实现要求的功能)

4.已知单位负反馈系统的开环传递函数,试用频率法设计串联滞后校正装置使系统的速度误差系数,相位裕度为,剪切频率。

程序: ex_3

已知单位负反馈系统的开环传递函数 g(s)=6/ ,试用频率法设计串联滞后校正装置使系统的速度误差系数 kv>=1, 相位裕度为 r=40+-2 ,剪切频率(穿越频率) w=0.09+-0.01rad/s 。

截止频率(wc):用来描述系统频率特性的一个指标,也称剪切频率。

其定义为幅频穿越0db处的频率,截止频率对应的相频曲线上的相位反映了系统的相对稳定性。

相位裕度定义为截止频率(wc)对应的相位+180°,相位裕度大于0表示系统稳定,小于0系统不稳定。

在截止频率wc处,有幅频特性a(wc)=1。

穿越频率(wx):设wx为系统的穿越频率(也就是相频穿越-180°时的频率),则系统在wx处的相角为(2k+1)π;k=0,+-1,……

function ex_3

clc清屏。

clear清除缓存。

a = j*sqrt(2);

num0 = 6;

den0 = conv( [1,0 ] conv( [1,2-a ] 1,2+a ] 定义未矫正系统。

gm1,pm1,wcg1,wcp1 ] margin(num0,den0); 未矫正系统的幅值裕量、相位裕量。

r = 40r0 = pm1系统希望的相位裕量 r 和未校正系统的相位裕量。

w = logspace( -3,3确定频率变化范围。

mag1,phase1 ] bode( num0,den0,w未校正系统的赋值和相位。

for epsilon = 48 : 80定义附加相位角e的变化范围。

r0=(-180+r+epsilon

[i1,ii]=min(abs(phase1-r0

wc=w(ii); 将未校正系统的相位角等于(-180+r+e)时的频率作为校正后系统的w

alpha=mag1(ii校正装置的参数a

t=0.526/wc校正装置的参数t

numc=[t,1];denc=[alpha*t,1校正装置的传递函数。

num,den]=series(num0,den0,numc,denc) %系统矫正装置的幅值裕量和相位裕量。

gm,pm,wcg,wcp]=margin(num,den); 判别系统校正后的相位裕量是否满足要求。

if(pm>=r);break;end;

enddisp('串联超前校正装置传递函数为');

printsys( num0,den0显示矫正装置的传递函数。

disp('校正后传递函数为。

printsys( num,den显示矫正后的传递函数。

mag2,phase2 ] bode( numc,denc,w矫正装置的幅值和相位。

mag,phase ] bode( num,den,w矫正后的幅值和相位。

subplot( 2,1,1将图分成两部分。

semilogx(w,20*log10(mag),'r',w,20*log10(mag1),'c',w,20*log10(mag2),'b', w,(w-0-w),'k')

legend('校正后装置','校正前装置','校正装置',1图例。

grid;

ylabel('幅值(db)')

title( [幅值裕量=',num2str(20*log10(gm)) db)' 剪切频率=' num2str(wcp) ,rad/s']

subplot(2,1,2);

semilogx( w,phase,'-r', w , phase1,'-c',

w,phase2,'-b', w,(w-180-w),'k' )

legend('校正后装置','校正前装置','校正装置',1图例。

gridxlabel('频率(rad/secylabel('相位(°)

title( [相位裕量 = num2str(pm),'

穿越频率 = num2str(wcg) ,rad/s']

disp( [相位裕量 = num2str(pm1),'

剪切频率 = num2str(wcp1) ,rad/s']

disp( [相位裕量 = num2str(pm),'剪切频率 = num2str(wcp) ,rad/s']

s= allmargin(tf(num,den))

**图像: %为方便观察已将线加粗 2.7

第四部分现代控制部分。

程序:ex_4

已知系统的状态空间表达式为 x = 1 -1 -2 ] x + 0 ]

y = 1 1 0 ] x

编程判断系统是否能控,若能控,求它的能控标准型,输出能控标准型(能控1型和能控2型)。

function ex_4

clc清屏。

clear清除缓存

a = 0 , 2 , 2 ; 1 , 1 , 2 ; 2 , 2 ,1 ]

b = 2 ; 0 ; 1 ];

c = 1 1 0 ]

d=[0];

sys=ss( a , b , c , d转换为状态空间。

n = length(a) ;

qc = ctrb( a , b能控性判别。

qo = obsv( a , c能观性判别。

if( rank(qc) =n )

if( rank(qo) =n )

matlab大作业

matlab语言及应用。周一晚作业廖育州07010559 第一组程序。绘制选用潍柴发动机wd615.50时汽车行驶性能曲线图,ft ua图clear,clc 清除内存变量,清屏 n为发动机的转速。n 1000,1100,1200,1300,1400,1500,1600,1700,1800,1900,...

MATLAB大作业

实验七图像的形态 算。一 实验目的。1.掌握图像的奇异值分解与合成。2.能够利用模板操作实现图像的腐蚀运算3.能够利用模板操作实现图像的膨胀运算4.掌握图像的开 闭运算。二 实验内容。1.读下面的程序,分析该程序要完成什么样的功能。a 1 2 1 2 3 2 1 2 1 u d v svd a nx...

MATLAB大作业

1.设计一个程序,要求用户用键盘输入10次,输入内容可以是数字 英文 汉字 或者其他文字或者符号。如果输入的是数字,则把存入一个数字数组当中 如果输入的是英文的字符,则存入一个英文字符数组当中 如果是其他字符,则存入一个字符串数组中。当10次内容都输入完毕后,先输出英文数组中的内容,然后输出字符串数...