线性系统理论Matlab实践仿真报告指南
matlab 模拟 实验报告

matlab 模拟实验报告Matlab模拟实验报告引言:Matlab作为一种功能强大的数学软件,广泛应用于科学研究和工程领域。
本文将通过模拟实验的方式,探讨Matlab在信号处理和控制系统中的应用。
一、信号处理实验在信号处理领域,Matlab提供了丰富的工具和函数,可以对各种类型的信号进行处理和分析。
我们选择了音频信号作为实验对象,通过Matlab模拟实验,探索不同的信号处理技术。
1.1 信号生成与显示首先,我们使用Matlab生成一个正弦信号,并通过plot函数将其显示出来。
代码如下:```matlabt = 0:0.001:1; % 时间范围为0到1秒,采样率为1000Hzf = 10; % 信号频率为10Hzx = sin(2*pi*f*t); % 生成正弦信号plot(t, x); % 显示信号```通过运行以上代码,我们可以在Matlab的图形界面中看到一个频率为10Hz的正弦信号波形。
1.2 信号滤波接下来,我们将对生成的正弦信号进行滤波处理,以去除其中的高频噪声。
我们使用Matlab中的滤波函数fir1来实现。
代码如下:```matlabfs = 1000; % 采样率为1000Hzfc = 100; % 截止频率为100HzN = 50; % 滤波器阶数b = fir1(N, fc/(fs/2)); % 生成滤波器系数y = filter(b, 1, x); % 对信号进行滤波plot(t, y); % 显示滤波后的信号```通过运行以上代码,我们可以观察到滤波后信号中高频成分的减弱。
二、控制系统实验在控制系统领域,Matlab提供了丰富的工具和函数,可以进行系统建模、控制器设计和系统仿真等操作。
我们选择了一个简单的控制系统作为实验对象,通过Matlab模拟实验,探索不同的控制策略。
2.1 系统建模首先,我们需要对控制系统进行建模。
假设我们的控制系统是一个带有传感器、控制器和执行器的闭环系统。
成都理工大学信号与线性系统MATLAB实验报告

成都理工大学信号与线性系统MATLAB实验报告本科生实验报告实验课程信号与系统分析学院名称信息科学与技术学院专业名称电子信息科学与技术学生姓名邓泉铃学生学号201313020220指导教师杨斯涵实验地点6A502实验成绩二〇一四年十一月十八日二〇一四年十二月二日《信号与系统分析》实验报告实验一MATLAB编程初步应用及产生常用典型信号一、实验目的及要求:1,掌握MATLAB的使用的使用方法;2,熟悉Matlab常用命令的使用;3,试用Matlab语言产生典型信号。
二、实验内容:1,熟悉MATLAB平台的使用;2,产生常用的典型信号单位阶跃信号,指数信号,抽样函数信号;3,画出以上典型信号的波形图。
三、实验原理:在MATLAB中,使用连续信号在等时间间隔点的样值来近似地表示连续信号的,当取样时间间隔足够小时,这些离散的样值就能较好的表示连续信号,在MATLAB中连续信号可用向量或符号运算功能来表示。
四、程序清单:1,单位阶跃信号定义:在MATLAB中调用单位阶跃函数heaviside来实现。
Heaviside.m文件代码如下:function Y = heaviside(X)%HEA VISIDE Step function% HEA VISIDE(X)is 0 for X<0,1 for X>0,and NaN for X==0.% HEA VISIDE(X)is not a function in the strict sense.% See also DIRAC>% Copyright 1993-2003 The MathWorks,lnc.% $Revision:1.1.6.2$ $Date; 2004/04/16 22:23:24$Y=zeros(size(X));Y(X>0)=1;Y(X==0)=NAN;利用heaviside绘制阶跃图形:t=-2:0.05:2f=heaviside(t)plot(t,f)axis([-1,3,-0.2,1.2])图形如图图1所示:图 12,指数函数信号用MATLAB命令绘制单边指数信号在时间0≤t≤3区间的波形。
MATLAB与系统仿真实验指导书(2014新模板)_65032(1)

《MATLAB与系统仿真》实验指导书西安电子科技大学机电工程学院2014 年9 月实验一MATLAB基本使用、矩阵操作及编程一、实验目的和要求熟悉MATLAB的界面和基本操作,掌握矩阵的建立方法及各种运算,熟练使用MATLAB编程语言编写程序。
1.熟悉MATLAB软件的界面和帮助系统。
2.掌握MA TLAB软件中关于矩阵建立、矩阵初等变换以及矩阵算术、关系、逻辑运算的各种命令。
3.掌握MA TLAB软件中M函数和M文件的编写,以及程序结构与控制,学会编写一般程序。
二、实验仪器计算机一台,注意正确开、关机及打开软件。
三、实验内容与步骤1.MA TLAB的基本使用(1)启动与退出双击MATLAB图标,进入MA TLAB命令窗口,观察各个窗口以及菜单;单击File菜单中的Exit,或使用MATLAB的Exit命令退出。
(2)变量和矩阵的建立>>a=25>>b=3-9i问题1.1:输入“>>a=25;”,结果有什么区别?>>c=[1,2,3,4;5,6,7,8]>>d=0:1:10>>e=linspace(1,11,6)问题1.2:体会以上输入方法有什么区别和联系?若A为在0~2 之间均匀分布的22个数据,B=(1.3,2.5,7.6,2,-3),C=(23,20,17,14,11,8,5,2),各用何种方法输入较简单?>>A=[1,2,3;4,5,6;7,8,9]问题1.3:输入“A=[1 2 3;4 5 6;7 8 9]”,结果相同吗?MATLAB中对变量名有什么规定?(3)基本命令>>save data a b c>>load data使用↑键和↓键查看或执行以前执行过的命令>>d=1223.58>>format short e %显示格式设定>>d>>format rat>>d>>who a b %工作空间管理>>whos>>workspace>>path>>clear %注意工作空间的变化问题1.4:执行命令“clc”和“clear”结果有何不同?>>help eig %帮助命令>>look for max>>demo2. 矩阵的操作(1)测试矩阵大小>>f=length(A)>>[n,m]=size(A)>>g=ndims(A)问题1.5:以上三个命令有什么区别?(2)矩阵元素的引用>>A (1,:)>>A ([1,3],:)>>A (2:3,1:2)问题1.6:输入“A (2,3)”,结果任何,输入“A (6)”,结果相同吗?>>A ([1,3],:)=A ([3,1],:)>>A (2,:)=4>>A (find(A==4))=0>>A (3,:)=[]>>reshape (A,3,2)问题1.7:如何将A的第1列和第2列互换?输入“reshape (A,2,4)”能否得到正确结果?>>A (4,5)=2>>[A(1:3,2:4),A(2:4,1:3);A,A(:,2)](3)矩阵变换>>diag(A,1)>>tril(A,2)>>triu(A,2)>>flipud(A)>>fliplr(A)>>rot90(A)问题1.8:输入“rot90(A,2)”和“rot90(A,-2)”结果有区别吗?(4)特殊矩阵的产生>>B=eye(5)>>C=ones(2,3)>>D=zeros(3,2)>>E=rand(2,5)>>randn(3,4)>>vander([2 3 9])问题1.9:产生一个在[10,20]内均匀分布的4阶随机矩阵。
《系统仿真与MATLAB》上机实验报告

