当前位置首页 > 学术论文 > 毕业论文
搜柄,搜必应! 快速导航 | 使用教程  [会员中心]

二阶状态轨迹的显示实验报告

文档格式:DOCX| 10 页|大小 168.40KB|积分 20|2022-09-23 发布|文档ID:155307882
第1页
下载文档到电脑,查找使用更方便 还剩页未读,继续阅读>>
1 / 10
此文档下载收益归作者所有 下载文档
  • 版权提示
  • 文本预览
  • 常见问题
  • 大学教学实验报告电子信息学院 通信工程 专业 2015年9月20日实验名称 二阶状态轨迹的显示 指导教师年级 学号 成绩一、预习部分1. 实验目的2. 实验基本原理3. 主要仪器设备(含必要的元器件、工具)1、 实验目的⑴.熟悉二阶连续时间系统状态轨迹的概念⑵.掌握连续时间系统冲激响应、阶跃响应的求解方法⑶.观察过阻尼,欠阻尼,临界阻尼情况下,RLC电路的状态轨迹2、 实验基本原理系统数学模型的描述方法有输入输出描述法和状态变量分析法在输入输出 描述法中,主要建立系统的输入(激励)与系统的输出(响应)之间的关系,不 关心系统部的变化情况在状态变量分析法中,需在先确定状态变量后,建立描 述系统状态变量与输入之间的关系(状态方程),以及建立系统输出变量与系统 状态变量及系统输入之间的关系(输出方程),这种分析法不仅能反映输入与输 出的关系,而且能了解系统部的变化过程在状态变量分析法中,状态变量是 建立状态方程和输出方程的关键变量,是能描述系统动态特性的一组独立完备的 变量对于一个二阶系统,则可以用两个状态变量来描述系统的动态特性,这两 个状态变量构成的列矢量称为状态矢量,以这两个状态变量为坐标轴而形成的空 间称为二维状态空间。

    在状态空间中状态矢量端点随时间变化而描述出的路径为 状态轨迹因此状态轨迹对应系统在不同时刻,不同条件下的状态,知道了某段 时间的状态轨迹,则系统在该时间的变化过程也就知道了,所以二阶状态轨迹的 描述方法是一种在几何平面上研究系统动态性能(包括稳定性在)的方法用计 算机模拟二阶状态轨迹的显示,方法简单直观,且能很方便观察电路参数变化时, 状态轨迹的变化规律3、涉及的MATLAB相关容⑴.MATLAB图形用户界面(GUI)设计利用MATLAB图形用户界面工具设计修改RLC电路参数及显示RLC电路 二阶状态轨迹的界面;并用程序控制界面中的控件,显示RLC电路的二阶状态 轨迹⑵.ss函数功能:建立系统状态空间模型调用格式:sys = ss(a,b,c,d)其中,a,b,c,d为状态方程和输出方程的矩阵,sys为建立的状态空间 模型3).step 函数功能:求线性时不变系统的阶跃响应调用格式:y = step(sys,t)其中,y为系统的阶跃响应,sys为系统的状态空间模型4. axes函数功能:设置当前轴调用格式:axes(h)其中,h为已存在轴的句柄二、实验操作部分1. 实验数据、表格及数据处理2. 实验操作过程(可用图表示)3. 实验结论1.验证性实验图1所示为RLC电路,可看作一个二阶连续时间系统。

    对于该二阶系统, 若要用状态变量分析来描述该系统的数学模型,可选用和吓作为状态变 曰、人一、曰—…、、…一、、一峙“ 量,这两个状态变量所形成的空间称为状态空间在状态空间中,状态矢量…1 J 随时间变化而描出的路径叫状态轨迹R图1 RLC电路本实验将利用计算机模拟该系统的状态轨迹,实验步骤如下:(c) 运行GUI,并生成trace.m文件d) 选中图2所示界面中“显示状态轨迹”按钮,点击右键选择菜单上的View Callbacks,选择Callback, MATLAB Editor会自动调到该按钮对用的Callback Function上,可以直接在那里填写代码,编程控制GUI其中“显示 状态轨迹”按钮Callback Function的参考程序代码如下:function pushbutton1_Callback(hObject, eventdata, handles)t = 0:0.1:100;%从界面上获取电路参数R = str2num(get(handles.edit1,'string'));L = str2num(get(handles.edit2,'string'));C = str2num(get(handles.edit3,'string'));%若系统以":「和七:为响应,以5.0为激励,%确定系统状态方程和输出方程中的a,b,c,d矩阵a =[-R/L -1/L;1/C 0];b = [1/L;0];c = [1 0;0 1];d = [0];sys = ss(a,b,c,d); %建立系统状态空间模型Response = step(sys,t); %求系统的阶跃响应axes(handles.axes1);plot(t,Response(:,1),'b-','linewidth',3); %显示「什’ylabel('il(t)','fontsize',14)axes(handles.axes2);plot(t,Response(:,2),'r-','linewidth',3); %显示七 -)ylabel('vc(t)','fontsize',14)axes(handles.axes3);plot(Response(:,2),Response(:,1),'linewidth',3); %显示状态轨迹xlabel('vc(t)','fontsize',14)ylabel('il(t)','fontsize',14)%判断系统的阻尼状态alph 二 R/(2*L);omega = 1/sqrt(L*C);if (R==0)str ='无阻尼';elseif(alph>omega)str ='过阻尼';endif(alph==omega)str='临界阻尼';endif(alph

    MATAB程序如下function varargout = Hs502(varargin) gui_Singleton = 1;gui_State = struct('gui_Name', mfilename, ...'gui_Singleton', gui_Singleton, ...'gui_OpeningFcn', Hs502_OpeningFcn, ...'gui_OutputFcn', Hs502_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{:}); elsegui_mainfcn(gui_State, varargin{:});end% End initialization code - DO NOT EDIT% Executes just before Hs502 is made visible.function Hs502_OpeningFcn(hObject, eventdata, handles, varargin) handles.output = hObject;% Update handles structure guidata(hObject, handles);% UIWAIT makes Hs502 wait for user response (see UIRESUME) % uiwait(handles.figure1);% Outputs from this function are returned to the command line.function varargout = Hs502_OutputFcn(hObject, eventdata, handles) varargout{1} = handles.output;function pushbutton1_Callback(hObject, eventdata, handles) t=0:0.1:8;n=[1 3];d=[1 3 2];[a b c d]=tf2ss(n,d);sys=ss(a,b,c,d);Response=impulse(sys,t);axes(handles.axes1);plot(t,Response(:,1),'b-','linewidth',3);ylabel('r(t)','fontsize',14)显示效果如图三、实验效果分析(包括仪器设备等使用效果)本次试验中实现了使用MATLAB来进行二阶状态轨迹的显示,掌握一定的数 字信号处理的方法和技巧,加深对信号与系统的理解。

    点击阅读更多内容
    卖家[上传人]:dlmus
    资质:实名认证