⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 block.m

📁 基于MATLAB的辅助设计 简述了矩阵分析的重要性
💻 M
字号:
%
% BLOCK is a m-file which generate the input menu for
% building superblocks.

%    Author:  Ole Barup Sorensen, Rapid Data Ltd 

%    Copyright (c) 1989-94 by Rapid Data Ltd
%    Revision 10:36  07/02/94

okflag=figflag('G(s) as a super block',0);

if okflag==0,
x=15;
y=35;
Sx=330;
Sy=250;
Fig4=figure('Numbertitle','off','Name','G(s) as a super block','Menubar','none',...
'Units','normal','Position',[(150)/Scx (150)/Scy (320)/Scx (250)/Scy],'Nextplot',...
'new','Resize','off','Color',[0.5 0.5 0.5]);

Patstr='1';Pat=1;
nodistr='';nodi=[];
nodostr='';nodo=[];
snstr='';
enstr='';
rec(1,1:2) = [1 1];

Han_b(1)=uicontrol(Fig4,'Style','frame','Position',[(x)/Sx (y+130)/Sy (295)/Sx (60)/Sy]);
Han_b(2)=uicontrol(Fig4,'Style','Text','String','Enter input and output node for G(s): ','Position',...
[(x+15)/Sx (y+165)/Sy (265)/Sx (18)/Sy]);
Han_b(3)=uicontrol(Fig4,'Style','Text','String','Input node: ','Position',...
[(x+15)/Sx (y+135)/Sy (85)/Sx (18)/Sy]);
Han_b(4)=uicontrol(Fig4,'Style','Edit','Position',...
[(x+100)/Sx (y+135)/Sy (25)/Sx (18)/Sy],'Backgroundcolor',[1 1 1],'Callback',...
'nodistr=get(Han_b(4),''String'');nodi=str2num(nodistr);');
Han_b(5)=uicontrol(Fig4,'Style','Text','String','Output node: ','Position',...
[(x+155)/Sx (y+135)/Sy (85)/Sx (18)/Sy]);
Han_b(6)=uicontrol(Fig4,'Style','Edit','Position',...
[(x+245)/Sx (y+135)/Sy (25)/Sx (18)/Sy],'Backgroundcolor',[1 1 1],'Callback',...
'nodostr=get(Han_b(6),''String'');nodo=str2num(nodostr);');

Han_b(7)=uicontrol(Fig4,'Style','frame','Position',[(x)/Sx (y)/Sy (295)/Sx (125)/Sy]); 
Han_b(8)=uicontrol(Fig4,'Style','Text','String','Start node: ','Position',...
[(x+35)/Sx (y+40)/Sy (70)/Sx (20)/Sy]);
Han_b(9)=uicontrol(Fig4,'Style','Edit','Position',...
[(x+55)/Sx (y+20)/Sy (25)/Sx (20)/Sy],'Backgroundcolor',[1 1 1],'Callback',...
'snstr=get(Han_b(9),''String'');rec(Pat,1)=str2num(snstr);');
Han_b(10)=uicontrol(Fig4,'Style','Text','String','End node: ','Position',...
[(x+195)/Sx (y+40)/Sy (70)/Sx (20)/Sy]);
Han_b(11)=uicontrol(Fig4,'Style','Edit','Position',...
[(x+205)/Sx (y+20)/Sy (25)/Sx (20)/Sy],'Backgroundcolor',[1 1 1],'Callback',...
'enstr=get(Han_b(11),''String'');rec(Pat,2)=str2num(enstr);');
Han_b(12)=uicontrol(Fig4,'Style','Text','String','Path nr.: ','Position',...
[(x+35)/Sx (y+80)/Sy (70)/Sx (20)/Sy]);
Han_b(13)=uicontrol(Fig4,'Style','Text','String',Patstr,'Position',...
[(x+90)/Sx (y+80)/Sy (25)/Sx (20)/Sy]);
set([Han_b(2:13)],'Foregroundcolor',[0 0 0],'HorizontalAlignment','left');
Han_b(14)=uicontrol(Fig4,'Style','push','String','Sub-G(s)','Position',...
[(x+110)/Sx (y+18)/Sy (75)/Sx (25)/Sy],'Callback',...
['tit=''G(s)'';G_num=[1];G_den=[1];inpblock;']);
Han_b(15)=uicontrol(Fig4,'Style','push','String','Next path>>','Position',...
[(x+150)/Sx (y+80)/Sy (100)/Sx (20)/Sy],'Callback',...
['if Pat == 1,',...
'  [a,b,c,d] = tf2ss(G_num,G_den);',...
'else,',...
'  [am1,bm1,cm1,dm1] = tf2ss(G_num,G_den);',...
'  [a,b,c,d] = append(a,b,c,d,am1,bm1,cm1,dm1);',...
'end;',...
'Pat=Pat+1;patstr=num2str(Pat);set(Han_b(13),''String'',patstr);',...
'set([Han_b(9),Han_b(11)],''String'','''');']);

Han_b(16)=uicontrol(Fig4,'Style','push','String','Done','Position',...
[(x)/Sx (y-25)/Sy (80)/Sx (20)/Sy],'Callback',...
['if Pat == 1,',...
'  [a,b,c,d] = tf2ss(G_num,G_den);',...
'else,',...
'  [am1,bm1,cm1,dm1] = tf2ss(G_num,G_den);',...
'  [a,b,c,d] = append(a,b,c,d,am1,bm1,cm1,dm1);',...
'end;',...
'[G_num,G_den]=blk2tf(a,b,c,d,rec,nodi,nodo);',...
'close(Fig4);clear Fig4 Han_b;']);

Han_b(17)=uicontrol(Fig4,'Style','push','String','Cancel','Position',...
[(x+90)/Sx (y-25)/Sy (80)/Sx (20)/Sy],'Callback',['G_num=1;G_den=1;',...
'close(Fig4);clear Fig4 Han_b;']);
end
clear okflag

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -