📄 wdx.m
字号:
function varargout = WDX(varargin)
% WDX M-file for WDX.fig
% WDX, by itself, creates a new WDX or raises the existing
% singleton*.
%
% H = WDX returns the handle to a new WDX or the handle to
% the existing singleton*.
%
% WDX('CALLBACK',hObject,eventData,handles,...) calls the local
% function named CALLBACK in WDX.M with the given input arguments.
%
% WDX('Property','Value',...) creates a new WDX or raises the
% existing singleton*. Starting from the left, property value pairs are
% applied to the GUI before WDX_OpeningFunction gets called. An
% unrecognized property name or invalid value makes property application
% stop. All inputs are passed to WDX_OpeningFcn via varargin.
%
% *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 WDX
% Last Modified by GUIDE v2.5 21-Apr-2006 22:51:07
% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @WDX_OpeningFcn, ...
'gui_OutputFcn', @WDX_OutputFcn, ...
'gui_LayoutFcn', [] , ...
'gui_Callback', []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end
if 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 WDX is made visible.
function WDX_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 command line arguments to WDX (see VARARGIN)
h3=axes('Position',[0.18,0.53,0.6,0.5]);
set(h3,'Xlim',[0,1.2],'Ylim',[0,0.5])
set(h3,'DataAspectRatio',[1 1 1])
set(h3,'ColorOrder',[0 0 0])
set(h3,'Visible','off')
hh1=rectangle('Position',[0.75,0.2,0.25,0.2],'Curvature',[0,0]);
hh1=rectangle('Position',[0.40,0.2,0.25,0.2],'Curvature',[0,0]);
hh2=rectangle('Position',[0.12,0.27,0.06,0.06],'Curvature',[1,1]);
xx0=0.02:0.01:0.12;xx1=0.18:0.01:0.25;
xx2=0.65:0.02:0.75;xx3=1.0:0.02:1.1;
xx4=0.43:0.02:0.615;xx5=0.79:0.01:0.95;
xx6=0.15:0.02:1.06;yy6=0.1*ones(size(xx6));
yy7=0.1:0.02:0.3;yy8=0.1:0.02:0.27;
xx9=0.298:0.01:0.4;yy9=0.3*ones(size(xx9));
yy0=0.3*ones(size(xx0));yy1=0.3*ones(size(xx1));
yy2=0.3*ones(size(xx2));yy3=0.3*ones(size(xx3));
yy4=0.3*ones(size(xx4));yy5=0.3*ones(size(xx5));
xx7=1.05*ones(size(yy7));xx8=0.15*ones(size(yy8));
line(xx9,yy9);
line(xx0,yy0);line(xx1,yy1);line(xx2,yy2);
line(xx3,yy3);line(xx4,yy4);%line(xx5,yy5);
line(xx7,yy7);line(xx8,yy8);line(xx6,yy6);
line(0.11,0.3,'Marker','>','MarkerFaceColor','k')
line(0.39,0.3,'Marker','>','MarkerFaceColor','k')
line(0.74,0.3,'Marker','>','MarkerFaceColor','k')
line(1.1,0.3,'Marker','>','MarkerFaceColor','k')
line(0.15,0.26,'Marker','^','MarkerFaceColor','k')
text(0.46,0.35,'\fontsize{14}\bf1-e^{-Ts}')
text(0.51,0.26,'\fontsize{12}\bfs')
text(1.13,0.3,'\fontsize{14}\bfy(t)')
text(0.825,0.3,'\fontsize{20}\bfG(S)');
text(0.16,0.24,'\fontsize{20}\bf-');
text(0.13,0.3,'\fontsize{20}X');
text(0.248,0.32,'\fontsize{22}/');
% Choose default command line output for WDX
handles.output = hObject;
% Update handles structure
guidata(hObject, handles);
% UIWAIT makes WDX wait for user response (see UIRESUME)
% uiwait(handles.figure1);
% --- Outputs from this function are returned to the command line.
function varargout = WDX_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 structure
varargout{1} = handles.output;
% --- Executes on button press in pushbutton1.
function pushbutton1_Callback(hObject, eventdata, handles)
val_num=findobj('tag','edit5');
num=str2num(get(val_num,'string'));
val_den=findobj('tag','edit6');
den=str2num(get(val_den,'string'));
val_t=findobj('tag','edit7');
T=str2num(get(val_t,'string'));
[numZ,denZ]=c2dm(num,den,T,'zoh');
printsys(numZ,denZ,'Z');
p0=numZ+denZ;
p1=rref(p0);
ps=[poly2str(p1,'z'),'=0']
r=roots(p1);
val_tzfc=findobj('tag','edit1');
set(val_tzfc,'string',ps);
% hObject handle to pushbutton1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
function edit1_Callback(hObject, eventdata, handles)
% hObject handle to edit1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit1 as text
% str2double(get(hObject,'String')) returns contents of edit1 as a double
% --- Executes during object creation, after setting all properties.
function edit1_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function edit2_Callback(hObject, eventdata, handles)
% hObject handle to edit2 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit2 as text
% str2double(get(hObject,'String')) returns contents of edit2 as a double
% --- Executes during object creation, after setting all properties.
function edit2_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit2 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function edit3_Callback(hObject, eventdata, handles)
% hObject handle to edit3 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit3 as text
% str2double(get(hObject,'String')) returns contents of edit3 as a double
% --- Executes during object creation, after setting all properties.
function edit3_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit3 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
% --- Executes on button press in pushbutton2.
function pushbutton2_Callback(hObject, eventdata, handles)
val_num=findobj('tag','edit5');
num=str2num(get(val_num,'string'));
val_den=findobj('tag','edit6');
den=str2num(get(val_den,'string'));
val_t=findobj('tag','edit7');
T=str2num(get(val_t,'string'));
[numZ,denZ]=c2dm(num,den,T,'zoh');
printsys(numZ,denZ,'Z');
p0=numZ+denZ;
p1=rref(p0);
r=roots(p1);
val_tzg=findobj('tag','edit2');
set(val_tzg,'string',mat2str(r,4));
% hObject handle to pushbutton2 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% --- Executes on button press in pushbutton3.
function pushbutton3_Callback(hObject, eventdata, handles)
val_tzg=findobj('tag','edit2');
z=str2num(get(val_tzg,'string'));
val_h1=findobj('tag','edit4');
a1=size(z);
a=a1(1);
if a==1
zz1=z(1);
if abs(zz1)<1
set(val_h1,'string','系统特征方程的根在单位圆内,该系统稳定');
else
set(val_h1,'string','系统特征方程的根不在单位圆内,该系统不稳定');
end
end
if a==2
zz1=z(1);zz2=z(2);
if abs(zz1)<1
abs(zz2)<1
set(val_h1,'string','系统特征方程的根都在单位圆内,该系统稳定');
else
set(val_h1,'string','系统特征方程的根不全在单位圆内,该系统不稳定');
end
end
if a==3
zz1=z(1);zz2=z(2);zz3=z(3);
if abs(zz1)<1
abs(zz2)<1
abs(zz3)<1
set(val_h1,'string','系统特征方程的根都在单位圆内,该系统稳定');
else
set(val_h1,'string','系统特征方程的根不全在单位圆内,该系统不稳定');
end
end
% hObject handle to pushbutton3 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
function edit4_Callback(hObject, eventdata, handles)
% hObject handle to edit4 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit4 as text
% str2double(get(hObject,'String')) returns contents of edit4 as a double
% --- Executes during object creation, after setting all properties.
function edit4_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit4 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function edit5_Callback(hObject, eventdata, handles)
% hObject handle to edit5 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit5 as text
% str2double(get(hObject,'String')) returns contents of edit5 as a double
% --- Executes during object creation, after setting all properties.
function edit5_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit5 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function edit6_Callback(hObject, eventdata, handles)
% hObject handle to edit6 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit6 as text
% str2double(get(hObject,'String')) returns contents of edit6 as a double
% --- Executes during object creation, after setting all properties.
function edit6_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit6 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function edit7_Callback(hObject, eventdata, handles)
% hObject handle to edit7 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit7 as text
% str2double(get(hObject,'String')) returns contents of edit7 as a double
% --- Executes during object creation, after setting all properties.
function edit7_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit7 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -