现代控制理论实验 用 MATLAB分析状态空间模型

现代控制理论实验   用 MATLAB分析状态空间模型
现代控制理论实验   用 MATLAB分析状态空间模型

实验报告

信号与系统matlab实验及答案

产生离散衰减正弦序列()π0.8sin 4n x n n ?? = ??? , 010n ≤≤,并画出其波形图。 n=0:10; x=sin(pi/4*n).*0.8.^n; stem(n,x);xlabel( 'n' );ylabel( 'x(n)' ); 用MATLAB 生成信号()0sinc at t -, a 和0t 都是实数,410t -<<,画波形图。观察并分析a 和0t 的变化对波形的影响。 t=linspace(-4,7); a=1;

t0=2; y=sinc(a*t-t0); plot(t,y); t=linspace(-4,7); a=2; t0=2; y=sinc(a*t-t0); plot(t,y);

t=linspace(-4,7); a=1; t0=2; y=sinc(a*t-t0); plot(t,y);

三组对比可得a 越大最大值越小,t0越大图像对称轴越往右移 某频率为f 的正弦波可表示为()()cos 2πa x t ft =,对其进行等间隔抽样,得到的离散样值序列可表示为()()a t nT x n x t ==,其中T 称为抽样间隔,代表相邻样值间的时间间隔,1 s f T = 表示抽样频率,即单位时间内抽取样值的个数。抽样频率取40 Hz s f =,信号频率f 分别取5Hz, 10Hz, 20Hz 和30Hz 。请在同一张图中同时画出连续信号()a x t t 和序列()x n nT 的波形图,并观察和对比分析样值序列的变化。可能用到的函数为plot, stem, hold on 。 fs = 40; t = 0 : 1/fs : 1 ; % ?μ?ê·?±e?a5Hz,10Hz,20Hz,30Hz f1=5; xa = cos(2*pi*f1*t) ; subplot(1, 2, 1) ;

实验一MATLAB系统的传递函数和状态空间表达式的转换

实验一 MATLAB 系统的传递函数和状态空间表达式的转换 一、 实验目的 1、学习多变量系统状态空间表达式的建立方法; 2、通过编程、上机调试,掌握多变量系统状态空间表达式与传递函数之间相互转换的方法; 3、掌握相应的MATLAB 函数。 二、 实验原理 设系统的模型如式(1.1)所示: ???+=+=D Cx y Bu Ax x ' x ''R ∈ u ∈R ’’’ y ∈R P (1.1) 其中A 为nXn 维系统矩阵、B 为nXm 维输入矩阵、C 为pXn 维输出矩阵,D 为直接传递函数。系统的传递函数和状态空间表达式之间的关系如式(1.2)所示 G(s)=num(s)/den(s)=C (SI-A)-1 B+D (1.2) 式(1.2)中,num(s)表示传递函数的分子阵,其维数是pXm ,den(s)表示传递函数的按s 降幂排列的分母。 表示状态空间模型和传递函数的MATLAB 函数如下: 函数ss (state space 的首字母)给出了状态空间模型,其一般形式是: sys=ss(A,B,C,D) 函数tf (transfer function 的首字母)给出了传递函数,其一般形式是:

G=tf(num ,den) 其中num 表示传递函数中分子多项式的系数向量(单输入单输出系统),den 表示传递函数中分母多项式的系数向量。 函数tf2ss 给出了传递函数的一个状态空间实现,其一般形式是: [A,B,C,D]=tf2ss(num,den) 函数ss2tf 给出了状态空间模型所描述系统的传递函数,其一般形式是: [num,den]=ss2tf(A,B,C,D,iu) 其中对于多输入系统,必须确定iu 的值。例如,若系统有三个输入u 1,u 2,u 3,则iu 必须是1、2、或3,其中1表示u 1,2表示u 2,3表示u 3。该函数的结果是第iu 个输入到所有输出的传递函数。 三.实验步骤及结果 1、应用MATLAB 对下列系统编程,求系统的A 、B 、C 、D 阵,然后验证传递函数是相同的。 G(s)= ?? ????+++352^12s s s s 3+4s 2+5s+1 程序和运行结果:

信号与系统MATLAB实验报告

《信号与系统》MATLAB实验报告 院系:专业: 年级:班号: 姓名:学号: 实验时间: 实验地点:

