自动控制原理Matlab程序作业(精)

更新时间:2024-04-27 10:57:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

自控控制原理 MATLAB 程序设计作业 指导老师:汪晓宁 目录

一、题目 ............................................ 2 二、运行结果 ........................................ 3 三、程序说明 ........................................ 8

四、附录 ............................................ 9 代码 . ............................................. 9 参考文献 ......................................... 17

一、题目

用 Matlab 创建用户界面,并完成以下功能

a 将产生未综合系统的根轨迹图以及 0.707阻尼比线, 你可以交互地选择交点的运行 点。 界面能显示运行点的坐标、 增益值以及近似为二阶系统估算的超调量、 调整时 间、峰值时间、阻尼比、无阻尼自然震荡频率以及稳态误差

b 显示未综合系统的阶跃响应

c 输入控制器的参数, 绘制综合后系统的根轨迹图以及显示综合的设计点 (主导极点 , 允许不断改变控制器参数,知道所绘制的根轨迹通过设计点

d 对于综合后的系统, 显示运行点的坐标、 增益,近似为二阶系统估算的超调量、调 整时间、峰值时间、阻尼比、无阻尼自然震荡频率以及误差系数

e 显示综合后系统的阶跃响应 二、运行结果

输入传递函数分子分母

生成根轨迹图

选择点并得到该点各项参数在下方输出面板输出

获得阶跃响应图

用 rltool(辅助,选择合适的插入零点

输入零点,并得到根轨迹图

选择根轨迹图上的任一点,得到数据,在下方输出面板输出 得到阶跃响应图

三、运行说明

第一步, 在请输入分子后的输入框输入传递函数分子的矩阵, 在下一输入框输入传递函 数分母并按“生成根轨迹图”按钮获得根轨迹

第二步, 按选择点并显示各参数获得根轨迹图上任一点的各项数据, 数据全部输出在下 方输出面板

第三步,按“生成阶跃响应图”按钮可以获得该函数的阶跃响应

第四步,在“请输入插入零点”后的输入框中输入参数,并按“生成综合后根轨迹图” 按钮产生根轨迹 (可以通过点击 “根轨迹校正”按钮,调用工具箱拖动零点进行快速查看根 轨迹图,选择合适的根轨迹再在输入框中输入零点的值

第五步,按“选择点并显示各参数(综合后系统 ”选取各点,查阅参数,数据输出在 下方输出面板上

第六步,按“生成阶跃响应图(综合后系统 ”可以得到综合后系统的阶跃响应 最后,点击“退出”结束程序 四、附录 代码:

function varargout = Liushuai20122510(varargin

% LIUSHUAI20122510 MATLAB code for Liushuai20122510.fig

% LIUSHUAI20122510, by itself, creates a new LIUSHUAI20122510 or raises the existing

% singleton*. %

% H = LIUSHUAI20122510 returns the handle to a new LIUSHUAI20122510 or the handle to

% the existing singleton*. %

% LIUSHUAI20122510('CALLBACK',hObject,eventData,handles,... calls the local

% function named CALLBACK in LIUSHUAI20122510.M with the given input arguments.

%

% LIUSHUAI20122510('Property','Value',... creates a new LIUSHUAI20122510 or raises the

% existing singleton*. Starting from the left, property value pairs are % applied to the GUI before Liushuai20122510_OpeningFcn gets called. An % unrecognized property name or invalid value makes property application % stop. All inputs are passed to Liushuai20122510_OpeningFcn via varargin. %

% *See GUI Options on GUIDE's Tools menu. Choose \% instance to run (singleton\%

% See also: GUIDE, GUIDATA, GUIHANDLES

% Edit the above text to modify the response to help Liushuai20122510 % Last Modified by GUIDE v2.5 16-Dec-2014 10:28:20

% Begin initialization code - DO NOT EDIT gui_Singleton = 1;

gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ...

'gui_OpeningFcn', @Liushuai20122510_OpeningFcn, ...

'gui_OutputFcn', @Liushuai20122510_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 Liushuai20122510 is made visible.

function Liushuai20122510_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 Liushuai20122510 (see VARARGIN % Choose default command line output for Liushuai20122510 handles.output = hObject; % Update handles structure guidata(hObject, handles;

% UIWAIT makes Liushuai20122510 wait for user response (see UIRESUME % uiwait(handles.figure1;

% --- Outputs from this function are returned to the command line. function varargout = Liushuai20122510_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 % 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

num = str2num(get(handles.edit1,'String' ; den = str2num(get(handles.edit2,'String' ; G = tf(num,den; rlocus(G hold on ; sgrid(0.707,[] hold off ;

% --- Executes on button press in pushbutton2.

function pushbutton2_Callback(hObject, eventdata, handles % 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

num = str2num(get(handles.edit1,'String' ; den = str2num(get(handles.edit2,'String' ;

sys=tf(num,den; [y,t]=step(sys; plot(t,y; grid on ;

% --- Executes on button press in pushbutton3.

function pushbutton3_Callback(hObject, eventdata, handles % 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 close(gcbf;

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

% --- Executes on button press in pushbutton4.

function pushbutton4_Callback(hObject, eventdata, handles % hObject handle to pushbutton4 (see GCBO

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA

num = str2num(get(handles.edit1,'String' ; den = str2num(get(handles.edit2,'String' ; finalvalue = polyval(num,0/polyval(den,0 sys=tf(num,den; [Kc,p]=rlocfind(sys; set(handles.Kc,'string' ,Kc; X = real(p(1 Y = imag(p(1

set(handles.Xpoint,'string' ,num2str(X; set(handles.Ypoint,'string' ,num2str(Y; damp=sqrt(X(1,1^2/(X(1,1^2+Y(1,1^2; Wn=abs(X(1,1/damp; Tp=pi/(Wn*sqrt(1-damp^2;

overshoot=exp(-pi*damp/sqrt(1-damp^2; Ts=3/(damp*Wn; deviation=Wn^2;

set(handles.overshoot,'string' ,num2str(overshoot; set(handles.Ts,'string' ,Ts; set(handles.Tp,'string' ,Tp;

set(handles.Wn,'string' ,num2str(Wn; set(handles.damp,'string' ,num2str(damp; set(handles.deviation,'string' ,deviation;

function edit2_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 edit2_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

% --- Executes on button press in pushbutton5.

function pushbutton5_Callback(hObject, eventdata, handles % hObject handle to pushbutton5 (see GCBO

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA

num = str2num(get(handles.edit1,'String' ; den = str2num(get(handles.edit2,'String' ; sys=tf(num,den

rltool(sys;%à?ó?1¤??μ÷???????÷2?êyê1???-1y?÷μ???μ? 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 textw'q % 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

% --- Executes on button press in pushbutton6.

function pushbutton6_Callback(hObject, eventdata, handles

% hObject handle to pushbutton6 (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 pushbutton7.

function pushbutton7_Callback(hObject, eventdata, handles % hObject handle to pushbutton7 (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 pushbutton8.

function pushbutton8_Callback(hObject, eventdata, handles % hObject handle to pushbutton8 (see GCBO

% eventdata reserved - to be defined in a future version of MATLAB

自动控制原理 Matlab 程序设计报告 % handles structure with handles and user data (see GUIDATA % --- Executes on button press in pushbutton9. function pushbutton9_Callback(hObject, eventdata, handles % hObject % eventdata % handles handle to pushbutton9 (see GCBO reserved - to be defined in a future version of MATLAB structure with handles and user data (see GUIDATA num = str2num(get(handles.edit1,'String'; den = str2num(get(handles.edit2,'String'; A = str2num(get(handles.edit5,'String'*(-1; num = [1 A]; G = tf(num,den; rlocus(G hold on; sgrid(0.707,[] hold off; % --- Executes on button press in pushbutton10. function pushbutton10_Callback(hObject, eventdata, handles % hObject % eventdata % handles handle to pushbutton10 (see GCBO reserved - to be defined in a future version of MATLAB structure with handles and user data (see GUIDATA num =

str2num(get(handles.edit1,'String'; den = str2num(get(handles.edit2,'String'; A = str2num(get(handles.edit5,'String'; num = [1 A]; sys=tf(num,den; [y,t]=step(sys; plot(t,y; grid on; % --- Executes on button press in pushbutton11. function

pushbutton11_Callback(hObject, eventdata, handles % hObject % eventdata % handles handle to pushbutton11 (see GCBO reserved - to be defined in a future version of MATLAB structure with handles and user data (see GUIDATA num = str2num(get(handles.edit1,'String'; den = str2num(get(handles.edit2,'String'; A = str2num(get(handles.edit5,'String'; 15

自动控制原理 Matlab 程序设计报告 num1 = [1 A]; sys=tf(num1,den; [Kc,p]=rlocfind(sys; set(handles.Kc,'string',Kc; X = real(p(1 Y = imag(p(1 set(handles.Xpoint,'string',num2str(X; set(handles.Ypoint,'string',num2str(Y; damp=sqrt(X(1,1^2/(X(1,1^2+Y(1,1^2; Wn=abs(X(1,1/damp; Tp=pi/(Wn*sqrt(1-damp^2; overshoot=exp(-pi*damp/sqrt(1-damp^2; Ts=3/(damp*Wn; deviation=Wn^2; set(handles.overshoot,'string',num2str(overshoot; set(handles.Ts,'string',Ts; set(handles.Tp,'string',Tp; set(handles.Wn,'string',num2str(Wn;

set(handles.damp,'string',num2str(damp; set(handles.deviation,'string',deviation; function edit5_Callback(hObject, eventdata, handles % hObject % eventdata % handles handle to edit5 (see GCBO reserved - to be defined in a future version of MATLAB 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 % eventdata % handles handle to edit5 (see GCBO reserved - to be defined in a future version of MATLAB 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' 16

自动控制原理 Matlab 程序设计报告 set(hObject,'BackgroundColor','white'; end 参考文献: 《 Matlab 及在电子信息类课程中的应用》 电子工业出版社 《 Matlab 与控制系统仿真实践》 北京航空航天大学出版社 17

本文来源:https://www.bwwdw.com/article/hryg.html

Top