上机实验报告
实验项目名称Simulink熟悉及其应用所属课程名称系统仿真与MATLAB 实验日期
班级
学号
姓名
成绩
斜坡输入模型
斜坡响应曲线
Subsystem(PID Controller)内容:
输出指令:
plot(ScopeData(:,1),ScopeData(:,2),'-r') xlabel('Time')
ylabel('Output')
title('阶跃响应输出曲线')
grid on
的数值解并绘制函数
,其初始值为:
微分方程的数值解为:x=0
Workspace输出图像:
操作代码:
plot(ScopeData_exp5.time,ScopeData_exp5.signals.values,'-r') xlabel('Time')
ylabel('Output')
实验五阶跃响应输出曲线')
grid on
输出图像:
仿真输出结果:
y(t)的图像如下所示,每条曲线对应不同的信号(F(t))来源。
说明:
1、将每一道题的程序、建立的模型放置在该题目下方;
2、小结部分为对本次实验的心得体会、思考和建议。
matlab仿真实验报告

matlab仿真实验报告Matlab仿真实验报告引言:Matlab是一种广泛应用于科学和工程领域的数值计算软件,它提供了强大的数学和图形处理功能,可用于解决各种实际问题。
本文将通过一个具体的Matlab 仿真实验来展示其在工程领域中的应用。
实验背景:本次实验的目标是通过Matlab仿真分析一个电路的性能。
该电路是一个简单的放大器电路,由一个输入电阻、一个输出电阻和一个放大倍数组成。
我们将通过Matlab对该电路进行仿真,以了解其放大性能。
实验步骤:1. 定义电路参数:首先,我们需要定义电路的各个参数,包括输入电阻、输出电阻和放大倍数。
这些参数将作为Matlab仿真的输入。
2. 构建电路模型:接下来,我们需要在Matlab中构建电路模型。
可以使用电路元件的模型来表示电路的行为,并使用Matlab的电路分析工具进行仿真。
3. 仿真分析:在电路模型构建完成后,我们可以通过Matlab进行仿真分析。
可以通过输入不同的信号波形,观察电路的输出响应,并计算放大倍数。
4. 结果可视化:为了更直观地观察仿真结果,我们可以使用Matlab的图形处理功能将仿真结果可视化。
可以绘制输入信号波形、输出信号波形和放大倍数的变化曲线图。
实验结果:通过仿真分析,我们得到了以下实验结果:1. 输入信号波形与输出信号波形的对比图:通过绘制输入信号波形和输出信号波形的变化曲线,我们可以观察到电路的放大效果。
可以看到输出信号的幅度大于输入信号,说明电路具有放大功能。
2. 放大倍数的计算结果:通过对输出信号和输入信号的幅度进行计算,我们可以得到电路的放大倍数。
通过比较不同输入信号幅度下的输出信号幅度,可以得到放大倍数的变化情况。
讨论与分析:通过对实验结果的讨论和分析,我们可以得出以下结论:1. 电路的放大性能:根据实验结果,我们可以评估电路的放大性能。
通过观察输出信号的幅度和输入信号的幅度之间的比值,可以判断电路的放大效果是否符合设计要求。
MATLAB仿真实验报告

MATLAB仿真实验报告MATLAB仿真实验报告实验三PID控制仿真实验一、实验目的1.掌握MATLAB6.5软件的使用方法。
2.完成直流伺服电机PID典型控制系统结构图设计及调试。
二、实验内容1.熟悉MATLAB6.5软件各菜单作用。
2.完成直流伺服电机PID典型系统结构图设计并调试成功。
三、实验设备微型计算机1台四、实验步骤1.双击桌面MATLAB6.5快捷图标,进入MATLAB仿真环境。
2.单击菜单simulink选项,进入其界面。
单击filenew--model进入新建文件界面。
3.在新建文件界面中,通过simulink选项的下拉菜单中选择仿真需要的函数及器件,组成仿真系统结构图。
4.仿真调试:鼠标单击“黑三角”图标,再双击“SCOPE”示波器,即可显示仿真结果。
5.改变参数,观察调试结果。
五、实验报告要求1.写出实验具体过程。
2.画出仿真结果图和仿真系统结构图。
实验四直流电机双闭环系统仿真实验一、实验目的1.掌握MATLAB6.5软件的使用方法。
2.完成双闭环典型系统结构图设计及调试。
二、实验内容1.熟悉MATLAB6.5软件各菜单作用。
2.完成PID典型系统结构图设计并调试成功。
三、实验设备微型计算机1台四、实验步骤1.双击桌面MATLAB6.5快捷图标,进入MATLAB仿真环境。
2.单击菜单simulink选项,进入其界面。
单击filenewmodel进入新建文件界面。
3.在新建文件界面中,通过simulink选项的下拉菜单中选择仿真需要的函数及器件,组成仿真系统结构图。
4.仿真调试:鼠标单击“黑三角”图标,再双击“SCOPE”示波器,即可显示仿真结果。
5.改变参数,观察调试结果。
五、实验报告要求1.写出实验具体过程。
2.画出仿真结果图和仿真系统结构图。
实验五直流电机控制模型仿真实验一、实验目的1.掌握MATLAB6.5软件的使用方法。
2.完成直流电机仿真系统结构图设计及调试。
二、实验内容1.熟悉MATLAB6.5软件各菜单作用。
MATLAB系统建模与仿真实验

