matlab作业

发布 2022-09-20 19:15:28 阅读 3347

第一部分判别系统稳定性的方法。

方法一:代数稳定判据法。

如已知系统的单位负反馈系统开环传递函数为,下面用代数稳定判据法判别其稳定性。

在matlab中输入以下程序:

n1=[1 7 24 24];

d1=[1 10 35 50 24];

g=tf(n1,d1);

g1=feedback(g,1);

roots(

执行以上程序得到如下结果:ans=

2.0000+1.4142i

2.0000-1.4142i

所以由于系统闭环极点全部为负实部,因此系统稳定。

法方二:根轨迹法。

假设系统的单位负反馈开环传递函数为,下面用根轨迹法判别其稳定性。

在matlab中输入以下程序:

k=1;z=[5;-4];

p=[0;-1;-3];

g=zpk(z,p,k);

rlocus(g)

g1=feedback(g,1);

step(g1)

方法三:bode图法。

设系统单位负反馈系统前向通道的传递函数为:,下面用频域法判别其稳定性。

在matlab中输入以下程序:

num=8*[1 1];

den=conv(conv(conv([1 0],[1 0]),1 15]),1 6 10]);

sys=tf(num,den);

bode(sys)

margin(sys)

gm pm wcp wcg]=margin(sys)

法方四:nyquist稳定判据法。

设系统单位负反馈系统前向通道的传递函数为:,下面用nyquist曲线法判别系统的稳定性。

在matlab中输入以下程序:

g=tf(5*[1 2],conv([1 10],[1 3 2 5]))

roots(

执行以上程序由得到的结果可知,开环传递函数在右半s平面的极点个数p=0.

nyquist(g)

执行此命令可得到nyquist曲线如下图,由图可以看出,nyquist曲线包围临界点的圈数r=0。所以 z=p-r=0,系统稳定。

hf=figure('name','曲柄滑块机构');

set(hf,'color','g');

hold on

axis([-6,6,-4,4]);

gridon

axis('off');

xa0=-5;%活塞左顶点坐标。

xa1=-2.5;%活塞右顶点坐标。

xb0=-2.5;%连杆左顶点坐标。

xb1=2.2;%连杆右顶点坐标。

x3=3.5;%转轮坐标。

y3=0;%转轮坐标。

x4=xb1;%设置连杆头的初始位置横坐标。

y4=0;%设置连杆头的初始位置纵坐标。

x5=xa1;

y5=0;x6=x3;%设置连轴初始横坐标。

y6=0;%设置连轴初始纵坐标。

a=0.7;

b=0.7c=0.7

a1=line([xa0;xa1],[0;0],'color','b','linestyle','linewidth',40); 设置活塞。

a3=line(x3,y3,'color',[0.5 0.6 0.3],'linestyle','markersize',300);%设置转轮。

a2=line([xb0;xb1],[0;0],'color','black','linewidth',10);%设置连杆。

a5=line(x5,y5,'color','black','linestyle','markersize',40);%设置连杆活塞连接头。

a4=line(x4,y4,'color','black','linestyle','markersize',50);%设置连杆连接头。

a6=line([xb1;x3],[0;0],'color','black','linestyle','linewidth',10);

a7=line(x3,0,'color','black','linestyle','markersize',50);%设置运动中心。

a8=line([-5.1;-0.2],[0.7;0.7],'color','y','linestyle','linewidth',5);%设置汽缸壁。

a9=line([-5.1;-0.2],[0.72;-0.72],'color','y','linestyle','linewidth',5);%设置汽缸壁。

a10=line([-5.1;-5.1],[0.8;0.75],'color','y','linestyle','linewidth',5);%设置汽缸壁。

a11=fill([-5,-5,-5,-5],[0.61,0.61,-0.61,-0.61],[a,b,c]);设置汽缸气体。

len1=4.8;%连杆长。

len2=2.5;%活塞长。

r=1.3;%运动半径。

dt=0.015*pi;

t=0;while 1

t=t+dt;

if t>2*pi

t=0;end

lena1=sqrt((len1)^2-(r*sin(t))^2);%连杆在运动过程中横轴上的有效长度。

rr1=r*cos(t);%半径在运动过程中横轴上的有效长度。

xaa1=x3-sqrt(len1^2-(sin(t)*r)^2)-(r*cos(t));活塞在运动过程中的右顶点坐标位置。

xaa0=xaa1-2.5;%%活塞在运动过程中的左顶点坐标位置。

x55=x3-cos(t)*r;%连杆在运动过程中横坐标位置。

y55=y3-sin(t)*r;%连杆在运动过程中纵坐标位置。

set(a4,'xdata',x55,'ydata',y55);%设置连杆顶点运动。

set(a1,'xdata',[xaa1-2.5;xaa1],'ydata',[0;0]);设置活塞运动。

set(a2,'xdata',[xaa1;x55],'ydata',[0;y55]);

set(a5,'xdata',xaa1);%设置活塞与连杆连接头的运动。

set(a6,'xdata',[x55;x3],'ydata',[y55;0]);

set(a11,'xdata',[5,xaa0,xaa0,-5]);设置气体的填充。

set(gcf,'doublebuffer','on');消除震动。

drawnow;

end输出为:

第三部分学习体会。

经过短短的十周对matlab的学习,我开始对这门课程以及这个是用的软件有了一个初步的认识。

我们在画一个系统结构框图时,通过运用软件里的simulink工具,很快捷的找到所需要的模块以及各种连接符号。而且模块的函数参数很方便的修改成我们所希望的数字,然后,可以通过虚拟的示波器很快的得到输出曲线,从而可以判别系统稳定与否。

当然,还可以通过编写程序,求出系统的传递函数,通过根轨迹法、bode图法等函数功能来判别系统的稳定性。

最后,经过大实验的认真思考与实践,使我更加熟练地掌握了这个软件,这是一个非常有用且方便的软件,给我们的学习与生活打来很大的方便。经过这学期对matlab的学习,为我今后更深一步的学习它奠定了良好的基础,因此,我将会在今后的学习中继续不断巩固与更深刻的学习它。

matlab作业

2011029170002王柳。a 一个问题的病态性如何,与求解它的算法有关系。错 b 无论问题是否病态,好的算法都会得到它好的近似解。错 c 计算中使用更高的精度,可以改善问题的病态性。错 d 用一个稳定的算法计算一个良态问题,一定会得到它好的近似解。对 e 浮点数在整个数轴上是均匀分布。错 f ...

matlab作业

matlab语言 第3次作业 字符串,单元数组和结构体 专业 海洋技术 海洋测绘方向 姓名 张体强学号 1026222 1 如何将一个char 数据类型的向量转化为相应的double 型数据类型的数据向量。从式1 到8,判断这些语句是否正确。如果它们正确,那么将产生什么结果?这题不要在电脑中做。1....

matlab作业

电子与通信工程学院。通信系统 实验报告。2013 2014 学年第1学期。调频 fm 系统调制解调 专业 通信工程。班级 通信111 班。学号 姓名 指导教师姓名陈多瑜。2013年 11 月日。1.频率调制或调频 fm 1 设调制信号为m t 调频信号的数学表达式为。例如 m t 的时域波形为。m ...