实验一 连续时间信号的表示及可视化 实验题目: )()(t t f δ=;)()(t t f ε=;at e t f =)((分别取00<>a a 及); )()(t R t f =;)()(t Sa t f ω=;)2()(ft Sin t f π=(分别画出不同周期个数 的波形)。 解题分析: 以上各类连续函数,先运用t = t1: p:t2的命令定义时间范围向量,然后调用对应的函数,建立f 与t 的关系,最后调用plot ()函数绘制图像,并用axis ()函数限制其坐标范围。 实验程序: (1) )()(t t f δ= t=-1:0.01:3 %设定时间变量t 的范围及步长 f=dirac(t) %调用冲激函数dirac () plot(t,f) %用plot 函数绘制连续函数 axis([-1,3,-0.5,1.5]) %用axis 函数规定横纵坐标的范围 (2) )()(t t f ε= t=-1:0.01:3 %设定时间变量t 的范围及步长 f=heaviside(t) %调用阶跃函数heaviside () plot(t,f) %用plot 函数绘制连续函数 title('f(t)=heaviside(t)') %用title 函数设置图形的名称 axis([-1,3,-0.5,1.5]) %用axis 函数规定横纵坐标的范围 (3) at e t f =)( a=1时: t=-5:0.01:5 %设定时间变量t 的范围及步长 f=exp(t) %调用指数函数exp ()

matlab建立多元线性回归模型并进行显著性检验及预测问题

matlab建立多元线性回归模型并进行显着性检验及预测问题 例子; x=[143 145 146 147 149 150 153 154 155 156 157 158 159 160 162 164]'; X=[ones(16,1) x]; 增加一个常数项Y=[88 85 88 91 92 93 93 95 96 98 97 96 98 99 100 102]'; [b,bint,r,rint,stats]=regress(Y,X) 得结果:b = bint = stats = 即对应于b的置信区间分别为[,]、[,]; r2=, F=, p= p<, 可知回归模型y=+ 成立. 这个是一元的,如果是多元就增加X的行数! function [beta_hat,Y_hat,stats]=regress(X,Y,alpha) % 多元线性回归(Y=Xβ+ε)MATLAB代码 %? % 参数说明 % X:自变量矩阵,列为自变量,行为观测值 % Y:应变量矩阵,同X % alpha:置信度,[0 1]之间的任意数据 % beta_hat:回归系数 % Y_beata:回归目标值,使用Y-Y_hat来观测回归效果 % stats:结构体,具有如下字段 % =[fV,fH],F检验相关参数,检验线性回归方程是否显着 % fV:F分布值,越大越好,线性回归方程越显着 % fH:0或1,0不显着;1显着(好) % =[tH,tV,tW],T检验相关参数和区间估计,检验回归系数β是否与Y有显着线性关系 % tV:T分布值,beta_hat(i)绝对值越大,表示Xi对Y显着的线性作用% tH:0或1,0不显着;1显着 % tW:区间估计拒绝域,如果beta(i)在对应拒绝区间内,那么否认Xi对Y显着的线性作用 % =[T,U,Q,R],回归中使用的重要参数 % T:总离差平方和,且满足T=Q+U % U:回归离差平方和 % Q:残差平方和 % R∈[0 1]:复相关系数,表征回归离差占总离差的百分比,越大越好% 举例说明 % 比如要拟合y=a+b*log(x1)+c*exp(x2)+d*x1*x2,注意一定要将原来方程线化% x1=rand(10,1)*10; % x2=rand(10,1)*10; % Y=5+8*log(x1)+*exp(x2)+*x1.*x2+rand(10,1); % 以上随即生成一组测试数据 % X=[ones(10,1) log(x1) exp(x2) x1.*x2]; % 将原来的方表达式化成Y=Xβ,注意最前面的1不要丢了

(完整word版)信号与系统matlab实验

习题三 绘制典型信号及其频谱图 1.更改参数,调试程序,绘制单边指数信号的波形图和频谱图。观察参数a对信号波形 及其频谱的影响。 程序代码: close all; E=1;a=1; t=0:0.01:4; w=-30:0.01:30; f=E*exp(-a*t); F=1./(a+j*w); plot(t,f);xlabel('t');ylabel('f(t)'); figure; plot(w,abs(F));xlabel('\omega');ylabel('|F(\omega)|';

E=1,a=1,波形图频谱图更改参数E=2,a=1;

更改参数a,对信号波形及其频谱的影响。(保持E=2)上图为a=1图像 a=2时

a=4时 随着a的增大,f(t)曲线变得越来越陡,更快的逼近0,而对于频谱图,随着a增大,图像渐渐向两边张开,峰值减小,陡度减小,图像整体变得更加平缓。 2.矩形脉冲信号 程序代码: close all; E=1;tao=1; t=-4:0.1:4; w=-30:0.1:30;

f=E*(t>-tao/2&tao/2)+0*(t<=-tao/2&t>=tao/2); F=(2*E./w).*sin(w*tao/2); plot(t,f);xlabel('t');ylabel('f(t)'); figure; plot(w,abs(F));xlabel('\omega');ylabel('|F(\omega)|') ; figure; plot(w,20*log10(abs(F))); xlabel('\omega');ylabel('|F(\omega)| in dB'); figure; plot(w,angle(F));xlabel('\omega');ylabel('\phi(\omega )');

matlab多元线性回归模型

云南大学数学与统计学实验教学中心 实验报告 一、实验目的 1.熟悉MATLAB的运行环境. 2.学会初步建立数学模型的方法 3.运用回归分析方法来解决问题 二、实验内容 实验一:某公司出口换回成本分析 对经营同一类产品出口业务的公司进行抽样调查,被调查的13家公司,其出口换汇成本与商品流转费用率资料如下表。试分析两个变量之间的关系,并估计某家公司商品流转费用率是6.5%的出口换汇成本. 实验二:某建筑材料公司的销售量因素分析 下表数据是某建筑材料公司去年20个地区的销售量(Y,千方),推销开支、实际帐目数、同类商品

竞争数和地区销售潜力分别是影响建筑材料销售量的因素。1)试建立回归模型,且分析哪些是主要的影响因素。2)建立最优回归模型。 提示:建立一个多元线性回归模型。