MATLAB系统建模与仿真实验系统建模与仿真实验报告报告一:产生10中独立分布的随机数,并检验其一、二阶距的性质。
1、[0,1]区间的均匀分布采用乘同余法产生均匀分布在(0,1)之间的随机数。
乘同余法的递推公式为:1(mod )n n x x M λ+=一般情况下,323a λ=±,a 为整数,M 于计算机的字长有关,2m M =,m 为16或32,x 的初值为(1)21b x =+。
利用MATLAB 实现,代码如下:function u=undistribution(a,b,m);%乘同余法lam=8*a-3; M=pow2(m); x(1)=pow2(b)+1; for i=2:10000; y=lam*x(i-1); x(i)=mod(y,M); end u=x/M; end调用函数,并检验产生随机数的数字特性。
y=undistribution(3,2,32); hist(y,50); E=mean(y); D=var(y);title('0-1均匀分布直方图');text(0,-20,strcat('均值为',num2str(E)));text(0.77,-20,strcat('均值为',num2str(D)));00.10.20.30.40.50.60.70.80.910501001502002500-1均匀分布直方图均值为0.50227方差为0.0829332、标准正态分布高斯分布的概率密度函数:22()2()x u P x σ-=;首先利用前面产生均匀分布随机数的方法生成两组均匀分布的随机数u1,u2;利用公式:2)Z u π=,Z 服从高斯分布。
MATLAB 实现代码如下:u1=undistribution(3,2,32); u2=undistribution(2,3,32);z=sqrt(-2*log(u1)).*cos(2*pi*u2); hist(z,100); E=mean(z); D=var(z);title('标准正态分布直方图')text(-6,-40,strcat('均值为',num2str(E))); text(6,-40,strcat('方差为',num2str(D)));-6-4-202468050100150200250300350400450标准正态分布直方图均值为0.0081833方差为1.00253、指数分布指数分布的概率密度函数如下:,0()0,x e x P x λλ-?≥=??其它;首先利用前面产生均匀分布随机数的方法生成一组均匀分布的随机数u ;则数列1ln y u λ=-,为均值为λ,方差为2λ的指数分布随机数列。
matlab仿真实验报告,Matlab仿真及其应用实验报告.doc

matlab仿真实验报告,Matlab仿真及其应⽤实验报告.doc Matlab仿真及其应⽤ 实验报告温州⼤学物理与电⼦信息⼯程学院Matlab仿真及其应⽤ 实验报告课程名称:Matlab仿真及其应⽤班 级:10电信姓名:吴** 学号:1011000****实验地点:5B305⽇期:12.25实验⼆ Matlab 基本编程基础[实验⽬的和要求]熟悉MATLAB环境与⼯作空间熟悉变量与矩阵的输⼊、矩阵的运算熟悉M⽂件与M函数的编写与应⽤熟悉MATLAB控制语句与逻辑运算掌握if语句、switch语句、try语句的使⽤。
掌握利⽤for语句、while语句实现循环结构的⽅法。
[实验内容]1⾏100列的Fibonacc 数组a,a(1)=a(2)=1,a(i)=a(i-1)+a(i-2),⽤for循环指令来寻求该数组中第⼀个⼤于10000的元素,并之处其位置i。
编写M函数表⽰曲线以及它的包络线,并从命令窗⼝输⼊命令语句绘制曲线。
t的取值范围是[0,4π]。
设,编写⼀个M函数⽂件,使得调⽤f(x)时,x可⽤矩阵代⼊,得出的f(x)为同阶矩阵。
根据,求时的最⼤n值;与(1)的n值对应的y值。
已知求中,最⼤值、最⼩值、各数之和,以及正数、零、负数的个数。
输⼊⼀个百分制成绩,要求输出成绩等级A,B,C,D,E。
其中,90~100分为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E。
求分段函数的值。
⽤if语句实现输出x=-5.0, -3.0, 1.0, 2.0, 2.5, 3.0, 5.0时的y值。
编写⼀M函数,实现近似计算指数,其中x为函数参数输⼊,当n+1步与n步的结果误差⼩于0.00001时停⽌。
编写⼀M函数,a和x作为M函数参数输⼊,函数⾥⾯分别⽤if结构实现函数表⽰实验结果及分析:1.a=ones(1,100); %定义数组for i=3:100a(i)=a(i-1)+a(i-2);if(a(i)>10000)a(i),break;endend ,i2.function y=ff(t)y1=exp(-t/3);y2=exp(-t/3).*sin(3*t); y=[y1;y2]3.function y=f(x);a=input('输⼊a值:');x=input('输⼊x值:');if(x<=-a)y=-1;elseif(x-a)y=x/a;elsey=1;endend4.for n=1:100f(n)=1./(2*n-1);y=sum(f)if y>=3my=y-f(n)breakendendmy5.f(1)=1,f(2)=0,f(3)=1; for n=4:100f(n)=f(n-1)-2*f(n-2)+f(n-3);enda=sum(f);b=max(f);c=min(f);p=f==0,d=sum(p);%p等于f为0的个数p1=f>0,e=sum(p1);p2=f<0,f=sum(p2);a,b,c,d,e,f6.clear;n=input('输⼊成绩:');m=floor(n/10);%取整switch mcase num2cell(9:10)disp('A'); %显⽰在控制框case 8disp('B');case 7disp('C');case 6disp('D');case num2cell(0:5)disp('E');otherwisedisp('error')end7.function y=ex3_4(x)for i=1:length(x)if (x(i)<0)&(x(i)~=-3)y(i)=x(i)^2+x(i)-6elseif (x(i)>=0)&(x(i)<5)&(x(i)~=2)&(x(i)~=3) y(i)=x(i)^2-5*x(i)+6else y(i)=x(i)^2-x(i)-1 endendy8.function t=ex3_4(x) n=0;t=1;y=1;x=input(‘’);while y>=0.00001n=n+1;y=x^n/factorial(n);t=t+y;endn9.function y=f(x);a=input('输⼊a值:'); x=input('输⼊x值:'); if。
MATLAB实验报告——运用MATLAB求解和分析线性时不变系统资料

MATLAB实验报告课程名称 MATLAB程序设计实验日期 2015 年 05 月 11 日学生姓名学号班级实验名称运用MATLAB求解和分析线性时不变系统实验仪器MATLAB7.1 Windows XP实验目的1.熟悉线性时不变LTI系统在典型激励信号下的响应及其特征。
2.掌握线性LTI系统单位冲激响应的求解方法。
3.熟悉MATLAB的相关函数的调用格式和作用。
4.会用MATLAB对系统进行时域分析。
实验基本原理1.Impulse函数功能:计算并画出系统的冲激响应。
调用格式: Impulse(sys):其中sys 可以是利用命令tf,zpk或ss建立的系统函数。
Impulse(sys,t)计算并画出系统在向量t定义的时间内的冲激响应。
Y=impulse(sys,t):保存系统的输出值。
2.Step函数功能:计算并画出系统的阶跃响应曲线。
调用格式: Step(sys):其中sys可以是利用命令tf,zpk,或ss 建立的系统。
Step(sys,t):计算并画出系统在向量t定义的时间内的阶跃响应。
3.Lsim函数功能:计算并画出系统在任意输入下的零状态响应。
调用格式: Lsim(sys,x,t):其中sys可以是利用命令tf,zpk或ss建立的系统函数,x是系统的输入,t定义的是时间范围。
Lsim(sys,x,t,zi):计算出系统在任意输入和零状态下的全响应,sys必须是状态空间形式的系统函数,zi是系统的原始状态。
4.roots函数功能:计算齐次多项式的根。
调用格式: r=roots(b):计算多项式b的根,r为多项式的根。
5.impz函数功能: 求离散系统单位脉冲响应,并绘制其时域波形。
调用格式:impz(b ,a) :以默认方式绘出向量a , b 定义的离散系统的单位脉冲响应的离散时域波形.impz(b ,a ,n) :绘出由向量a , b定义的离散系统在0—n (n必须为整数)离散时间范围内的单位序列响应的时域波形.impz(b ,a ,n1:n2) : 绘出由向量a , b定义的离散系统在n1—n2(n1 , n2必须为整数,且n1<n2)离散时间范围内的单位序列响应的时域波形。
《MATLAB与控制系统仿真》实验报告

