• 吨吨吨416
    了解作者
  • matlab
    开发工具
  • 17KB
    文件大小
  • zip
    文件格式
  • 0
    收藏次数
  • 10 积分
    下载积分
  • 6
    下载次数
  • 2020-04-07 04:40
    上传日期
1. 建立倒立摆系统的状态空间模型和传递函数模型。 2. 对倒立摆系统设计控制器 利用MATLAB GUI设计,系统的参数(诸如小车质量、小杆质量、小杆长度等参数)由用户设定,最终的阶跃响应以图形效果展示出来,并给出控制器的参数(K_p、K_i和K_d)。
倒立摆.zip
  • untitled.fig
    15.8KB
  • Untitled.m
    7.2KB
内容介绍
function varargout = untitled(varargin) % UNTITLED MATLAB code for untitled.fig % UNTITLED, by itself, creates a new UNTITLED or raises the existing % singleton*. % % H = UNTITLED returns the handle to a new UNTITLED or the handle to % the existing singleton*. % % UNTITLED('CALLBACK',hObject,eventData,handles,...) calls the local % function named CALLBACK in UNTITLED.M with the given input arguments. % % UNTITLED('Property','Value',...) creates a new UNTITLED or raises % the existing singleton*. Starting from the left, property value pairs are % applied to the GUI before untitled_OpeningFcn gets called. An % unrecognized property name or invalid value makes property application % stop. All inputs are passed to untitled_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 untitled % Last Modified by GUIDE v2.5 03-Jul-2018 10:36:35 % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @untitled_OpeningFcn, ... 'gui_OutputFcn', @untitled_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 untitled is made visible. function untitled_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 untitled (see VARARGIN) % Choose default command line output for untitled handles.output = hObject; % Update handles structure guidata(hObject, handles); initialize_gui(hObject, handles, false); % UIWAIT makes untitled wait for user response (see UIRESUME) % uiwait(handles.figure1); % --- Outputs from this function are returned to the command line. function varargout = untitled_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 during object creation, after setting all properties. function density_CreateFcn(hObject, eventdata, handles) % hObject handle to density (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: popupmenu 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 density_Callback(hObject, eventdata, handles) % hObject handle to density (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 density as text % str2double(get(hObject,'String')) returns contents of density as a double density = str2double(get(hObject, 'String')); if isnan(density) set(hObject, 'String', 0); errordlg('Input must be a number','Error'); end % Save the new density value handles.metricdata.density = density; guidata(hObject,handles) % --- Executes during object creation, after setting all properties. function volume_CreateFcn(hObject, eventdata, handles) % hObject handle to volume (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: popupmenu 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 volume_Callback(hObject, eventdata, handles) % hObject handle to volume (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 volume as text % str2double(get(hObject,'String')) returns contents of volume as a double volume = str2double(get(hObject, 'String')); if isnan(volume) set(hObject, 'String', 0); errordlg('Input must be a number','Error'); end % Save the new volume value handles.metricdata.volume = volume; guidata(hObject,handles) % --- Executes on button press in calculate. function calculate_Callback(hObject, eventdata, handles) % hObject handle to calculate (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) mass = handles.metricdata.density * handles.metricdata.volume; set(handles.mass, 'String', mass); % --- Executes on button press in reset. function reset_Callback(hObject, eventdata, handles) % hObject handle to reset (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) initialize_gui(gcbf, handles, true); % --- Executes when selected object changed in unitgroup. function unitgroup_SelectionChangedFcn(hObject, eventdata, handles) % hObject handle to the selected object in unitgroup % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) if (hObject == handles.english) set(handles.text4, 'String', 'lb/cu.in'); set(handles.text5, 'String', 'cu.in'); set(handles.text6, 'String', 'lb'); else set(handles.text4, 'String', 'kg/cu.m'); set(handles.text5, 'String', 'cu.m'); set(handles.text6, 'String', 'kg'); end % -------------------------------------------------------------------- function initialize_gui(fig_handle, handles, isreset) % If the metricdata field is present and the reset flag is false, it means % we are we are just re-initializing a GUI by calling it from the cmd line % while it is up. So, bail out as we dont want to reset the data. if isfield(handles, 'metricdata') && ~isreset return; end handles.metricdata.density = 0; handles.metricdata.volume = 0; set(handles.density, 'String', handles.metricdata.density); set(handles.volume, 'String', handles.metricdata.volume); set(handles.mass, 'String', 0); set(handles.unitgroup, 'SelectedObject', handles.english); set(handles.text4, 'String', 'lb/cu.in'); set(handles.text5, 'String', 'cu.in'); set(handles.text6, 'String', 'lb'); % Update handles structure guidata(handles.figure1, handles);
评论
    相关推荐