三、实验环境 Windows 操作系统; MATLAB 7.0. 四、实验过程 实验一:运用回归分析在MATLAB 里实现 输入:x=[4.20 5.30 7.10 3.70 6.20 3.50 4.80 5.50 4.10 5.00 4.00 3.40 6.90]'; X=[ones(13,1) x]; Y=[1.40 1.20 1.00 1.90 1.30 2.40 1.40 1.60 2.00 1.00 1.60 1.80 1.40]'; plot(x,Y,'*'); [b,bint,r,rint,stats]=regress(Y,X,0.05); 输出: b = 2.6597 -0.2288 bint = 1.8873 3.4322 -0.3820 -0.0757 stats = 0.4958 10.8168 0.0072 0.0903 即==1,0?6597.2?ββ,-0.2288,0?β的置信区间为[1.8873 3.4322],1,?β的置信区间为[-0.3820 -0.0757]; 2r =0.4958, F=10.8168, p=0.0072 因P<0.05, 可知回归模型 y=2.6597-0.2288x 成立. 1 1.5 2 2.5 散点图 估计某家公司商品流转费用率是6.5%的出口换汇成本。将x=6.5代入回归模型中,得到 >> x=6.5; >> y=2.6597-0.2288*x y = 1.1725

信号与系统MATLAB实验

2016-2017学年第一学期 信号与系统实验报告 班级: 姓名: 学号: 成绩: 指导教师:

实验一常见信号的MATLAB 表示及运算 一.实验目的 1.熟悉常见信号的意义、特性及波形 2.学会使用MATLAB 表示信号的方法并绘制信号波形 3. 掌握使用MATLAB 进行信号基本运算的指令 4. 熟悉用MATLAB 实现卷积积分的方法 二.实验原理 信号一般是随时间而变化的某些物理量。按照自变量的取值是否连续,信号分为连续时间信号和离散时间信号,一般用()f t 和()f k 来表示。若对信号进行时域分析,就需要绘制其波形,如果信号比较复杂,则手工绘制波形就变得很困难,且难以精确。MATLAB 强大的图形处理功能及符号运算功能,为实现信号的可视化及其时域分析提供了强有力的工具。 根据MATLAB 的数值计算功能和符号运算功能,在MATLAB 中,信号有两种表示方法,一种是用向量来表示,另一种则是用符号运算的方法。在采用适当的MATLAB 语句表示出信号后,就可以利用MATLAB 中的绘图命令绘制出直观的信号波形了。下面分别介绍连续时间信号和离散时间信号的MATLAB 表示及其波形绘制方法。 1.连续时间信号 所谓连续时间信号,是指其自变量的取值是连续的,并且除了若干不连续的点外,对于一切自变量的取值,信号都有确定的值与之对应。从严格意义上讲,MATLAB 并不能处理连续信号。在MATLAB 中,是用连续信号在等时间间隔点上的样值来近似表示的,当取样时间间隔足够小时,这些离散的样值就能较好地近似出连续信号。在MATLAB 中连续信号可用向量或符号运算功能来表示。 ⑴ 向量表示法 对于连续时间信号()f t ,可以用两个行向量f 和t 来表示,其中向量t 是用形如12::t t p t 的命令定义的时间范围向量,其中,1t 为信号起始时间,2t 为终止时间,p 为时间间隔。向量f 为连续信号()f t 在向量t 所定义的时间点上的样值。 说明:plot 是常用的绘制连续信号波形的函数。 严格说来,MATLAB 不能表示连续信号,所以,在用plot()命令绘制波形时,要对自变量t 进行取值,MATLAB 会分别计算对应点上的函数值,然后将各个数据点通过折线连接起来绘制图形,从而形成连续的曲线。因此,绘制的只是近似波形,而且,其精度取决于t 的取样间隔。t 的取样间隔越小,即点与点之间的距离越小,则近似程度越好,曲线越光滑。例如:图1-1是在取样间隔为p=0.5时绘制的波形,而图1-2是在取样间隔p=0.1时绘制的波形,两相对照,可以看出图1-2要比图1-1光滑得多。

多元回归分析matlab剖析

