1.完整项目描述和程序获取
>面包多安全交易平台:https://mbd.pub/o/bread/ZJqWl5px
>如果链接失效,可以直接打开本站店铺搜索相关店铺:
>如果链接失效,程序调试报错或者项目合作也可以加微信或者QQ联系。
2.部分仿真图预览
3.算法概述
在控制系统分析和设计过程中,传递函数是一个重要的概念。通过传递函数,我们可以快速地分析系统的稳定性、响应特性等。同时,根据系统传递函数自动绘制系统结构图是一项非常有价值的技术,它可以帮助工程师更好地理解和设计复杂的控制系统。本文将详细介绍根据给定系统传递函数自动绘制系统结构图的方法,包括直接型、级联型以及并联型。我们将首先介绍传递函数的基本概念,然后分别讨论直接型、级联型和并联型系统结构图的绘制方法,最后对比本文提出的自动绘制算法与其他相关算法的优缺点。
4.部分源码
if option2==2
axes(handles.axes2);
[xy1]=func_s1(a1,n1,0,1,option1);
hold on
[xy2]=func_s2(a2,b2,n2,xy1(end,1)-2,1,option1);
hold on
[xy3]=func_s3(a3,b3,n3,xy2(end,1)-2,1,option1);
hold on
[xend,I1] = max([xy1(end,1),xy2(end,1),xy3(end,1)]);
[yend,I2] = min([xy1(end,2),xy2(end,2),xy3(end,2)]);
xlim([1,xend+1]);
ylim([0,2]);
[x0,y0]=func_block(0,0);
[x0a,y0a]=func_block(2,0);
[x0b,y0b]=func_block(4,0);
if option1 == 1
text(x0(1)-0.1,1.1,['F(s)']);
text(xend,1.1,['Y(s)']);
else
text(x0(1)-0.1,1.1,['F(z)']);
text(xend,1.1,['Y(z)']);
end
%对应的系统框图%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
axes(handles.axes1);
[x0,y0]=func_block(0,0);
hold on
quiver(x0(1)-1,mean(y0),1,0,'r','filled','LineWidth',2);
hold on
quiver(x0(2),mean(y0),1,0,'r','filled','LineWidth',2);
hold on
if option1 == 1
text(mean(x0)*0.9,mean(y0),[num2str(a1),'/','s^',num2str(n1)]);
else
text(mean(x0)*0.9,mean(y0),[num2str(a1),'/','z^',num2str(n1)]);
end
[x0a,y0a]=func_block(2,0);
hold on
quiver(x0a(2),mean(y0a),1,0,'r','filled','LineWidth',2);
hold on
if option1 == 1
text(mean(x0a)*0.9,mean(y0a),[num2str(a2),'/','(s^',num2str(n2),'+',num2str(b2),')']);
else
text(mean(x0a)*0.9,mean(y0a),[num2str(a2),'/','(z^',num2str(n2),'+',num2str(b2),')']);
end
[x0b,y0b]=func_block(4,0);
hold on
quiver(x0b(2),mean(y0b),1,0,'r','filled','LineWidth',2);
hold on
if option1 == 1
text(mean(x0b)*0.925,mean(y0b),[num2str(a3),'/','(s+',num2str(b3),')^',num2str(n3)]);
text(x0(1)-1,1.05*mean(y0),['F(s)']);
text(x0b(2)+0.7,1.05*mean(y0),['Y(s)']);
else
text(mean(x0b)*0.925,mean(y0b),[num2str(a3),'/','(z+',num2str(b3),')^',num2str(n3)]);
text(x0(1)-1,1.05*mean(y0),['F(z)']);
text(x0b(2)+0.7,1.05*mean(y0),['Y(z)']);
end
xmaxx = max([x0(2),x0a(2),x0b(2)]);
xminx = min([x0(1),x0a(1),x0b(1)]);
ymaxx = max([y0(2),y0a(2),y0b(2)]);
yminx = min([y0(1),y0a(1),y0b(1)]);
axis([xminx-2,xmaxx+2,yminx-1,ymaxx+1]);
end
08_084_m