《MATLAB与控制系统仿真》实验报告实验报告:MATLAB与控制系统仿真引言在现代控制工程领域中,仿真是一种重要的评估和调试工具。
通过仿真技术,可以更加准确地分析和预测控制系统的行为和性能,从而优化系统设计和改进控制策略。
MATLAB是一种强大的数值计算软件,广泛应用于控制系统仿真。
实验目的本实验旨在掌握MATLAB在控制系统仿真中的应用,通过实践了解控制系统的建模与仿真方法,并分析系统的稳定性和性能指标。
实验内容1.建立系统模型首先,根据控制系统的实际情况,建立系统的数学模型。
通常,控制系统可以利用线性方程或差分方程进行建模。
本次实验以一个二阶控制系统为例,其传递函数为:G(s) = K / [s^2 + 2ζω_ns + ω_n^2],其中,K表示放大比例,ζ表示阻尼比,ω_n表示自然频率。
2.进行系统仿真利用MATLAB软件,通过编写代码实现控制系统的仿真。
可以利用MATLAB提供的函数来定义传递函数,并通过调整参数来模拟不同的系统行为。
例如,可以利用step函数绘制控制系统的阶跃响应图像,或利用impulse函数绘制脉冲响应图像。
3.分析系统的稳定性与性能在仿真过程中,可以通过调整控制系统的参数来分析系统的稳定性和性能。
例如,可以改变放大比例K来观察系统的超调量和调整时间的变化。
通过观察控制系统的响应曲线,可以判断系统的稳定性,并计算出性能指标,如超调量、调整时间和稳态误差等。
实验结果与分析通过MATLAB的仿真,我们得到了控制系统的阶跃响应图像和脉冲响应图像。
通过观察阶跃响应曲线,我们可以得到控制系统的超调量和调整时间。
通过改变放大比例K的值,我们可以观察到超调量的变化趋势。
同时,通过观察脉冲响应曲线,我们还可以得到控制系统的稳态误差,并判断系统的稳定性。
根据实验结果分析,我们可以得出以下结论:1.控制系统的超调量随着放大比例K的增大而增大,但当K超过一定值后,超调量开始减小。
2.控制系统的调整时间随着放大比例K的增大而减小,即系统的响应速度加快。
matlab 仿真实验报告

matlab 仿真实验报告Matlab 仿真实验报告引言:在科学研究和工程应用中,仿真实验是一种非常重要的手段。
通过在计算机上建立数学模型和进行仿真实验,我们可以更好地理解和预测现实世界中的各种现象和问题。
Matlab作为一种强大的科学计算软件,被广泛应用于各个领域的仿真实验中。
本文将介绍我进行的一次基于Matlab的仿真实验,并对实验结果进行分析和讨论。
实验背景:在电子通信领域中,信号的传输和接收是一个重要的研究方向。
而在进行信号传输时,会受到各种信道的影响,如噪声、衰落等。
为了更好地理解信道的特性和优化信号传输方案,我进行了一次关于信道传输的仿真实验。
实验目的:本次实验的目的是通过Matlab仿真,研究不同信道条件下信号传输的性能,并对比分析不同传输方案的优劣。
实验步骤:1. 信道建模:首先,我需要建立信道的数学模型。
根据实际情况,我选择了常见的高斯信道模型作为仿真对象。
通过Matlab提供的函数,我可以很方便地生成高斯噪声,并将其加入到信号中。
2. 信号传输方案设计:接下来,我需要设计不同的信号传输方案。
在实验中,我选择了两种常见的调制方式:频移键控(FSK)和相移键控(PSK)。
通过调整不同的调制参数,我可以模拟不同的传输效果。
3. 信号传输仿真:在信道模型和传输方案设计完成后,我开始进行信号传输的仿真实验。
通过Matlab提供的信号处理函数,我可以很方便地生成调制后的信号,并将其传输到信道中。
4. 信号接收和解调:在信号传输完成后,我需要进行信号接收和解调。
通过Matlab提供的信号处理函数,我可以很方便地对接收到的信号进行解调,并还原出原始的信息信号。
5. 仿真结果分析:最后,我对仿真结果进行分析和讨论。
通过对比不同信道条件下的传输性能,我可以评估不同传输方案的优劣,并得出一些有价值的结论。
实验结果与讨论:通过对不同信道条件下的信号传输仿真实验,我得到了一些有价值的结果。
首先,我观察到在高斯噪声较大的信道条件下,PSK调制比FSK调制具有更好的抗干扰性能。
线性系统理论Matlab实践报告

1、(1)要对系统进行状态反馈的设计首先要判断其是否能控,即求出该系统的能控性判别矩阵,然后判断其秩,从而得出其是否可控;判断能控程序设计如下:>> A=[-0.8 0.02;-0.02 0];B=[0.05 1;0.001 0];Qc=ctrb(A,B)Qc =0.0500 1.0000 -0.0400 -0.80000.0010 0 -0.0010 -0.0200>> rank(Qc)ans =2得出结果能控型判别矩阵的秩为2,故而该系统是完全可控的,故可以对其进行状态反馈设计。
(2)求取状态反馈器中的K,设的期望特征根为-7,-8;其设计程序如下:>> A=[-0.8 0.02;-0.02 0];B=[0.05 1;0.001 0];P=[-7 -8];k=place(A,B,P)k =1.0e+003 *-0.0200 8.00000.0072 -0.4000程序中所求出的k即为所求状态反馈控制器的状态反馈矩阵,即由该状态反馈矩阵所构成的状态反馈控制器能够满足题目要求。
2、解:(a)要求求该系统的能控型矩阵,并验证该系统是不能控的。
设计程序>> A=[0 1 0 0 0;-0.1 -0.5 0 0 0;0.5 0 0 0 0;0 0 10 0 0;0.5 1 0 0 0];B=[0;1;0;0;0];C=[0 0 0 1 0];Qc=ctrb(A,B)Qc =0 1.0000 -0.5000 0.1500 -0.02501.0000 -0.5000 0.1500 -0.0250 -0.00250 0 0.5000 -0.2500 0.07500 0 0 5.0000 -2.50000 1.0000 0 -0.1000 0.0500>> Rc=rank(Qc)Rc =4从程序运行的结果可得,系统能控型判别矩阵的秩为4,而系统为5阶系统,故而就验证了该系统为不可控的。
MATLAB系统仿真实验报告一

