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

📄 snsbtns.m

📁 信号实验常用的simulink模型和mfile,可直接在matlan下运行。
💻 M
字号:
function hndlMatrix=snsbtns(figNumber);
% SNSBTNS To Initialize all the uicontrol objects in the snsmap screen
%         - pushbuttons, popupmenus

% Initialization infomation for all pushbuttons
btnColor=[192 192 192]/255;
btnTextColor=[0 0 0];
btnTextSize=9;

%=====================================
% Snsmap Main Window 
%=====================================

%=====================================
% Part 0 - Welcome info 
% setup constants
% units: normalized
pxBtnHt=0.06;
pxBtnWid=0.2;
pxGap=0.025;
xRef=0.13;
yRef=0.42;

buttonCallbackStr='snsmap(''aboutmain'');';
mainHndl(1)=uicontrol(figNumber, ...
   'Style','pushbutton', ...
   'Units','normalized', ...
   'Position',[xRef yRef-pxBtnHt pxBtnWid pxBtnHt], ...
   'BackgroundColor',btnColor, ...
   'ForegroundColor',btnTextColor, ...
   'String','关于教学系统', ...
   'Visible','off', ...
   'Callback',buttonCallbackStr);

mainHndl(2)=uicontrol(figNumber, ...
   'Style','pushbutton', ...
   'Units','normalized', ...
   'Position',[xRef yRef-pxBtnHt-(pxBtnHt+pxGap) pxBtnWid pxBtnHt], ...
   'BackgroundColor',btnColor, ...
   'ForegroundColor',btnTextColor, ...
   'String','教学系统入门', ...
   'Visible','off', ...
   'Callback','snsmap(''help'');');

mainHndl(3)=uicontrol(figNumber, ...
   'Style','pushbutton', ...
   'Units','normalized', ...
   'Position',[xRef yRef-pxBtnHt-2*(pxBtnHt+pxGap) pxBtnWid pxBtnHt], ...
   'BackgroundColor',btnColor, ...
   'ForegroundColor',btnTextColor, ...
   'String','退出教学系统', ...
   'Visible','off', ...
   'Callback','close all;');

%=====================================
% Part I - Signal Analysis
pxBtnWid=0.16;
pxBtnHt=0.08;
pxGap=0.02;
pyGap=0.18;
xRef=0.56;
yRef=0.06;

visitBtnCallbackStr='snsmap(''showsp'');';
infoBtnCallbackStr='snsmap(''aboutsp'');';

mainHndl(4)=uicontrol(figNumber, ...
   'Style','pushbutton', ...
   'Units','normalized', ...
   'Position',[xRef yRef+4*pyGap pxBtnWid pxBtnHt], ...
   'BackgroundColor',btnColor, ...
   'ForegroundColor',btnTextColor, ...
   'String','信号分析', ...
   'Visible','off', ...
   'Callback',visitBtnCallbackStr);

mainHndl(5)=uicontrol(figNumber, ...
   'Style','pushbutton', ...
   'Units','normalized', ...
   'Position',[xRef+pxBtnWid+pxGap yRef+4*pyGap pxBtnWid pxBtnHt], ...
   'BackgroundColor',btnColor, ...
   'ForegroundColor',btnTextColor, ...
   'String','信    息', ...
   'Visible','off', ...
   'Callback',infoBtnCallbackStr);

%=====================================
% Part II - Signal Sampling
visitBtnCallbackStr='snsmap(''showsm'');';
infoBtnCallbackStr='snsmap(''aboutsm'');';

mainHndl(6)=uicontrol(figNumber, ...
   'Style','pushbutton', ...
   'Units','normalized', ...
   'Position',[xRef yRef+3*pyGap pxBtnWid pxBtnHt], ...
   'BackgroundColor',btnColor, ...
   'ForegroundColor',btnTextColor, ...
   'String','信号抽样', ...
   'Visible','off', ...
   'Callback',visitBtnCallbackStr);

mainHndl(7)=uicontrol(figNumber, ...
   'Style','pushbutton', ...
   'Units','normalized', ...
   'Position',[xRef+pxBtnWid+pxGap yRef+3*pyGap pxBtnWid pxBtnHt], ...
   'BackgroundColor',btnColor, ...
   'ForegroundColor',btnTextColor, ...
   'String','信    息', ...
   'Visible','off', ...
   'Callback',infoBtnCallbackStr);

%=====================================
% Part III - LTI System Property
visitBtnCallbackStr='snsmap(''showxt'');';
infoBtnCallbackStr='snsmap(''aboutxt'');';

