matlab大作业

发布 2020-02-25 08:39:28 阅读 9344

《matlab基础与控制系统cad》**作业。

学生学号: 0910200246 学生姓名: 杨彬彬

一、 求如下非线性二阶系统的时间响应(20分)

其中,要求绘出的系统状态响应曲线。

解:源程序。

function dx=f(t,x)

dx=[-x(1)*exp(1-t)+0.8*x(2);x(1)-x(2)^3]; 微分方程。

保存为f文件名;

x0=[0;2]; x1,x2的初始状态。

t,y]=ode45('f',[0,3],x0); 微分方程求解。

plot(t,y);

grid on

二、 已知系统的开环传递函数如下 (20分)

1) 把g(s)转换成零极点形式的传递函数,判断开环系统稳定性。

2) 判别系统在单位负反馈下的稳定性,并求出闭环系统在0~10秒内的脉冲响应和单位阶跃响应,分别绘出响应曲线。

解:(1)m文件。

num=10;

den=[1 5 25];

z,p,k]=tf2zp(num,den)

z =empty matrix: 0-by-1

p =-2.5000 + 4.3301i

-2.5000 - 4.3301ik =

把g(s)转换成零极点形式的传递函数。

10/((s+2.5-4.33i)(s+2.5+4.33i));

特征方程的根,均有负实部,开环系统稳定。

2)m文件。

p1=[1 5 35];

r=roots(p1) %求极点。

r =-2.5000 + 5.3619i

-2.5000 - 5.3619i

特征方程的根,均有负实部,闭环系统稳定。

绘出响应曲线:

sys=tf([10],[1 5 35]);

impulse(sys,10); 脉冲响应。

grid on

figure;

step(sys,10); 阶跃响应。

grid on

脉冲响应。单位阶跃响应。

三、 某单位负反馈系统如下图所示,(20分)

1) 当比例控制器增益k=1时,在simulink中搭建系统,当输入为阶跃函数时,用示波器观察系统的输出,绘出输出曲线。

2) 把(1)中的对象输出和时钟输出输入workspace中,通过在命令窗口中执行m文件求出系统在阶跃输入下的超调量()和峰值时间(),写出源程序。

3) 调节控制器增益,使超调量且稳态误差,给出此时k值的范围。

解:(1)在simulink中搭建系统。

用示波器观察曲线。

2)把(1)中的对象输出和时钟输出输入workspace中。

p=max(yout);

q=yout(length(yout));

sigma=(p-q)/q

i=1;while yout(i) i=i+1;

endtp=tout(i)

sigma =

tp =

超调量11.49%,峰值时间0.7839。

matlab直接编程:

num=[10];

den=[1 5 20];

step(num,den);

grid on

y,x,t]=step(num,den);%求响应的稳态值。

finalvalue=dcgain(num,den);%求响应的峰值及对应下标。

yss,n]=max(y);%求响应的超调量和峰值时间。

sigma=(yss-finalvalue)/finalvalue

tp=t(n)

sigma =

tp =

超调量12.02%,峰值时间0.8393。

syms r y e k phi g s;

g=k*10/(s^2+5*s+10);

phi=******(g/(1+g));传递函数

y=r*phi;

n,d]=numden(r-y);

e=n/d;

e=subs(e,[r],[1/s]);r为单位阶跃响应,即r=1/s

ess=limit(s*e,s,0) %稳态误差ess

得到稳态误差 ess=1/(1*k+1)

k]=solve('1/(k + 1)=0.2',[k]) 求出ess=0.2时增益k的值。

得到增益 k=4

k=4; sigma=0; %增益k和超调量sigma的初始值,while sigma<32 %当超调量sigma<32循环执行。

num=[10*k];

den=[1 5 10+10*k];

y,x,t]=step(num,den);

%求响应的稳态值。

finalvalue=dcgain(num,den);

%求响应的峰值及对应的小标。

[yss,n]=max(y);

%求超调量。

sigma=100*(yss-finalvalue)/finalvalue;

k=k+0.0001;

endk %当超调量sigma=32时增益k的值。

得到增益 k=4.3938

分析:此题分成两个部分求解,前半部分通过符号运算,计算出带有符号k的稳态误差ess,再求解这个表达式得到ess=0.2时的增益k;后半部分通过枚举的方法,用一个循环语句求解的增益k,这里通过k=k+0.

0001设置精度。最后球得,使超调量且稳态误差,此时k值的范围是4

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次内容都输入完毕后,先输出英文数组中的内容,然后输出字符串数...