MATLAB系统仿真实验报告(一实验一、MATLAB语言环境与基本运算一、实验目的及要求1.学习了解MATLAB语言环境2.练习MATLAB命令的基本操作3.练习MATLAB数值运算相关内容4.练习MATLAB符号运算相关内容5.撰写实验报告二、实验内容1.熟悉Matlab语言环境1).学习了解MATLAB语言环境MATLAB语言操作界面(主界面的各个窗口)主界面:工具栏:状态栏:命令窗口:文件窗口:工作空间窗口:历史命令窗口:变量查询命令who, whosWho:列出当前存储器中的所有变量Whos:列出当前工作空间中的所有变量,包括与他们的维数、字节、类型有关的变量目录与目录结构目录,文件夹,文件搜索路径联机帮助2).MATLAB基本操作命令demos,clc,clf,clear,contro-c(^c),diary Demos:Clc:命令窗口清屏。
Clf:清楚当前图形。
清楚工作空间。
Control+c:复制选定区域到粘贴板。
Diary:用于记录MATLAB窗口的输入的命令和响应输出,diary off关闭记录,diary on打开记录。
2.Matlab数值运算与符号运算1).MATLAB数值运算相关内容MATLAB变量及变量赋值变量名以字母开头,后接字母、数字或下划线的字符序列,最多63个字符。
变量名区分大小写,不可使用保留字。
变量赋值:变量名=表达式。
初等矩阵函数ones, zeros, eye, rand, randn, sizeOnes:生成常熟1构成的数组。
Zeros:零数组。
Eye:生成单位矩阵。
Rand:生成随机数和矩阵。
产生标准正态分布的随机数或矩阵的函数。
Size:求矩阵的维数。
矩阵的基本运算+ 加- 减* 乘^ 乘方‘共轭转置/或\ 矩阵相除./或.\ 数组相除矩阵的特征运算det, eig, rank, svdDet:求行列式。
Eig:求特征值和特征向量。
Rank:计算矩阵的秩。
系统仿真软件实验报告(3篇)

第1篇一、实验目的1. 掌握系统仿真软件的基本操作和功能;2. 学会使用系统仿真软件进行系统建模和仿真实验;3. 培养分析和解决实际问题的能力。
二、实验环境1. 操作系统:Windows 102. 系统仿真软件:MATLAB/Simulink三、实验内容1. 系统建模2. 仿真实验3. 结果分析四、实验步骤1. 系统建模(1)打开MATLAB/Simulink软件,创建一个新的模型;(2)根据实验要求,选择合适的模块进行搭建;(3)设置模块参数,完成系统建模。
2. 仿真实验(1)设置仿真参数,如仿真时间、步长等;(2)启动仿真,观察仿真结果;(3)对仿真结果进行分析。
3. 结果分析(1)根据仿真结果,分析系统的性能指标;(2)对实验结果进行讨论,提出改进措施。
五、实验结果与分析1. 系统建模本次实验中,我们搭建了一个简单的控制系统模型。
该模型由以下模块组成:输入信号源、控制器、执行器和被控对象。
输入信号源:产生一个正弦信号作为控制系统的输入;控制器:采用PID控制器进行控制;执行器:将控制信号转换为物理动作;被控对象:表示实际被控系统的动态特性。
2. 仿真实验在完成系统建模后,我们设置了仿真参数,如仿真时间为10秒,步长为0.01秒。
启动仿真后,观察到控制系统输出信号与期望信号基本一致,说明系统具有良好的控制性能。
3. 结果分析根据仿真结果,我们可以分析以下性能指标:(1)系统稳定性:通过观察系统输出信号,我们可以判断系统是否稳定。
在本实验中,系统输出信号在仿真过程中没有出现发散现象,说明系统是稳定的。
(2)系统响应速度:通过观察系统输出信号的上升时间和超调量,我们可以判断系统的响应速度。
在本实验中,系统输出信号的上升时间为0.5秒,超调量为10%,说明系统响应速度较快。
(3)系统控制精度:通过观察系统输出信号与期望信号的误差,我们可以判断系统的控制精度。
在本实验中,系统输出信号与期望信号的误差在0.1%以内,说明系统控制精度较高。
线性系统理论实验报告.

线性系统理论Matlab 实验报告1、在造纸流程中,投料箱应该把纸浆流变成2cm 的射流,并均匀喷洒在网状传送带上。
为此,要精确控制喷射速度和传送速度之间的比例关系。
投料箱内的压力是需要控制的主要变量,它决定了纸浆的喷射速度。
投料箱内的总压力是纸浆液压和另外灌注的气压之和。
由压力控制的投料箱是个耦合系统,因此,我们很难用手工方法保证纸张的质量。
在特定的工作点上,将投料箱线性化,可以得到下面的状态空间模型:u x x ⎥⎦⎤⎢⎣⎡+⎥⎦⎤⎢⎣⎡-+-=0001.0105.0002.002.08.0. []21,x x y =其中,系统的状态变量x1=液面高度,x2=压力,系统的控制变量u1=纸浆流量u2=气压阀门的开启量。
在上述条件下,试设计合适的状态变量反馈控制器,使系统具有实特征根,且有一个根大于5解:本题目是在已知状态空间描述的情况下要求设计一个状态反馈控制器,从而使得系统具有实数特征根,并要求要有一个根的模值要大于5,而特征根是正数时系统不稳定,这样的设计是无意义的,故而不妨采用状态反馈后的两个期望特征根为-7,-6,这样满足题目中所需的要求。
要对系统进行状态反馈的设计首先要判断其是否能控,即求出该系统的能控性判别矩阵,然后判断其秩,从而得出其是否可控。
Matlab 判断该系统可控性和求取状态反馈矩阵K 的程序,如图1所示,同时求得加入状态反馈后的特征根并与原系统的特征根进行了对比。
图1系统能控性、状态反馈矩阵和特征根的分析程序上述程序的运行结果如图2所示:图2系统能控性、反馈矩阵和特征根的运行结果图2中为图1matlab 程序的运行结果,经过判断得知系统是可控的,同时极点的配置个数与系统状态相符,求得了状态反馈矩阵K 的值,并把原系统的特征根(rootsold )和加入状态反馈后的特征根(rootsnew )进行对比。
同时通过特征值可以看出该系统是稳定的。
2、描述恒速制导导弹的运动方程为:u x x ⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡+⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=0001000015.000100000005.00005.0-1.0-00010. []x y 01000= 运用ctrb 函数计算系统的能控型矩阵,并验证系统是不可控的;计算从u 到Y 的传递函数,并消去传递函数中的分子和分母公因式,由此可以得到能控的状态空间模型。
matlab仿真课程设计报告