mainHndl(8)=uicontrol(figNumber, ...
   'Style','pushbutton', ...
   'Units','normalized', ...
   'Position',[xRef yRef+2*pyGap pxBtnWid pxBtnHt], ...
   'BackgroundColor',btnColor, ...
   'ForegroundColor',btnTextColor, ...
   'String','系统特性', ...
   'Visible','off', ...
   'Callback',visitBtnCallbackStr);

mainHndl(9)=uicontrol(figNumber, ...
   'Style','pushbutton', ...
   'Units','normalized', ...
   'Position',[xRef+pxBtnWid+pxGap yRef+2*pyGap pxBtnWid pxBtnHt], ...
   'BackgroundColor',btnColor, ...
   'ForegroundColor',btnTextColor, ...
   'String','信    息', ...
   'Visible','off', ...
   'Callback',infoBtnCallbackStr);

%=====================================
% Part IV - System Simulation
visitBtnCallbackStr='snsmap(''showss'');';
infoBtnCallbackStr='snsmap(''aboutss'');';

mainHndl(10)=uicontrol(figNumber, ...
   'Style','pushbutton', ...
   'Units','normalized', ...
   'Position',[xRef yRef+pyGap pxBtnWid pxBtnHt], ...
   'BackgroundColor',btnColor, ...
   'ForegroundColor',btnTextColor, ...
   'String','系统仿真', ...
   'Visible','off', ...
   'Callback',visitBtnCallbackStr);

mainHndl(11)=uicontrol(figNumber, ...
   'Style','pushbutton', ...
   'Units','normalized', ...
   'Position',[xRef+pxBtnWid+pxGap yRef+pyGap pxBtnWid pxBtnHt], ...
   'BackgroundColor',btnColor, ...
   'ForegroundColor',btnTextColor, ...
   'String','信   息', ...
   'Visible','off', ...
   'Callback',infoBtnCallbackStr);
   
%=====================================
% Part V - Filter
visitBtnCallbackStr='snsmap(''showsf'');';
infoBtnCallbackStr='snsmap(''aboutsf'');';

mainHndl(12)=uicontrol(figNumber, ...
   'Style','pushbutton', ...
   'Units','normalized', ...
   'Position',[xRef yRef pxBtnWid pxBtnHt], ...
   'BackgroundColor',btnColor, ...
   'ForegroundColor',btnTextColor, ...
   'String','滤波器', ...
   'Visible','off', ...
   'Callback',visitBtnCallbackStr);

mainHndl(13)=uicontrol(figNumber, ...
   'Style','pushbutton', ...
   'Units','normalized', ...
   'Position',[xRef+pxBtnWid+pxGap yRef pxBtnWid pxBtnHt], ...
   'BackgroundColor',btnColor, ...
   'ForegroundColor',btnTextColor, ...
   'String','信   息', ...
   'Visible','off', ...
   'Callback',infoBtnCallbackStr);


%====================================
% Sub Window Public Components
%====================================
%====================================
% Component 0 - Items' Help InfoBox ( Hidden )
%uicontrol(figNumber, ...
%   'Style','edit', ...
%   'Max',50, ...
%   'String',' ', ...
%   'Visible','off', ...
%   'Tag','SNSMAP_Item_Help_InfoBox', ...
%   'Enable','off');
%====================================
% Component 1 - Help Infomation Box
hHIB=uicontrol(figNumber, ...
   'Style','edit', ...
   'Units','normalized', ...
   'Max',20, ...
   'HorizontalAlignment','left', ... 
   'String','', ...
   'BackgroundColor',[1 1 1], ...
   'Enable','inactive', ...
   'Visible','off', ...
   'Tag','SNSMAP_Help_Infomation_Box', ...
   'Position',[0.15 0.37 0.3 0.4]);
%====================================
% Component 2 - Item List Box
ListCallbackStr='snsmap(''listbox'')';
hILB=uicontrol(figNumber, ...
   'Style','listbox', ...
   'Units','normalized', ...
   'Max',1,'Min',0, ...
   'HorizontalAlignment','left', ... 
   'String','备选实验列表||', ...
   'FontSize',10, ...
   'BackgroundColor',[1 1 1], ...
   'Visible','off', ...
   'Position',[0.53 0.3 0.35 0.345], ...
   'Tag','SNSMAP_Item_List_Box', ...
   'Callback',ListCallbackStr);

