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

📄 chaoqian.asv

📁 微波技术
💻 ASV
字号:
function varargout = chaoqian(varargin)%CHAOQIAN M-file for chaoqian.fig%      CHAOQIAN, by itself, creates a new CHAOQIAN or raises the existing%      singleton*.%%      H = CHAOQIAN returns the handle to a new CHAOQIAN or the handle to%      the existing singleton*.%%      CHAOQIAN('Property','Value',...) creates a new CHAOQIAN using the%      given property value pairs. Unrecognized properties are passed via%      varargin to chaoqian_OpeningFcn.  This calling syntax produces a%      warning when there is an existing singleton*.%%      CHAOQIAN('CALLBACK') and CHAOQIAN('CALLBACK',hObject,...) call the%      local function named CALLBACK in CHAOQIAN.M with the given input%      arguments.%%      *See GUI Options on GUIDE's Tools menu.  Choose "GUI allows only one%      instance to run (singleton)".%% See also: GUIDE, GUIDATA, GUIHANDLES% Edit the above text to modify the response to help chaoqian% Last Modified by GUIDE v2.5 12-Jun-2005 13:07:29% Begin initialization code - DO NOT EDITgui_Singleton = 1;gui_State = struct('gui_Name',       mfilename, ...                   'gui_Singleton',  gui_Singleton, ...                   'gui_OpeningFcn', @chaoqian_OpeningFcn, ...                   'gui_OutputFcn',  @chaoqian_OutputFcn, ...                   'gui_LayoutFcn',  [], ...                   'gui_Callback',   []);if nargin && ischar(varargin{1})   gui_State.gui_Callback = str2func(varargin{1});endif nargout    [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});else    gui_mainfcn(gui_State, varargin{:});end% End initialization code - DO NOT EDIT% --- Executes just before chaoqian is made visible.function chaoqian_OpeningFcn(hObject, eventdata, handles, varargin)% This function has no output args, see OutputFcn.% hObject    handle to figure% eventdata  reserved - to be defined in a future version of MATLAB% handles    structure with handles and user data (see GUIDATA)% varargin   unrecognized PropertyName/PropertyValue pairs from the%            command line (see VARARGIN)% Choose default command line output for chaoqianhandles.output = hObject;% Update handles structureguidata(hObject, handles);% UIWAIT makes chaoqian wait for user response (see UIRESUME)% uiwait(handles.figure1);% --- Outputs from this function are returned to the command line.function varargout = chaoqian_OutputFcn(hObject, eventdata, handles)% varargout  cell array for returning output args (see VARARGOUT);% hObject    handle to figure% eventdata  reserved - to be defined in a future version of MATLAB% handles    structure with handles and user data (see GUIDATA)% Get default command line output from handles structurevarargout{1} = handles.output;% --- Executes on button press in chaoqian.function chaoqian_Callback(hObject, eventdata, handles)% hObject    handle to chaoqian (see GCBO)% eventdata  reserved - to be defined in a future version of MATLAB% handles    structure with handles and user data (see GUIDATA)Val_Selection = get(findobj('Tag','passorzp'),'Value');Val_clooporopen = get(findobj('Tag','clooporopen'),'Value');%--------根据判断建立相应的模型---------switch Val_Selection%----获得传递函数形式的输入 ----------     case 1        Handle_numorzero    =      findobj( 'Tag','numorzero');        Val_numzero         =      get(Handle_numorzero,'String');        Val_num             =      str2num(Val_numzero);                Handle_denorp       =      findobj('Tag','denorp');        Val_denp            =      get(Handle_denorp,'String');        Val_den             =      str2num(Val_denp);                Handle_kedit        =      findobj('Tag','kedit');        Val_kedit           =      get (Handle_kedit,'String');        %Val_k               =      str2num(Val_kedit);                num                 =      Val_num%*Val_k;        den                 =      Val_den;%获得零极点形式的输入     case 2                         Handle_numorzero    =      findobj( 'Tag','numorzero');        Val_numzero         =      get (Handle_numorzero,'String');        Val_zero            =      str2num(Val_numzero);                Handle_denorp       =      findobj('Tag','denorp');        Val_denorp          =      get(Handle_denorp,'String');        Val_p               =      str2num(Val_denorp);                Handle_kedit        =      findobj('Tag','kedit');        Val_kedit           =      get (Handle_kedit,'String');        Val_k               =      str2num(Val_kedit);                [num,den]        =      zp2tf(Val_zero,Val_p,Val_k);    end%------判断输入模型为开环or闭环并建立相应的模型-------if (Val_clooporopen ==2)    [numc,denc] = cloop(num,den);    sys = tf(numc,denc);    [z,p,k] = tf2zp(numc,denc);else     numc = num;    denc = den;    sys = tf(numc,denc);    [z,p,k] = tf2zp(numc,denc);endHandle_edit5   =    findobj('Tag','edit5');Val_edit5      =     get(Handle_edit5,'string');val5          =      str2num(Val_edit5);Handle_edit6   =    findobj('Tag','edit6');Val_edit6     =     get(Handle_edit6,'string');val6          =     str2num(Val_edit6);  %当选择使用超前校正方法时  %根据稳态误差要求求出增益kc   n1 = length(numc);   n2 = length(denc);   if denc(n2) ~= 0       kc = numc(n1)*val5/denc(n2);  elseif denc(n2-1) ~=0       kc = numc(n1)*val5/denc(n2-1);  elseif denc(n2-2) ~=0       kc = numc(n1)*val5/denc(n2-2);  end 

⌨️ 快捷键说明

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