matlab仿真课程设计报告一、教学目标本课程的教学目标旨在通过MATLAB仿真技术的学习,使学生掌握MATLAB基本操作、仿真环境搭建、脚本编写及图形用户界面设计等技能,培养学生运用MATLAB解决实际问题的能力。
具体目标如下:1.知识目标:–理解MATLAB的系统结构及基本功能;–掌握MATLAB基本语法、数据类型、矩阵运算;–熟悉MATLAB仿真环境及相关工具箱;–了解MATLAB在工程领域的应用。
2.技能目标:–能够独立搭建简单的仿真环境;–能够运用MATLAB进行数据分析、算法实现;–具备编写MATLAB脚本及图形用户界面的能力;–能够运用MATLAB解决实际工程问题。
3.情感态度价值观目标:–培养学生的创新意识、团队协作精神及自主学习能力;–使学生认识到MATLAB在工程领域的重要性,提高学习兴趣;–培养学生运用所学知识解决实际问题的责任感。
二、教学内容本课程的教学内容主要包括MATLAB基础知识、MATLAB仿真环境及工具箱、脚本编写及图形用户界面设计等。
具体安排如下:1.MATLAB基础知识:–MATLAB概述及系统结构;–MATLAB基本语法、数据类型、矩阵运算。
2.MATLAB仿真环境及工具箱:–MATLAB仿真环境搭建;–MATLAB常用工具箱介绍,如控制系统、信号处理、图像处理等。
3.脚本编写及图形用户界面设计:–MATLAB脚本编写方法及技巧;–MATLAB图形用户界面设计原理及实例。
4.MATLAB在工程领域的应用:–利用MATLAB解决实际工程问题案例分析。
三、教学方法本课程采用讲授法、案例分析法、实验法等多种教学方法相结合,以激发学生的学习兴趣和主动性。
具体方法如下:1.讲授法:通过讲解MATLAB的基本概念、语法及应用,使学生掌握课程基本知识。
2.案例分析法:分析实际工程案例,让学生了解MATLAB在工程领域的应用,提高学生解决实际问题的能力。
3.实验法:安排适量实验,让学生动手操作,培养学生的实际操作能力和创新能力。
基于MATLAB的系统仿真实验指导书