%====================================
% Component 3 - Run Item Button
buttonCallbackStr=[ ...
      'cmd=get(gco,''UserData'');', ...
      'if isempty(cmd) | strcmp(cmd,'' ''), return; end;', ...
      'eval(cmd);'];
hRIB=uicontrol(figNumber, ...
   'Style','pushbutton', ...
   'Units','normalized', ...
   'HorizontalAlignment','center', ... 
   'String','运行', ...
   'FontSize',10, ...
   'FontName','楷体_GB2312', ...
   'BackgroundColor',btnColor, ...
   'Visible','off', ...
   'Position',[0.53 0.2 0.35 0.06], ...
   'Tag','SNSMAP_Run_Item_Button', ...
   'UserData',' ', ...
   'Callback',buttonCallbackStr);
%====================================
% Component 4 - Radio Buttons' Frame
hRBF=uicontrol(figNumber, ...
   'Style','frame', ...
   'Units','normalized', ...
   'Position',[0.53 0.65 0.35 0.05], ...
   'BackgroundColor',btnColor, ...
   'Visible','off');
%====================================
% Component 5 - Return Mainwin Button
% Setup constants, unit: normalized
pxBtnHt=0.06;
pxBtnWid=0.2;
pxGap=0.025;
xRef=0.1;
yRef=0.265;
hRMB=uicontrol(figNumber, ...
   'Style','pushbutton', ...
   'Units','normalized', ...
   'Position',[xRef yRef-pxBtnHt-(pxBtnHt+pxGap) pxBtnWid pxBtnHt], ...
   'BackgroundColor',btnColor, ...
   'String','回到主界面', ...
   'Visible','off', ...
   'Callback','snsmap(''showmain'');');


%====================================
% Sub Window I - Signal Analysis
%====================================
% Setup constants, unit: normalized
pxBtnHt=0.06;
pxBtnWid=0.2;
pxGap=0.025;
xRef=0.1;
yRef=0.265;
%====================================
% Part I.0 - Help info
buttonCallbackStr='snsmap(''aboutsp'');';
spHndl(1)=uicontrol(figNumber, ...
   'Style','pushbutton', ...
   'Units','normalized', ...
   'Position',[xRef yRef-pxBtnHt pxBtnWid pxBtnHt], ...
   'BackgroundColor',btnColor, ...
   'String','关于……', ...
   'Visible','off', ...
   'Callback',buttonCallbackStr);
spHndl(2)=hRMB;
%====================================
% Part I.1 - Spectrum analysis
hlpStr=' ';
radioCallbackStr='snsmap(''radiobutton'')';
spHndl(3)=uicontrol(figNumber, ...
   'Style','radio', ...
   'Units','normalized', ...
   'Position',[0.535 0.655 0.17 0.04], ...
   'BackgroundColor',btnColor, ...
   'String','频谱分析', ...
   'Visible','off', ...
   'UserData',hlpStr, ...
   'Tag','sig_pro|pinpu', ...
   'Callback',radioCallbackStr);
%====================================
% Part I.2 - Demo
spHndl(4)=uicontrol(figNumber, ...
   'Style','radio', ...
   'Units','normalized', ...
   'Position',[0.705 0.655 0.17 0.04], ...
   'BackgroundColor',btnColor, ...
   'String','信号分析演示', ...
   'UserData',hlpStr, ...
   'Visible','off', ...
   'Tag','sig_pro|yanshi', ...
   'Callback',radioCallbackStr);
spHndl(5)=hRBF;
spHndl(6)=hHIB;
spHndl(7)=hILB;
spHndl(8)=hRIB;


%====================================
% Sub Window II - Signal Sampling
%====================================
% Setup constants, unit: normalized
pxBtnHt=0.06;
pxBtnWid=0.2;
pxGap=0.025;
xRef=0.1;
yRef=0.265;
%====================================
% Part II.0 - Help info
buttonCallbackStr='snsmap(''aboutsm'');';
smHndl(1)=uicontrol(figNumber, ...
   'Style','pushbutton', ...
   'Units','normalized', ...
   'Position',[xRef yRef-pxBtnHt pxBtnWid pxBtnHt], ...
   'BackgroundColor',btnColor, ...
   'String','关于……', ...
   'Visible','off', ...
   'Callback',buttonCallbackStr);
smHndl(2)=hRMB;
%====================================
% Part II.1 - Signal sampling
smHndl(3)=hHIB;
smHndl(4)=hILB;
smHndl(5)=hRIB;