回归分析MATLAB 工具箱 一、多元线性回归 多元线性回归:p p x x y βββ+++=...110 1、确定回归系数的点估计值: 命令为:b=regress(Y , X ) ①b 表示???? ?? ????????=p b βββ?...??10 ②Y 表示????????????=n Y Y Y Y (2) 1 ③X 表示??? ??? ????? ???=np n n p p x x x x x x x x x X ...1......... .........1 (12) 1 22221 11211 2、求回归系数的点估计和区间估计、并检验回归模型: 命令为:[b, bint,r,rint,stats]=regress(Y ,X,alpha) ①bint 表示回归系数的区间估计. ②r 表示残差. ③rint 表示置信区间. ④stats 表示用于检验回归模型的统计量,有三个数值:相关系数r 2、F 值、与F 对应的概率p. 说明:相关系数2 r 越接近1,说明回归方程越显著;)1,(1-->-k n k F F α时拒绝0H ,F 越大,说明回归方程越显著;与F 对应的概率p α<时拒绝H 0,回归模型成立. ⑤alpha 表示显著性水平(缺省时为0.05) 3、画出残差及其置信区间. 命令为:rcoplot(r,rint) 例1.如下程序. 解:(1)输入数据. x=[143 145 146 147 149 150 153 154 155 156 157 158 159 160 162 164]'; X=[ones(16,1) x]; Y=[88 85 88 91 92 93 93 95 96 98 97 96 98 99 100 102]'; (2)回归分析及检验. [b,bint,r,rint,stats]=regress(Y ,X) b,bint,stats 得结果:b = bint =

MATLAB---回归预测模型

MATLAB---回归预测模型 Matlab统计工具箱用命令regress实现多元线性回归,用的方法是最小二乘法,用法是: b=regress(Y,X) [b,bint,r,rint,stats]=regress(Y,X,alpha) Y,X为提供的X和Y数组,alpha为显著性水平(缺省时设定为0.05),b,bint 为回归系数估计值和它们的置信区间,r,rint为残差(向量)及其置信区间,stats是用于检验回归模型的统计量,有四个数值,第一个是R2,第二个是F,第三个是与F对应的概率 p ,p <α拒绝 H0,回归模型成立,第四个是残差的方差 s2 。 残差及其置信区间可以用 rcoplot(r,rint)画图。 例1合金的强度y与其中的碳含量x有比较密切的关系,今从生产中收集了一批数据如下表 1。 先画出散点图如下: x=0.1:0.01:0.18; y=[42,41.5,45.0,45.5,45.0,47.5,49.0,55.0,50.0]; plot(x,y,'+') 可知 y 与 x 大致上为线性关系。

设回归模型为 y =β 0 +β 1 x 用regress 和rcoplot 编程如下: clc,clear x1=[0.1:0.01:0.18]'; y=[42,41.5,45.0,45.5,45.0,47.5,49.0,55.0,50.0]'; x=[ones(9,1),x1]; [b,bint,r,rint,stats]=regress(y,x); b,bint,stats,rcoplot(r,rint) 得到 b =27.4722 137.5000 bint =18.6851 36.2594 75.7755 199.2245 stats =0.7985 27.7469 0.0012 4.0883 即β 0=27.4722 β 1 =137.5000 β0的置信区间是[18.6851,36.2594], β1的置信区间是[75.7755,199.2245]; R2= 0.7985 , F = 27.7469 , p = 0.0012 , s2 =4.0883 。 可知模型(41)成立。 观察命令 rcoplot(r,rint)所画的残差分布,除第 8 个数据外其余残差的置信区间均包含零点第8个点应视为异常点,

信号与系统MATLAB实验总汇

实验一、MATLAB 编程基础及典型实例 一、实验目的 (1)熟悉MATLAB 软件平台的使用; (2)熟悉MATLAB 编程方法及常用语句; (3)掌握MATLAB 的可视化绘图技术; (4)结合《信号与系统》的特点,编程实现常用信号及其运算。 示例一:在两个信号进行加、减、相乘运算时,参于运算的两个向量要有相同的维数,并且它们的时间变量范围要相同,即要对齐。编制一个函数型m 文件,实现这个功能。function [f1_new,f2_new,n]=duiqi(f1,n1,f2,n2) a=min(min(n1),min(n2)); b=max(max(n1),max(n2)); n=a:b; f1_new=zeros(1,length(n)); f2_new=zeros(1,length(n)); tem1=find((n>=min(n1))&(n<=max(n1))==1); f1_new(tem1)=f1; tem2=find((n>=min(n2))&(n<=max(n2))==1); f2_new(tem2)=f2; 四、实验内容与步骤 (2)绘制信号x(t)=)3 2sin(2t e t ?的曲线,t 的范围在0~30s ,取样时间间隔为0.1s 。t=0:0.1:30; y=exp(-sqrt(2)*t).*sin(2*t/3); plot(t,y);

(3)在n=[-10:10]范围产生离散序列:?? ?≤≤?=Other n n n x ,033,2)(,并绘图。n=-10:1:10; z1=((n+3)>=0); z2=((n-3)>=0); x=2*n.*(z1-z2); stem(n,x);(4)编程实现如下图所示的波形。 t=-2:0.001:3; f1=((t>=-1)&(t<=1)); f2=((t>=-1)&(t<=2)); f=f1+f2; plot(t,f); axis([-2,3,0,3]);

Matlab多变量回归分析教程

本次教程的主要内容包含: 一、多元线性回归 2# 多元线性回归:regress 二、多项式回归 3# 一元多项式:polyfit或者polytool 多元二项式:rstool或者rsmdemo 三、非线性回归 4# 非线性回归:nlinfit 四、逐步回归 5# 逐步回归:stepwise 一、多元线性回归 多元线性回归: 1、b=regress(Y, X ) 确定回归系数的点估计值

2、[b, bint,r,rint,stats]=regress(Y,X,alpha)求回归系数的点估计和区间估计、并检验回归模型 ①bint表示回归系数的区间估计. ②r表示残差 ③rint表示置信区间 ④stats表示用于检验回归模型的统计量,有三个数值:相关系数r2、F值、与F对应的概率p 说明:相关系数r2越接近1,说明回归方程越显著;时拒绝H0,F越大,说明回归方程越显著;与F对应的概率p<α时拒绝H0 ⑤alpha表示显著性水平(缺省时为0.05) 3、rcoplot(r,rint)画出残差及其置信区间 具体参见下面的实例演示 4、实例演示,函数使用说明 (1)输入数据 1.>>x=[143 145 146 147 149 150 153 154 155 156 157 158 159 160 162 164]'; 2.>>X=[ones(16,1) x]; 3.>>Y=[88 85 88 91 92 93 93 95 96 98 97 96 98 99 100 102]'; 复制代码 (2)回归分析及检验 1. >> [b,bint,r,rint,stats]=regress(Y,X) 2. 3. b = 4. 5. -1 6.0730 6.0.7194 7. 8. 9.bint =

matlab信号与系统实验报告

实验一 基本信号的产生与运算 一、 实验目的 学习使用MATLAB 产生基本信号、绘制信号波形、实现信号的基本运算。 二、 实验原理 MATLAB 提供了许多函数用于产生常用的基本信号:如阶跃信号、脉冲信号、指数信号、正弦信号和周期方波等等。这些信号是信号处理的基础。 1、 利用MATLAB 产生下列连续信号并作图。 (1)51),1(2)(<<---=t t u t x (2)300),3 2sin()(3.0<<=-t t e t x t (3)1.01.0,3000cos 100cos )(<<-+=t t t t x (4)2000),8.0cos()1.0cos()(<<=t t t t x ππ 答:(1)、 >> t=-1:0.02:5; >> x=(t>1); >> plot(t,-2*x); >> axis([-1,5,-3,1]); >> title('杨婕婕 朱艺星'); >> xlabel('x(t)=-2u(t-1)'); (2)、 >> t=0:0.02:30; >> x=exp(-0.3*t).*sin(2/3*t);

>> plot(t,x); >> title('杨婕婕朱艺星'); >> xlabel('x(t)=exp(-0.3*t).*sin(2/3*t)'); 因为原函数在t=15后x(t)取值接近于零,所以将横坐标改成0到15,看得更清晰 axis([0,15,-0.2,0.6]);

(3)>> t=-0.1:0.01:0.1;x=cos(100*t)+cos(3000*t);plot(t,x); >> title('杨婕婕朱艺星'); >>xlabel('x=cos(100*t)+cos(3000*t)'); 因为t的间隔取太大,以至于函数不够准确,缩小t的间隔: t=-0.1:0.002:0.2;x=cos(100*t)+cos(3000*t); plot(t,x);title('杨婕婕') >> t=-0.1:0.0001:0.1; x=cos(100*t)+cos(3000*t); >> plot(t,x);title('杨婕婕朱艺星');

实验八MATLAB状态空间分析报告

实验八 线性系统的状态空间分析 §8.1 用MATLAB 分析状态空间模型 1、状态空间模型的输入 线性定常系统状态空间模型 x Ax Bu y Cx Du =+=+ 将各系数矩阵按常规矩阵形式描述。 [][][]11 121120 10 1;;;n n n nn n n A a a a a a a B b b b C c c c D d ==== 在MA TLAB 里,用函数SS()来建立状态空间模型 (,,,)sys ss A B C D = 例8.1 已知某系统微分方程 22d d 375d d y y y u t t ++= 求该系统的状态空间模型。 解:将上述微分方程写成状态空间形式 0173A ??=??--??,01B ??=???? []50C =,0D = 调用MATLAB 函数SS(),执行如下程序 % MATLAB Program example 6.1.m A=[0 1;-7 -3]; B=[0;1]; C=[5 0]; D=0; sys=ss(A,B,C,D) 运行后得到如下结果 a = x1 x2 x1 0 1

x2 -7 -3 b = u1 x1 0 x2 1 c = x1 x2 y1 5 0 d = u1 y1 0 Continuous-time model. 2、状态空间模型与传递函数模型转换 状态空间模型用sys 表示,传递函数模型用G 表示。 G=tf(sys) sys=ss(G) 状态空间表达式向传递函数形式的转换 G=tf(sys) Or [num,den]=ss2tf(A,B,C,D) 多项式模型参数 [num,den]=ss2tf(A,B,C,D,iu) [z,p,k]=ss2zp(A,B,C,D,iu) 零、极点模型参数 iu 用于指定变换所需的输入量,iu 默认为单输入情况。 传递函数向状态空间表达式形式的转换 sys=ss(G) or [A,B,C,D]=tf2ss(num,den) [A,B,C,D]=zp2ss(z,p,k) 例 8.2 11122211220.560.050.03 1.140.2500.1101001x x u x x u y x y x -??????????=+??????????-????????????????=??????? ????? 试用矩阵组[a ,b ,c ,d]表示系统,并求出传递函数。

matlab中回归分析实例分析

1.研究科研人员的年工资与他的论文质量、工作年限、获得资助指标之间的关系.24位科研人员的调查数据(ex81.txt): 设误差ε~(0,σ 2 ), 建立回归方程; 假定某位人员的观测值 , 预测年工资及置信度为 95%的置信区间. 程序为:A=load('ex81.txt') Y=A(:,1) X=A(1:24,2:4) xx=[ones(24,1) X] b = regress(Y,X) Y1=xx(:,1:4)*b x=[1 5.1 20 7.2] s=sum(x*b) 调出Y 和X 后,运行可得: b = 17.8469 1.1031 0.3215 1.2889 010203(,,)(5.1,20,7.2)x x x =

x = 1.0000 5.1000 20.0000 7.2000 s = 39.1837 所以,回归方程为:Y= 17.8469+1.1031X1+0.3215X2+1.2889X3+ε 当 时,Y=39.1837 2、 54位肝病人术前数据与术后生存时间(ex82.txt,指标依次为凝血值,预后指数,酵素化验值,肝功能化验值,生存时间). (1) 若用线性回归模型拟合, 考察其各假设合理性; (2) 对生存是时间做对数变换,用线性回归模型拟合, 考察其各假设合理性; (3) 做变换 用线性回归模型拟合, 考察其各假设合理性; (4) 用变量的选择准则,选择最优回归方程 010203 (,,)(5.1,20,7.2)x x x =0.0710.07 Y Z -=

(5)用逐步回归法构建回归方程 程序为:A=load('ex82.txt') Y=A(:,5) X=A(1:54,1:4) xx=[ones(54,1) X] [b,bint,r,rint,stats]=regress(Y,xx) 运行结果为: b = -621.5976 33.1638 4.2719 4.1257 14.0916 bint = -751.8189 -491.3762 19.0621 47.2656 3.1397 5.4040 3.0985 5.1530 -11.0790 39.2622

根据Matlab的信号与系统实验指导材料

基于Matlab 的信号与系统实验指导 实验一 连续时间信号在Matlab 中的表示 一、实验目的 1、学会运用Matlab 表示常用连续时间信号的方法 2、观察并熟悉这些信号的波形和特性 二、实验原理及实例分析 1、信号的定义与分类 2、如何表示连续信号? 连续信号的表示方法有两种;符号推理法和数值法。 从严格意义上讲,Matlab 数值计算的方法不能处理连续时间信号。然而,可利用连续信号在等时间间隔点的取样值来近似表示连续信号,即当取样时间间隔足够小时,这些离散样值能被Matlab 处理,并且能较好地近似表示连续信号。 3、Matlab 提供了大量生成基本信号的函数。如: (1)指数信号:K*exp(a*t) (2)正弦信号:K*sin(w*t+phi)和K*cos(w*t+phi) (3)复指数信号:K*exp((a+i*b)*t) (4)抽样信号:sin(t*pi) 注意:在Matlab 中用与Sa(t)类似的sinc(t)函数表示,定义为:)t /()t (sin )t (sinc ππ= (5)矩形脉冲信号:rectpuls(t,width) (6)周期矩形脉冲信号:square(t,DUTY),其中DUTY 参数表示信号的占空比

DUTY%,即在一个周期脉冲宽度(正值部分)与脉冲周期的比值。占空比默认为0.5。 (7)三角波脉冲信号:tripuls(t, width, skew),其中skew 取值范围在-1~+1之间。 (8)周期三角波信号:sawtooth(t, width) (9)单位阶跃信号:y=(t>=0) 三、实验内容 1、验证实验内容 直流及上述9个信号 2、程序设计实验内容 (1)利用Matlab 命令画出下列连续信号的波形图。 (a ))4/3t (2cos π+ (b ) )t (u )e 2(t -- (c ))]2()(u )][t (cos 1[--+t u t π (2)利用Matlab 命令画出复信号) 4/t (j 2e )t (f π+=的实部、虚部、模和辐角。 四、实验报告要求 1、格式:实验名称、实验目的、实验原理、实验环境、实验内容、实验思考等 2、实验内容:程序设计实验部分源代码及运行结果图示。

信号与系统实验(MATLAB版) (1)

《信号与系统MATLAB实现》实验指导书 电气信息工程学院 2014年2月

长期以来,《信号与系统》课程一直采用单一理论教学方式,同学们依靠做习题来巩固和理解教学内容,虽然手工演算训练了计算能力和思维方法,但是由于本课程数学公式推导较多,概念抽象,常需画各种波形,作题时难免花费很多时间,现在,我们给同学们介绍一种国际上公认的优秀科技应用软件MA TLAB,借助它我们可以在电脑上轻松地完成许多习题的演算和波形的绘制。 MATLAB的功能非常强大,我们此处仅用到它的一部分,在后续课程中我们还会用到它,在未来地科学研究和工程设计中有可能继续用它,所以有兴趣的同学,可以对MATLAB 再多了解一些。 MATLAB究竟有那些特点呢? 1.高效的数值计算和符号计算功能,使我们从繁杂的数学运算分析中解脱出来; 2.完备的图形处理功能,实现计算结果和编程的可视化; 3.友好的用户界面及接近数学表达式的自然化语言,易于学习和掌握; 4.功能丰富的应用工具箱,为我们提供了大量方便实用的处理工具; MATLAB的这些特点,深受大家欢迎,由于个人电脑地普及,目前许多学校已将它做为本科生必须掌握的一种软件。正是基于这些背景,我们编写了这本《信号与系统及MATLAB实现》指导书,内容包括信号的MA TLAB表示、基本运算、系统的时域分析、频域分析、S域分析、状态变量分析等。通过这些练习,同学们在学习《信号与系统》的同时,掌握MATLAB的基本应用,学会应用MATLAB的数值计算和符号计算功能,摆脱烦琐的数学运算,从而更注重于信号与系统的基本分析方法和应用的理解与思考,将课程的重点、难点及部分习题用MATLAB进行形象、直观的可视化计算机模拟与仿真实现,加深对信号与系统的基本原理、方法及应用的理解,为学习后续课程打好基础。另外同学们在进行实验时,最好事先预习一些MATLAB的有关知识,以便更好地完成实验,同时实验中也可利用MATLAB的help命令了解具体语句以及指令的使用方法。

控制系统状态空间分析的 MATLAB 设计

《控制系统状态空间分析的MATLAB 设计》 摘要 线性系统理论主要研究线性系统状态的运动规律和改变这些规律的可能性与实施方法;它包含系统的能控性、能观测性、稳定性分析、状态反馈、状态估计及补偿器的理论和设计方法。本文说明,线性变换不改变系统的传递函数,基于状态空间的极点配置不需要附加矫正装置,是改变系统指标的简单可行的重要技术措施;全维状态观测器与降维观测器不影响系统的输出响应。 关键词:状态反馈、极点配置、全维状态观测器、降维观测器 前言 线性系统理论是现代控制理论的基础,主要研究线性系统状态的运动规律 和改变这些规律的可能性与实施方法;建立和揭示系统结构、参数、行为和性能之间的关系。它包含系统的能控性、能观测性、稳定性分析、状态反馈、状态估计及补偿器的理论和设计方法。 该报告结合以线性定常系统作为研究对象,分析控制系统动态方程,系统 可控标准型,线性变换传递函数及其不变性,系统可控性与可观测性。系统状态观测器及降维观测器对系统的阶跃响应的影响,并分别绘制模型,及其系统阶跃响应的仿真。 正文 1. 已知系统动态方程: x?=[?0.40?0.01100?1.49.8?0.02]x +[6.309.8]u y =[0 1]x 2. 设计内容及要求:

验证线性变换传递函数不变性,适当配置闭环适当配置系统闭环极点,使 σ%<15%、t s <4s ,以及当系统闭环极点为λ1,2=-3±j4时设计系统的降维状态观测器也使σ%<15%、t s <4s ,并绘制带反馈增益矩阵K 的降维状态观测器及其系统仿真。 3. 系统设计: 1)求系统可控标准型动态方程; >> A1=[-0.4 0 -0.01;1 0 0;-1.4 9.8 -0.02]; >> B1=[6.3;0;9.8]; >> C1=[0 0 1]; >> D1=0; >> G1=ss(A1,B1,C1,D1); >> n=size(G1.a); >> Qc=ctrb(A1,B1); >> pc1=[0 0 1]*inv(Qc); >> Pc=inv([pc1;pc1*A1;pc1*A1*A1]); >> G2 = ss2ss(G1,inv(Pc)); >> Gtf=tf(G2); 程序运行结果知n=3,原系统是可控的且可控标准型为: x?=[0 1 00 01?0.0980.006 ?0.42]x?+[001 ]u y ?=[61.74 ?4.99.8]x? 传递函数为: G (s )=9.8s 2?4.9s+61074 s 3+0.42s 2?0.006s+0.098 2)计算系统的单位阶跃响应 >> hold on >> grid on;hold on; >> step(G1,t,'b-.') >> step(Gtf,t,'r--')

利用MATLAB进行回归分析及应用

利用MATLAB进行回归分析 一、实验目的: 1.了解回归分析的基本原理,掌握MATLAB实现的方法; 2. 练习用回归分析解决实际问题。 二、实验内容: 题目1 社会学家认为犯罪与收入低、失业及人口规模有关,对20个城市的犯罪率y(每10万人中犯罪的人数)与年收入低于5000美元家庭的百分比1x、失业率2x和人口总数3x(千人)进行了调查,结果如下表。 (1)若1x~3x中至多只许选择2个变量,最好的模型是什么? (2)包含3个自变量的模型比上面的模型好吗?确定最终模型。 (3)对最终模型观察残差,有无异常点,若有,剔除后如何。 理论分析与程序设计: 为了能够有一个较直观的认识,我们可以先分别作出犯罪率y与年收入低于5000美元家庭的百分比1x、失业率2x和人口总数 x(千人)之间关系的散点图,根据大致分布粗略估计各因素造 3 成的影响大小,再通过逐步回归法确定应该选择哪几个自变量作为模型。

编写程序如下: clc; clear all; y=[11.2 13.4 40.7 5.3 24.8 12.7 20.9 35.7 8.7 9.6 14.5 26.9 15.7 36.2 18.1 28.9 14.9 25.8 21.7 25.7]; %犯罪率(人/十万人) x1=[16.5 20.5 26.3 16.5 19.2 16.5 20.2 21.3 17.2 14.3 18.1 23.1 19.1 24.7 18.6 24.9 17.9 22.4 20.2 16.9]; %低收入家庭百分比 x2=[6.2 6.4 9.3 5.3 7.3 5.9 6.4 7.6 4.9 6.4 6.0 7.4 5.8 8.6 6.5 8.3 6.7 8.6 8.4 6.7]; %失业率 x3=[587 643 635 692 1248 643 1964 1531 713 749 7895 762 2793 741 625 854 716 921 595 3353]; %总人口数(千人) figure(1),plot(x1,y,'*'); figure(2),plot(x2,y,'*'); figure(3),plot(x3,y,'*'); X1=[x1',x2',x3']; stepwise(X1,y) 运行结果与结论:

利用Matlab进行线性回归分析

利用Matlab进行线性回归分析 回归分析是处理两个及两个以上变量间线性依存关系的统计方法。可以通过软件Matlab实现。 1.利用Matlab软件实现 在Matlab中,可以直接调用命令实现回归分析, (1)[b,bint,r,rint,stats]=regress(y,x),其中b是回归方程中的参数估计值,bint是b的置信区间,r和rint分别表示残差及残差对应的置信区间。stats包含三个数字,分别是相关系数,F统计量及对应的概率p值。 (2)recplot(r,rint)作残差分析图。 (3)rstool(x,y)一种交互式方式的句柄命令。 以下通过具体的例子来说明。 例现有多个样本的因变量和自变量的数据,下面我们利用Matlab,通过回归分析建立两者之间的回归方程。 % 一元回归分析 x=[1097 1284 1502 1394 1303 1555 1917 2051 2111 2286 2311 2003 2435 2625 2948 3, 55 3372];%自变量序列数据 y=[698 872 988 807 738 1025 1316 1539 1561 1765 1762 1960 1902 2013 2446 2736 2825];%因变量序列数据 X=[ones(size(x')),x'],pause [b,bint,r,rint,stats]=regress(y',X,0.05),pause%调用一元回归分析函数 rcoplot(r,rint)%画出在置信度区间下误差分布。

% 多元回归分析 % 输入各种自变量数据 x1=[5.5 2.5 8 3 3 2.9 8 9 4 6.5 5.5 5 6 5 3.5 8 6 4 7.5 7]'; x2=[31 55 67 50 38 71 30 56 42 73 60 44 50 39 55 7040 50 62 59]'; x3=[10 8 12 7 8 12 12 5 8 5 11 12 6 10 10 6 11 11 9 9]'; x4=[8 6 9 16 15 17 8 10 4 16 7 12 6 4 4 14 6 8 13 11]'; %输入因变量数据 y=[79.3 200.1 163.1 200.1 146.0 177.7 30.9 291.9 160 339.4 159.6 86.3 237.5 107.2 155 201.4 100.2 135.8 223.3 195]'; X=[ones(size(x1)),x1,x2,x3,x4]; [b,bint,r,rint,stats]=regress(y,X)%回归分析 Q=r'*r sigma=Q/18 rcoplot(r,rint); %逐步回归 X1=[x1,x2,x3,x4]; stepwise(X1,y,[1,2,3])%逐步回归 % X2=[ones(size(x1)),x2,x3]; % X3=[ones(size(x1)),x1,x2,x3]; % X4=[ones(size(x1)),x2,x3,x4]; % [b1,b1int,r1,r1int,stats1]=regress(y,X2) % [b2,b2int,r2,r2int,stats2]=regress(y,X3); % [b3,b3int,r3,r3int,stats3]=regress(y,X4);

相关文档
最新文档