基于MATLAB的系统仿真实验实验指导书二○○八年三月说明MATLAB是MATrix LABoratory的缩写,是一种基于矩阵的数学与工程计算系统,可以用作动态系统的建模与仿真。
研究系统的结构和参数的变化对系统性能的影响可利用MATLAB强大的计算和作图功能,因此本实验采用MATLAB仿真研究连续控制系统和离散控制系统的性能分析过程。
通过该实验提高学生对控制系统的分析与设计能力,加深对《自动控制原理》课程内容的理解。
该实验教学大纲中只安排了两个学时,本实验的内容比较多,要求同学们参考有关MATLAB应用的书籍利用课后时间完成。
同时可以将MATLAB用于习题的验证和课程的学习中。
仿真实验基于MATLAB 连续系统的仿真一、 实验目的在研究系统的结构和参数的变化对系统性能的影响时,采用解析和作图的方法比较麻烦,而且误差也大,用MATLAB 仿真实现则简单方便,精度高。
本实验采用MATLAB 实现控制系统的数学描述、控制系统的时域分析及根轨迹和频率特性分析。
通过该实验,加深学生对系统阶次,型号,参数与系统性能的关系的理解。
二、实验环境在计算机Windows 环境下安装好MATLAB6.3以上版本后,双击MATLAB 图标或成“开始”菜单打开MATLAB ,即可进入MATLAB 集成环境。
三、实验原理三、MATLAB 应用实例1.拉氏变换和反变换例 求22)(2++=t t t f 的拉氏变换 解键入 syms s t;ft=t^2+2*t+2; st=laplace(ft,t,s)运行结果为 st=2/s^3+2/s^2+2/s例 求)2)(34(6)(2++++=s s s s s F 的拉氏反变换解键入 syms s t;Fs=(s+6)/(s^2+4*s+3)/(s+2); ft=ilaplace(Fs,s,t)运行结果为 ft=3/2*exp(-3*t)+5/2*exp(-t)-4*exp(-2*t)2。
MatLab仿真实验报告

实验一 一阶系统及二阶系统时域特性MatLab 仿真实验 一:实验目的1、通过实验中的系统设计及理论分析方法,进一步理解自动控制系统的设计与分析方法。
2、熟悉仿真分析软件。
3、利用Matlab 对一、二阶系统进行时域分析。
4、掌握一阶系统的时域特性,理解常数T 对系统性能的影响。
5、掌握二阶系统的时域特性,理解二阶系统重要参数对系统性能的影响。
二、实验设备计算机和Matlab 仿真软件。
三、实验内容1、一阶系统时域特性 一阶系统11)(+=Ts s G ,影响系统特性的参数是其时间常数T ,T 越大,系统的惯性越大,系统响应越慢。
Matlab 编程仿真T=0.4,1.2,2.0,2.8,3.6,4.4系统单位阶跃响应。
2、二阶系统时域特性a 、二阶线性系统 16416)(2++=s s s G 单位脉冲响应、单位阶跃响应、单位正弦输入响应的 Matlab 仿真。
b 、二阶线性系统3612362++s s ξ,当ξ为0.1,0.2,0.5,0.7,1.0,2.0时,完成单位阶跃响应的Matlab 仿真,分析ξ值对系统响应性能指标的影响。
四、实验步骤1、一阶系统时域特性clearclcnum=1for del=0.4:0.8:4.4den=[del 1];step(tf(num,den))hold onendlegend('t=0.4','t=1.2','t=2.0','t=2.8','t=3.6','t=4.4') 2、二阶系统时域特性a、clearclcnum=16den=[1 4 16]sys=tf(num,den)[y1,t1]=impulse(sys)impulse(sys)figure ,plot(t1,y1)[y2,t2]=step(sys)step(sys)figure ,plot(t2,y2)hold ont=0:0.1:20figure,lsim(sys,sin(t),t)hold onc、clearclcnum=[0 0 4];den=[1 0.5 4];t=0:0.1:10;step(num,den,t)gridtitle('Step-Response Curves of G(s)=4/[s^2+2s+4]')num=[0 0 36]; den1=[1 1.2 36]; den2=[1 2.4 36]; den3=[1 4.8 36]; den4=[1 8.4 36]; den5=[1 12 36]; den6=[1 24 36];t=0:0.1:10; step(num,den1,t)gridtext(4,1.7,'Zeta=0.1'); holdstep(num,den2,t)text(3.3,1.5,'0.2')step(num,den3,t)text(3.5,1.2,'0.4')step(num,den4,t)text(3.3,0.9,'0.7')step(num,den5,t)text(3.3,0.6,'1.0')step(num,den6,t)text(3.0,0.4,'2.0')title('Step-Response Curves for G(s)=36/[s^2+12(zeta)s+1]')五、实验结果1、2、a、b、。
matlab 模拟 实验报告

matlab 模拟实验报告《利用Matlab模拟的实验报告》摘要:本实验利用Matlab软件对某一特定系统进行了模拟实验。
通过对系统的建模和仿真,我们得出了一些有价值的结论,并对系统的性能进行了评估。
本文将详细介绍实验的目的、方法、结果和分析,以及对实验结果的讨论和总结。
1. 引言Matlab是一种强大的数学建模和仿真工具,广泛应用于工程、科学和技术领域。
利用Matlab进行系统仿真可以帮助我们更好地理解系统的行为和性能,优化系统设计,并预测系统在不同条件下的表现。
本实验旨在利用Matlab对某一特定系统进行仿真,以验证系统的性能和稳定性。
2. 实验目的本实验的主要目的是利用Matlab对某一特定系统进行建模和仿真,分析系统的动态响应和稳定性,并评估系统的性能。
具体来说,我们将通过仿真实验探讨系统的频率响应、阶跃响应和脉冲响应,以及系统的稳定性和鲁棒性。
3. 实验方法首先,我们对系统进行了建模,包括系统的传递函数、状态空间模型等。
然后,利用Matlab软件进行仿真实验,分别对系统的频率响应、阶跃响应和脉冲响应进行了分析。
最后,我们对仿真结果进行了统计和评估,得出了一些有价值的结论。
4. 实验结果与分析通过Matlab的仿真实验,我们得到了系统的频率响应曲线、阶跃响应曲线和脉冲响应曲线。
通过对这些曲线的分析,我们可以得出系统的动态特性和稳定性。
同时,我们还对系统的性能进行了评估,包括系统的超调量、调节时间等指标。
5. 结果讨论与总结通过对实验结果的讨论和总结,我们得出了一些结论和建议。
我们对系统的性能和稳定性进行了评估,发现系统在某些条件下存在一些问题,提出了一些建议和改进措施。
同时,我们也对Matlab软件在系统仿真中的应用进行了总结和展望。
结论本实验利用Matlab对某一特定系统进行了建模和仿真,得出了一些有价值的结论。
通过对系统的动态响应和稳定性进行分析,我们发现了系统存在的一些问题,并提出了一些建议和改进措施。
MATLAB实验报告(信号与线性系统分析)

实验一 MATLAB 的基本使用【一】 实验目的1.了解MA TALB 程序设计语言的基本特点,熟悉MATLAB 软件的运行环境;2.掌握变量、函数等有关概念,掌握M 文件的创建、保存、打开的方法,初步具备将一般数学问题转化为对应计算机模型处理的能力;3.掌握二维图形绘制的方法,并能用这些方法实现计算结果的可视化。
【二】 MATLAB 的基础知识通过本课程的学习,应基本掌握以下的基础知识: 一. MATLAB 简介 二. MATLAB 的启动和退出 三. MATLAB 使用界面简介 四. 帮助信息的获取五. MATLAB 的数值计算功能六. 程序流程控制 七. M 文件八. 函数文件九. MATLAB 的可视化 【三】上机练习1. 仔细预习第二部分内容,关于MATLAB 的基础知识。
2. 熟悉MATLAB 环境,将第二部分所有的例子在计算机上练习一遍3.已知矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=123456789,987654321B A 。
求A*B ,A .* B ,比较二者结果是否相同。
并利用MATLAB 的内部函数求矩阵A 的大小、元素和、长度以及最大值。
解:代码:A=[1,2,3;4,5,6;7,8,9];B=[9,8,7;6,5,4;3,2,1]; A*B A.*B两者结果不相同A*B=30 24 18 84 69 54 138 114 90 A.*B= 9 16 21 24 25 24 21 16 9求A 矩阵的行和列: [M,N]=size(A)M =3N =3 求A 矩阵的长度:x=length(A)x =3 元素和:sum(sum(A))ans =45最大值:max(max(A))ans =94. Fibonacci 数组的元素满足Fibonacci 规则:),2,1(,12=+=++k a a a k k k ;且121==a a 。
现要求该数组中第一个大于10000的元素。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
线性系统理论实验报告
学院:电信学院
姓名:邵昌娟
学号:6
专业:电气工程
线性系统理论Matlab实验报告
1、由分析可知系统的状态空间描述,因系统综合实质上是通过引入适当状态反馈矩阵K,使得闭环系统的特征值均位于复平面S的期望位置。
而只有当特征根均位于S的左半平面时系统稳定。
故当特征根是正数时系统不稳定,设计无意义。
所以设满足题目中所需要求的系统的期望特征根分别为λ1*=-2,λ2*=-4。
(a) 判断系统的能控性,即得系统的能控性判别矩阵Q c,然后判断rankQ c,若rank Q c =n=2则可得系统可控;利用Matlab判断系统可控性的程序如图1(a)所示。
由程序运行结果可知:rank Q c =n=2,故系统完全可控,可对其进行状态反馈设计。
(b) 求状态反馈器中的反馈矩阵K,因设系统的期望特征根分别为λ1*=-2,λ2*=-4;所以利用Matlab求反馈矩阵K的程序如图1(b)所示。
由程序运行结果可知:K即为所求状态反馈控制器的状态反馈矩阵,即由该状态反馈矩阵所构成的状态反馈控制器能够满足题目要求。
图1(a) 系统的能控性图1(b) 状态反馈矩阵
2、(a) 求系统的能控型矩阵Q c,验证若rank Q c <n=5,则系统是不能控的。
利用Matlab 验证系统能控性的程序如图2(a)所示:由程序运行结果可知:rank Q c =4<n=5,而系统为5阶系统,所以系统为不可控。
(b) 求u到y的传递函数,并确定新的状态变量模型。
利用Matlab求u到y的传递函数及新的状态变量模型的程序如图2(b)和2(c)所示:由程序运行结果可知所得的新的状态变量模型的n=4,造成这种情况的原因在于原系统为不可控系统,因rank Q c =4,传递函数只能表述系统中可控的部分,故新的状态变量模型为4阶系统。
(c) 证明新的状态变量的模型为可控的,即若rank Q c1 =n=4则新的状态变量的模型即为可控的;故利用Matlab证明新的状态变量的模型为可控的程序如图2(d)所示:由程序的运行结果可知:rank Q c1 =n=4,即可得新的状态变量的模型完全能控。
(d) 判断系统的稳定性,可采用李雅普洛夫特征值法进行判定;利用Matlab判断系统的稳定性的程序如图2(e)所示:由程序的运行结果可知:特征值的根的实部均不为正数,故系统在李雅普洛夫意义下稳定。
图2(a) 系统的能控性
图2(b) u到y的传递函数
图2(c) 系统脉冲传递函数与状态空间表达
(c) 证明新的状态变量的模型为可控的,即若rank Q c1 =n=4则新的状态变量的模型即为可控的;故利用Matlab证明新的状态变量的模型为可控的程序如图2(d)所示:由程序的运行结果可知:rank Q c1 =n=4,即可得新的状态变量的模型完全能控。
(d) 判断系统的稳定性,可采用李雅普洛夫特征值法进行判定;利用Matlab判断系统的稳定性的程序如图2(e)所示:由程序的运行结果可知:特征值的根的实部均不为正数,故系统在李雅普洛夫意义下稳定。
(e) 讨论状态变量模型的能控性和复杂性的关系。
因一个系统能控需能控型判别矩阵的秩等于系统的维数,即rank Q c =n,也即等于状态变量的个数。
但系统越复杂,状态空间描述中应用的状态变量的个数也越多,rank Q c =n也就越大,也就越难达到要求,所以系统的能控性就越难以满足。
综上所述可知,越复杂的系统就越难实现完全可控。
图2(d) 状态变量的模型能控性
图2(e) 系统的稳定性
3、(a) 求系统矩阵A的特征值,并判断其稳定性,可采用李雅普洛夫特征值法进行判定;
图3(a) 系统的稳定性
图3(b) 系统矩阵A 的特征值
图3(c) 系统的能控性
利用Matlab判断系统的稳定性的程序如图3(a)所示:由程序的运行结果可知:系统矩
阵的特征值有两个根的实部为正数,故系统不稳定。
(b) 利用Matlab的poly函数求系统矩阵A 的特征值的程序如图3(b)所示:由程序的运行结果可知:poly函数与eig函数所求出的特征值不同,但结果都表明系统是不稳定的。
(c) 判断当u1与u2分别发挥作用时,系统的能控性;利用Matlab判断系统的能控性的程序如图3(c)所示:由程序的运行结果可知:当u1与u2分别发挥作用时,rank Q c1 = rank Q c2 =n=4,即其秩等于系统的维数,故可得系统在u1与u2分别发挥作用时,系统均能控。
4、(a) 判断系统的稳定性,可采用李雅普洛夫特征值法进行判定;利用Matlab判断系统的稳定性的程序如图4(a)所示:
图4(a) 系统的稳定性
由程序的运行结果可知:系统矩阵A的特征值中有一个为正数,故系统不稳定。
图4(b) 系统的能控性
(b) 求当u1发挥作用时的能控型判别矩阵Q c1,若rank Q c1 =n=6,则系统可控;利用
Matlab判断系统的能控性的程序如图4(b)所示:由程序的运行结果可知:当u1发挥作用时rank Q c1 =4<n=6,故系统不能控。
(c) 求当u2发挥作用时的能控型判别矩阵Q c2,若rank Q c2 =n=6,则系统可控;利用Matlab 判断系统的能控性的程序如图4(c)所示:当u2发挥作用时rank Q c2 =4<n=6,故系统不能控。
图4(c) 系统的能控性
图4(d) 系统的能控性
(d) 求当u3发挥作用时的能控型判别矩阵Q c3,若rank Q c3 =n=6,则系统可控;利用Matlab判断系统的能控性的程序如图4(d)所示:由程序的运行结果可知:当u3发挥作用时rank Q c3 =2<n=6,故系统不能控。
(e) 求由u2到漂移量的传递函数;利用Matlab判断系统的能控性的程序如图4(e)所示:
图4(e) 系统的能控性
由程序的运行结果可得所求传递函数G。
(f) 求G所对应的状态变量模型,并验证其为能控系统;利用Matlab判断系统的能控性的程序如图4(f)和4(g)所示:由程序的运行结果可知:新的状态变量模型的能控型判别矩阵Q c1的秩,即rank Q c1 =n=4,故新的状态变量系统可控。
图4(f) 系统的能控性
图4(g) 系统状态空间表达
图4(h) 状态反馈矩阵
(g) 设计状态反馈控制器,即求所对应的状态反馈矩阵K,使得其闭环极点为S1=-1+j,
S 2=-1-j ,S 3=-10,S 4=-10;利用Matlab 求解状态反馈矩阵的程序如图4(h)所示,所求的k 即为状态反馈矩阵。
5、由课本中的分析可得,系统的一阶数学模型υβ0.0979Δ0.0262Δ--0.3397x x
+= 。
由于要设计风力机转速的闭环PI 控制,且将风速的变化视为扰动,则可得带有PI 控制器的风力机控制系统,如图5(a)所示:
图5(a) 含PI 控制器的风力机控制系统
其中PI 控制器的模型为K 1+K 2/S ,故系统闭环特征方程为S 2+0.3397K 1S+0.3397K 2=0。
因要想使风力机稳定运行,则需特征方程的根具有负实部;故利用Matlab 求解的程序如图5(b)所示:
图5(b) 特征方程解
由程序的运行结果可知:只有特征根具有负实部时,风力机系统才能稳定运行,故分别取K 1≦180,K 2≦86,则此时得到的PI 控制器将满足要求。
6、采用状态反馈和极点配置算法,设计风力机转速的闭环控制系统,即确定状态反馈矩阵K ,从而使得系统矩阵的特征根为期望特征根。
设期望的系统矩阵特征根为λ1*=-1,λ2*=-5,λ3*=-7;则利用Matlab 判断系统可控性及求解状态反馈矩阵的程序如图6(a)所示:由程序的运行结果可知,由K 所构成的状态反馈器可满足要求。
图6(a) 系统能控性及状态反馈矩阵
7、对风力机三阶模型系统进行LQR控制器设计,因已知系统的系统矩阵和输入矩阵,故需求加权矩阵Q,R,设Q=diag([1,1,1]);R=1;则利用Matlab中的lqr函数进行LQR 控制器设计的程序如图7(a)所示。
图7(a) 状态反馈矩阵
由程序的运行结果可知:K即为LQR控制器中的状态反馈矩阵。
8、设计风力机三阶模型的状态反馈及其状态观测器,且为降维状态观测器,因rank C=1,
故可得降维状态观测器的维数为dim∑ROB =3-1=2。
设状态反馈的期望极点为λ1*=-1,λ2*=-2,λ3*=-3,状态观测器的期望极点为λ4*=-5,λ5*=-7,则利用Matlab判断系统可控性及求解状态反馈矩阵的程序如图8(a)所示:由程序的运行结果可知,K1即为状态反馈控制器的状态反馈矩阵,L为降维观测器所求矩阵,而R,S,T,U矩阵则为构成状态反馈器所需中间矩阵。
由所求矩阵K1 ;R ;S ;T ;U则可构状态反馈控制器与降维观测器。