%====================================
% Sub Window III - LTI System Property
%====================================
% Setup constants, unit: normalized
pxBtnHt=0.06;
pxBtnWid=0.2;
pxGap=0.025;
xRef=0.1;
yRef=0.265;
%====================================
% Part III.0 - Help info
buttonCallbackStr='snsmap(''aboutxt'');';
xtHndl(1)=uicontrol(figNumber, ...
   'Style','pushbutton', ...
   'Units','normalized', ...
   'Position',[xRef yRef-pxBtnHt pxBtnWid pxBtnHt], ...
   'BackgroundColor',btnColor, ...
   'String','关于……', ...
   'Visible','off', ...
   'Callback',buttonCallbackStr);
xtHndl(2)=hRMB;
%====================================
% Part III.1 - Frequency domain
xtHndl(3)=uicontrol(figNumber, ...
   'Style','radio', ...
   'Units','normalized', ...
   'Position',[0.535 0.655 0.17 0.04], ...
   'BackgroundColor',btnColor, ...
   'String','系统频域特性', ...
   'Visible','off', ...
   'UserData',hlpStr, ...
   'Tag','sys_pro|pytx', ...
   'Callback',radioCallbackStr);
%====================================
% Part III.2 - Time domain
xtHndl(4)=uicontrol(figNumber, ...
   'Style','radio', ...
   'Units','normalized', ...
   'Position',[0.705 0.655 0.17 0.04], ...
   'BackgroundColor',btnColor, ...
   'String','系统时域特性', ...
   'UserData',hlpStr, ...
   'Visible','off', ...
   'Tag','sys_pro|sytx', ...
   'Callback',radioCallbackStr);
xtHndl(5)=hRBF;
xtHndl(6)=hHIB;
xtHndl(7)=hILB;
xtHndl(8)=hRIB;


%====================================
% Sub Window IV - System Simulation
%====================================
% Setup constants, unit: normalized
pxBtnHt=0.06;
pxBtnWid=0.2;
pxGap=0.025;
xRef=0.1;
yRef=0.265;
%====================================
% Part IV.0 - Help info
buttonCallbackStr='snsmap(''aboutss'');';
ssHndl(1)=uicontrol(figNumber, ...
   'Style','pushbutton', ...
   'Units','normalized', ...
   'Position',[xRef yRef-pxBtnHt pxBtnWid pxBtnHt], ...
   'BackgroundColor',btnColor, ...
   'String','关于……', ...
   'Visible','off', ...
   'Callback',buttonCallbackStr);
ssHndl(2)=hRMB;
%====================================
% Part IV.1 - Signal filtering
ssHndl(3)=hHIB;
ssHndl(4)=hILB;
ssHndl(5)=hRIB;


%====================================
% Sub Window V - Filter 
%====================================
% Setup constants, unit: normalized
pxBtnHt=0.06;
pxBtnWid=0.2;
pxGap=0.025;
xRef=0.1;
yRef=0.265;
%====================================
% Part V.0 - Help info
buttonCallbackStr='snsmap(''aboutsf'');';
sfHndl(1)=uicontrol(figNumber, ...
   'Style','pushbutton', ...
   'Units','normalized', ...
   'Position',[xRef yRef-pxBtnHt pxBtnWid pxBtnHt], ...
   'BackgroundColor',btnColor, ...
   'String','关于……', ...
   'Visible','off', ...
   'Callback',buttonCallbackStr);
sfHndl(2)=hRMB;
%====================================
% Part V.1 - Instance 1
sfHndl(3)=hHIB;
sfHndl(4)=hILB;
sfHndl(5)=hRIB;


%====================================
%====================================
% Now assemble the UserData matrix; each map has a different row.
lenMain=length(mainHndl);
lensp=length(spHndl);
lensm=length(smHndl);
lenxt=length(xtHndl);
lenss=length(ssHndl);
lensf=length(sfHndl);
maxLen=max([lenMain lensp lensm lenxt lenss lensf]);
% We have to pad the vectors before we concatenate in order to 
% get a genuine matrix. Pad the back of the vector with copies
% of the first element.
mainHndl=[mainHndl zeros(1,maxLen-lenMain)];
spHndl=[spHndl zeros(1,maxLen-lensp)];
smHndl=[smHndl zeros(1,maxLen-lensm)];
xtHndl=[xtHndl zeros(1,maxLen-lenxt)];
ssHndl=[ssHndl zeros(1,maxLen-lenss)];
sfHndl=[sfHndl zeros(1,maxLen-lensf)];
hndlMatrix=[mainHndl; spHndl; smHndl; xtHndl; ssHndl; sfHndl];

⌨️ 快捷键说明

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