搜档网
当前位置:搜档网 › MATLAB空间面板数据模型操作介绍

MATLAB空间面板数据模型操作介绍

MATLAB空间面板数据模型操作介绍
MATLAB空间面板数据模型操作介绍

MATLAB空间面板数据模型操作简介

MATLAB安装:在民主湖资源站上下载MA TLAB 2009a,或者2010a,按照其中的安装说明安装MATLAB。(MATLAB较大,占用内存较大,安装的话可能也要花费一定的时间)

一、数据布局:

首先我们说一下MA TLAB处理空间面板数据时,数据文件是怎么布局的,熟悉eviews的同学可能知道,eviews中面板数据布局是:一个省份所有年份的数据作为一个单元(纵截面:一个时间序列),然后再排放另一个省份所有年份的数据,依次将所有省份的数据排放完,如下图,红框中“1-94”“1-95”“1-96”“1-97”中,1是省份的代号,94,95,96,97表示年份,eviews是将每个省份的数据放在一起,再将所有省份堆放在一起。

与eviews不同,MATLAB处理空间面板数据时,面板数据的布局是(在excel中说明):先排放一个横截面上的数据(即某年所有省份的数据),再将不同年份的横截面按时间顺序堆放在一起。如图:

这里需要说明的是,MA TLAB中省份的序号需要与空间权重矩阵中省份一一对应,我们一般就采用《中国统计年鉴》分地区数据中省份的排列顺序。(二阶空间权重矩阵我会在附件中给出)。

二、数据的输入:

MATLAB与excel链接:在excel中点击“工具→加载宏→浏览”,找到MA TLAB的安装目录,一般来说,如果安装时没有修改安装路径,此安装目录为:C:\Programfiles\MATLAB\R2009a\toolbox\exlink,点击excllink.xla即可完成excel与MATLAB的链接。这样的话excel中的数据就可以直接导入MATLAB中形成MATLAB的数据文件。操作完成后excel 的加载宏界面如图:

选中“Spreadsheet Link EX3.0.3 for use with MATLAB”即表示我们希望excel 与MATLAB实现链

接。点击确定后,excel窗口如图:

红色框内选项为:

startMATLAB:表示打开MATLAB,一般来说,如果excel实现了与MA TLAB的链接,当我们打开excel时,excel会自动启动MATLAB,所以excel的打开速度很慢。

Putmatrix:表示将excel中的数据输入MATLAB中,我们经常用的就是此项,选中需要导入到MA TLAB中的数据(就是一个矩阵),点击putmatrix即可。如:下表是一个数据表格,那么红色框内的数据就是我们需要导入MATLAB中的数据。

选中数据矩阵,点击putmatrix,出现如下窗口:我们需要在弹出的窗口中输入变量名称,即我们选中并输入到MA TLAB中的数据矩阵在MA TLAB中是以一个变量的形式存在,我们之后在使用时,需要调用该矩阵的某一列(后面详解)。如我们在此输入变量名为“pc”,点击确定。

三、MATLAB 窗口

此时原来已经打开的MA TLAB 窗口如图: 标题栏 菜单栏 工具栏

控制窗口

工作空间

历史记录

这里我们简单介绍一下MATLAB的窗口,与很多我们见过的很多软件,如excel,word,spss 一样,MA TLAB一样有标题栏、菜单栏、工具栏。

我们主要讲MA TLAB的工作窗口,如图,左侧是“控制窗口”,在此可输入很多命令,如打开某一个文件,查找函数,建立模型等等。

右侧上面是“工作空间”,一般是存储我们需要的数据文件(包括导入的原始数据,模型模拟过程中产生的数据文件等),如我们之前导入了变量名为“pc”的一个数据矩阵,就存放在这里,双击“pc”,就能查看该数据文件。

右侧下方是“历史记录”,你在控制窗口进行的任何一项操作都会在这里有显示,所以当你在此需要进行原来某项操作时,其实可以点击历史窗口中相应的记录就可。

控制窗口左侧隐藏了“current directory”,这个是“当前目录”,即我们现在所在的位置。点击“当前目录”就会以浮动的形式出现当前目录,或方便我们查找我们需要的目录。

这是我习惯的一种桌面布局,你也可以根据需要调整,在菜单栏有一项“Desktop”(桌面),点击desktop→desktop layout(桌面布局),会有几种布局形式,大家自己去看吧。

四、与MATLAB相关的重要操作

1、数据文件存储

之前我们已经将模型需要的数据作为一个变量导入并存储在MATLAB的“工作空间”中,由于我们是处理空间面板数据,所以我们还需要导入空间权重矩阵(如命名为“w1”),方法一样。这时我们需要将包含空间权重矩阵“w1”和所有数据的“pc”的数据文件进行存储,方便以后调用。数据存储方法:“File→Save Workspace As”,找到存储的地址,输入文件名,就形成了后缀名为.mat的MATLAB能识别的数据文件。

2、设置路径

MATLAB并没有自带空间计量软件包,这个需要在网上下载(我打包给你们),当然我们也需要将操作MATLAB过程中需要的数据文件、程序等保存在某个文件夹中。MA TLAB通过调用软件包中已有的程序命令,以及自己保存的数据文件,来实现模型的模拟。此时我们需要告诉MA TLAB它的权限在哪里,即它可以在哪里去查找这些程序、数据等(默认状况下,MA TLAB只承认安装目录下文件夹中已有的程序)。所以我们需要为MA TLAB设置一条路径,让它能够使用这条路径下包含的程序,数据。

设置路径的方法:点击“File→Set Path”,出现“set path”窗口,如图:

空间计量

工具箱

红框下按钮“Add with Subfolders”表示在添加路径时,在文件夹下的子目录也被MA TLAB承认,否则该文件夹下的子文件夹中的程序、数据将不能被MA TLAB识别,而不能使用。点击此按钮,选择文件夹位置,然后点击该窗口的“Save”即可实现路径的设置。如图:我将D盘下的MATLAB 文件夹及其子文件夹添加到了MATLAB能识别的路径中,那么此文件夹中的所有与MA TLAB相关的程序、数据等都能被MATLAB识别并使用。

五、MATLAB程序——空间计量工具箱

一般来说,我们不会在MATLAB的控制窗口一个一个的输入命令,而是在MATLAB 的“Editor”(编辑器)中将一个完整的程序编辑完毕然后进行存储,方便以后使用。当然我们更一般的是使用别人已经编辑好的程序,进行一定的组合和修改来进行自己的研究。

这里先讲MATLAB的空间计量工具箱。在MATLAB官方网上下载的最新版的空间计量工具箱的名称为:“jplv7”。如上图,我在设置路径时,该工具箱已经包含在D盘下的MA TLAB文件夹下。这时,我们可以从红框所标识的按钮找到该工具箱,如图,左侧“current directory”(当前目录)即显示该目录下所有的文件夹,其中我们要使用的是“spatial”,该文件夹下包含我们需要的关于空间面数据模型相关的程序,而我们主要使用的完整程序是该文件夹下的“panel”(空间面板)。

帮助

空间计

量模型

我们可以先看一下以“demo”开头的M文件(MATLAB程序),demo即演示,如双击打开“demoLMsarsem_panel”,就会弹出该程序文件的编辑器(editor),点击红圈下的运行按钮,整个程序的运行结果就会显示在MATLAB的“控制窗口”中。

六、空间面板数据模型解读

(一)空间面板数据模型建立的一般步骤是:

1、空间相关性检验:Moran’s I检验,LM检验(这是我目前知道的两种检验方法,对于其他的一些检验如LR,Walds等本来就是用于截面空间数据空间相关性的检验,如何推广到空间面板数据上来,我也不是很清楚,我也没找到相关的程序,只是看到有些人做空间面板数据模型时也给出了这几种检验的结果)。

打包文件中有一个“作业”文件夹,里面有单独的LM与moran检验的M文件,对自己的数据进行空间相关性检验可以直接使用这个程序,当然需要修改某些东西(后面有详解)。

2、空间模型的选择:即选择用SAR模型,还是SEM模型,同时还涉及到固定效应和随机效应选择,以及在固定或随机效应模型中选择(地区固定、时期固定、双固定、还是混合面板)。

LM检验的结果可以为SAR与SEM的选择提供依据(查看相关文献)。面板数据的固定效应SAR 模型直接调用“sar_panel_FE”程序,而固定效应SEM直接调用“sem_panel_FE”程序(这些程序已经作为程序文件存在于某个子目录下)。

对于固定效应(地区固定,时间固定,双向固定,混合)的选择,其实只需要在引用上述程序时,对某些指标进行设置。如下图,是截取的一段面板SAR模型的程序,其实我们可以从百分号“%”后的文字去理解这段程序在做什么。

红框中是设定模型是那种固定效应:info.model=0:表示此模型为混合模型,即没有固定效应;info.model=1:表示此模型为地区固定效应模型;info.model=2:表示时间固定效应模型;info.model=3:表示双向固定效应模型。

关于如何使用已有的完整程序来做自己的研究将在后面详解。

(二)学会使用“帮助”自学空间面板数据

关于“panel”文件夹下带有demo字样的M文件,一般都是一个完整的演示文件,可以运行,大家可以读一下。一般等号后面的语句就是对等号左边的变量进行赋值之类的,对于任何命令,都可以在MA TLAB的控制窗口输入“which 命令名”进行查找,或者直接使用MA TLAB提供的帮助,看该命令是什么意思,该怎么使用(上上图给出了帮助的位置)。下图是“帮助”窗口,在红框内输入如“wk1read”点回车即可获取“wk1read”的相关解释,用法,描述,实例等等。目前关于MA TLAB 用于空间面板计量方面的中文操作书我没有在网上找到,所以也只能通过这种方法来学习“panel”下的每一个M文件到底是干什么用的。

(三)常见的命令:

1、关于%:%后面可以输入中文,对已写程序进行描述和解释,%后的文字是不被运行的。

2、wk1read:读取后缀名为.wk1的数据文件。(wk1数据文件是MA TLAB能识别的数据文件,但具体该文件怎么形成的,我也不清楚。我一般使用的都是通过EXCEL链接导入到MATLAB中的数据,该数据存储后后缀名为.mat,该文件的读取,直接使用命令load,如读取名为“pc”的mat 文件,直接用load pc.mat)

3、在任何一个空间面板数据模型的程序中,首先要做的,当然是读取数据,第二步就是对空间面板数据进行描述(也叫定义空间面板数据),同时指定被解释变量y和解释变量x:如下图:

每一行分别表示:

该面板数据的时期数为30(T=30),

该面板数据有30个地区(N=30),

将空间权重矩阵标准化(W=normw(w1)),

将名为consume(以矩阵形式出现在MA TLABA中)的变量的第3列数据定义为被解

释变量y,

将名为consume的变量的第4、5、7、8、9、10、12列数据定义为解释变量矩阵x,

定义一个有N*T行,1列的全1矩阵,该矩阵名为:xconstant,(ones即为全1矩阵)

说明解释变量矩阵x的大小:有nobs行,K列。(size为描述矩阵的大小)。

这里说明一下矩阵的引用:

a(:,[4:6])表示的是矩阵的第四到第六列;逗号前是行号,逗号后是列号;行号、列号必须加中括号[];如果使用连续几行或几列,如第一行到第七行,表示成[1:7]即可;如果几行将是间断的,用逗号隔开;如果是全部的行或列,可省略数值和中括号,直接打冒号“:”即可。

4、一般来说使用“panel”下的完整程序,在读懂意思后,我们用于自己的模型时,需要修改的也就是读取的文件名,面板数据的定义和解释变量x被解释变量y的指定,以及在输出时变量的名称,前面的都讲了,现在说说变量的名称。

下面是一段最小二乘法回归以及LM检验,moran检验的程序:

“results=ols(y,[xconstant x]);”表示以y作为被解释变量,x作为解释变量的含有常数项的最小二乘法回归(xconstant即表示含有常数项),该命令运行结果全部存储在results 中;

“vnames=strvcat('gy','intercept','logy0','logpc','gpc','emp','edu', 'inv','fir');”即是对最终显示在控制窗口中的变量进行命名,将此名字赋值给“vnames”变量;

“prt_reg(results,vnames,1);”即:将最小二乘法回归的结果输出到控制窗口中。

也就是说我们需要根据自己的模型修改“vnames=strvcat(···)”括号中的变量名,gy 是被解释变量名,因为有常数项,intercept表示常数项,logy0等后面的全部是按X矩阵中每列数据具体代表的变量进行变量命名。

备注:

空间计量工具箱jplv7→spatial→panel下有一个演示程序:demopanelscompare好像是随机效应与混合模型的选择,使用的方法是LR检验,我没怎么读懂,所以也一直没用,由于大多数文献使用的是固定效应,所以对随机效应问题也没怎么认真地研究。

matlab 三维图形绘制实例

三维图形 一. 三维曲线 plot3(x1,y1,z1,选项1,x2,y2,z2,选项2,…,xn,yn,zn,选项n) 其中每一组x,y,z 组成一组曲线的坐标参数,选项的定义和plot 函数相同。当x,y ,z 是同维向量时,则x,y,z 对应元素构成一条三维曲线。当x,y ,z 是同维矩阵时,则以x,y,z 对应列元素绘制三维曲线,曲线条数等于矩阵列数。 Example1.绘制三维曲线。 程序如下: clf, t=0:pi/100:20*pi; x=sin(t); y=cos(t); z=t.*sin(t).*cos(t); %向量的乘除幂运算前面要加点 plot3(x,y,z); title('Line in 3-D Space'); xlabel('X');ylabel('Y');zlabel('Z'); grid on; 所的图形如下: -1 1 X Line in 3-D Space Y Z 二. 三维曲面 1. 产生三维数据 在MATLAB 中,利用meshgrid 函数产生平面区域内的网格坐标矩阵。

语句执行后,矩阵X 的每一行都是向量x ,行数等于向量y 的元素的个数,矩阵Y 的每一列都是向量y ,列数等于向量x 的元素的个数。 2. 绘制三维曲面的函数 surf 函数和mesh 函数 example2. 绘制三维曲面图z=sin(x+sin(y))-x/10。 程序如下: clf, [x,y]=meshgrid(0:0.25:4*pi); %产生平面坐标区域内的网格坐标矩阵 z=sin(x+sin(y))-x./10; surf(x,y,z); axis([0 4*pi 0 4*pi -2.5 1]); title('surf 函数所产生的曲面'); figure; mesh(x,y ,z); axis([0 4*pi 0 4*pi -2.5 1]); title('mesh 函数所产生的曲面'); -2.5 -2-1.5-1-0.500.51surf 函数所产生的曲面

实验一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 程序和运行结果:

实验1熟悉matlab环境和基本操作

实验1 熟悉Matlb环境及基本操作 实验目的: 1.熟悉Matlab环境,掌握Matlab的主要窗口及功能; 2.学会Matlab的帮助使用; 3.掌握向量、矩阵的定义、生成方法和基本运算; 4.掌握Matlab的基本符号运算; 5.掌握Matlab中的二维图形的绘制和控制。 实验内容: 1.启动Matlab,说明主窗口、命令窗口、当前目录窗口、工作空间窗口、历史窗口、图形窗口、M文件编辑器窗口的功能。 2.实例操作Matlab的帮助使用。 3.实例操作向量、矩阵的定义、生成方法和基本运算。 4.实例操作Matlab的基本符号运算。 5.实例操作Matlab中的二维图形绘制和控制。 实验仪器与软件: 1.CPU主频在2GHz以上,内存在512Mb以上的PC; 2.Matlab 7及以上版本。 实验讲评: 实验成绩: 评阅教师: 年月日

实验1 熟悉Matlab环境及基本操作 一、Matlab环境及主要窗口的功能 运行Matlab安装目录下的matlab.exe文件可启动Matlab环境,其默认布局如下图: 其中, 1.主窗口的功能是:主窗口不能进行任何计算任务操作,只用来进行一些整体的环境参数设置,它主要对6个下拉菜单的各项和10个按钮逐一解脱。 2.命令窗口的功能是:对MATLAB搜索路径中的每一个M文件的注释区的第一行进行扫描,一旦发现此行中含有所查询的字符串,则将该函数名及第一行注释全部显示在屏幕上。 3. 历史窗口的功能是:历史窗口显示命令窗口中的所有执行过的命令,一方面可以查看曾经执行过的命令,另一方面也可以重复利用原来输入的命令行,可以从命令窗口中直接通过双击某个命令行来执行该命令,

实验一 MATLAB基本操作及运算

实验一 MATLAB 基本操作及运算 一、 实验目的 二、 实验的设备及条件 三、 实验内容 1、 建立以下标量: 1) a=3 2) ,(j 为虚数单位) 3) c=3/2πj e 2、 建立以下向量: 1) Vb= 2.71382882????????-???? 2) Vc=[4 3.8 … -3.8 -4 ] (向量中的数值从4到-4,步长为-0.2) 3、 建立以下矩阵: 1) 3 333Ma ????=?????? Ma 为一个7×7的矩阵,其元素全为3. 2) 11191212921020100Mb ??????=??????

Mb 为一个10×10的矩阵. 3) 114525173238Mc ????=?????? 4、 使用题1中的变量计算下列等式的x,y,z 的值: 1) ((15)/6)111a x e --=+ 2) 2x π= 3) 3ln([()()]sin(/3))x b c b c a π=+-R ,其中R 表示复数实部。 5、 求解函数值22/(2.25)ct y e -=,其中c 取值见题1,t 的取值范围为题2中行 向量Vc 。 6、 使用题1和题3中所产生的标量和矩阵计算等式 1()()T Mx a Mc Mc Mc -=?? 其中*为矩阵所对应行列式的值,参考det 。 7、 函数的使用和矩阵的访问。 1) 计算矩阵Mb 每一列的和,结果应为行向量形式。 2) 计算整个矩阵Mb 的平均值。 3) 用向量[1 1…1] 替换Mb 的最上一行的值 4) 将矩阵Mb 的第2~5行,第3到9列的元素所构成的矩阵赋值给矩阵SubMb 。 5) 删除矩阵Mb 的第一行; 6) 使用函数rand 产生一个1×10的向量r ,并将r 中值小于0.5的元素设置为0。 8、 已知CellA (1, 1)=‘中国’,CellA (1,2)=‘北京’,CellA (2,1)是一个3乘3的单位阵,CellA (2, 2)=[1 2 3],试用MATLAB 创建一个2×2的细胞数组CellA 。 9、 已知结构数组student 中信息包含有姓名,学号,性别,年龄和班级,试用MATLAB 创建相应的结构数组student 。该数组包含有从自己学号开始连续5个同学的信息(如果学号在你后面的同学不足5个则往前排序),创建完成后查看自己的信息。

实验一 Matlab基本操作(2016)

实验一 MATLAB 基本操作 一、实验目的 1. 学习和掌握MA TLAB 的基本操作方法 2. 掌握命令窗口的使用 3. 熟悉MATLAB 的数据表示、基本运算 二、实验内容和要求 1. 实验内容 1) 练习MATLAB7.0或以上版本 2) 练习矩阵运算与数组运算 2. 实验要求 1) 每位学生独立完成,交实验报告 2) 禁止玩游戏! 三、实验主要软件平台 装有MATLAB7.0或以上的PC 机一台 四、实验方法、步骤及结果测试 1. 实验方法:上机练习。 2. 实验步骤: 1) 开启PC ,进入MA TLAB 。 2) 使用帮助命令,查找sqrt 函数的使用方法 答: help sqrt 3) 矩阵、数组运算 a) 已知 ??????????=987654321A ,???? ??????=963852741B ,求)2()(A B B A -?+ 答: A=[1, 2, 3; 4, 5, 6; 7, 8, 9]; B=[1, 4, 7; 2, 5, 8; 3, 6, 9]; (A+B)*(2*B-A) b) 已知?? ????-=33.1x ,??????=π24y ,求T xy ,y x T c) 已知??????????=987654321A ,???? ??????=300020001B ,求A/B, A\B. d) 已知???? ??????=987654321A ,求:(1) A 中第三列前两个元素;(2) A 中所有第二行元素;(3) A 中四个角上的元素;(4) 交换A 的第1、3列。(5) 交换A 的第1、2行。(6) 删除A 的第3列。

e) 已知[]321=x ,[]654=y ,求:y x *.,y x /.,y x \.,y x .^, 2.^x ,x .^2。 f) 给出x=1,2,…,7时,x x sin 的值。 3)常用的数学函数 a )随机产生一个3x3的矩阵A ,求:(1) A 每一行的最大、最小值,以及最大、最小值所在的列;(2) A 每一列的最大、最小值,以及最大、最小值所在的行;(3) 整个矩阵的最大、最小值;(4) 每行元素之和;(5) 每列元素之和;(6) 每行元素之积;(7) 每列元素之积。 b) 随机产生两个10个元素的向量x ,y 。(1) 求x 的平均值、标准方差。(2) 求x ,y 的相关系数。(3)对x 排序,并记录排序后元素在原向量中的位置。 4) 字符串操作函数 建立一个字符串向量(如‘ABc123d4e56Fg9’),然后对该向量做如下处理: (1) 取第1~5个字符组成的子字符串。 (2) 将字符串倒过来重新排列。 (3) 将字符串中的小写字母变成相应的大写字母,其余字符不变。 (4) 统计字符串中小写字母的个数。

matlab空间曲面绘图

空间曲面绘图 (1) 直接绘图-ezmesh 和ezsurf ezmesh 绘制三维网格图,ezsurf 绘制三维表面图。 例1 绘制抛物柱面2x 2z ?=的图形。 指令:ezmesh('2-x^2',[-1,1,-1,1]) 图7.43 指令:ezsurf('2-x^2',[-1,1,-1,1]) 图7.44 例2 绘制)xy sin(z =的图形。 指令:ezmesh('sin(x*y)',[0,4,0,4])

图7.45 例3 绘制马鞍面2y 2x z 2 2?=的图形。 指令:ezmesh('x^2/2-y^2/2') 图7.46 例4 绘制椭圆抛物面22x y 2z +=和抛物柱面2x 2z ?=所围的图形。 ezmesh('2-x^2',[-1,1,-1,1] hold on % 在同一图形窗口中继续绘图 ezmesh('2*y^2+x^2',[-1,1,-1,1]) axis([-1,1,-1,1,0,4])

图7.47 (2) 自定义网格绘图-meshgrid 和mesh/surf 例5 绘制23y x z ?=的图形。 [x,y]=meshgrid(-2:0.2:2,-3:0.1:3) % 自定义网格数据 z=x.^3-y.^2 mesh(x,y,z) 图7.48 surf(x,y,z) 图7.49 contour3(x,y,z,50) %绘制50条三维等高线

图7.50 Contour(x,y,z,40) %绘制40条二维等高线 图7.51 例6 在同一坐标系中绘制23y x z ?=和0z =的图形。 [x,y]=meshgrid(-2:0.2:2,-3:0.1:3) z=x.^3-y.^2 mesh(x,y,z) zz=zeros(size(z)) hold on mesh(x,y,zz)

实验八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 figure 基本操作

Matlab figure基本操作 set(gcf,'Position',[300 300 700 220]); %调整Figure位置和大小。前两个为离屏幕左下角的X,Y距离,后两个值为Figure窗口的宽和高 set(gca,'Position',[.05 .1 .9 .8]); %调整绘图范围(比例关系)。0.05+0.9为横向比例,最大为1;0.1+0.8为纵向比例。0.05和0.1为距离Figure左下角的X,Y距离 figure_FontSize=12; set(gca,'FontSize',figure_FontSize,'FontName','Arial'); xlabel('Distance (m)','FontSize',figure_FontSize,'fontweight','b','FontName','Arial'); ylabel('Thickness (m)','FontSize',figure_FontSize,'fontweight','b','FontName','Arial'); box off; %关闭上和右侧刻度线 grid on; %添加网格线 xkd=[10 20 30]; %定义坐标刻度数量 ykd=[100 200 300]; xkd_label=[1 3 5]; %更改刻度 ykd_label=[100 200 300]; set(gca,'xtick',xkd); set(gca,'xticklabel',xkd_label); set(gca,'ytick',ykd); set(gca,'yticklabel',ykd_label); set(gca,'xscale','log'); %改为对数坐标

控制系统状态空间分析的 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.熟悉MATLAB环境 熟悉MATLAB桌面和命令窗口、命令历史窗口、帮助信息浏览器、工作空间浏览器文件和搜索路径浏览器。 2.掌握MATLAB常用命令 3.MATLAB变量与运算符 变量命名规则如下: (1)变量名可以由英语字母、数字和下划线组成 (2)变量名应以英文字母开头 (3)长度不大于31个 (4)区分大小写 MATLAB中设置了一些特殊的变量与常量,列于下表。 MATLAB运算符,通过下面几个表来说明MATLAB的各种常用运算符

表2 MATLAB算术运算符 表3 MATLAB关系运算符 表4 MATLAB逻辑运算符 表5 MATLAB特殊运算

4. MATLAB的一维、二维数组的访问 表6 子数组访问与赋值常用的相关指令格式 5. MATLAB的基本运算 表7 两种运算指令形式和实质内涵的异同表 6.MATLAB的常用函数

表8 标准数组生成函数 表9 数组操作函数 7.多项式运算 poly——产生特征多项式系数向量 roots——求多项式的根 p=poly2str(c,‘x’)—(将特征多项式系数向量c转换为以习惯方式显示是多项式)conv, convs——多项式乘运算 deconv——多项式除运算 polyder(p)——求p的微分 polyder(a, b)——求多项式a,b乘积的微分 [p,q]=polyder(p1,p2)——求解多项式p1/p2微分的有理分式 poly(p,A)——按数组运算规则求多项式p在自变量A的值 polym(p,A)——按矩阵运算规则求多项式p在自变量A的值

使用matlab绘制三维图形的方法

使用matlab 绘制三维图形的方法 三维曲线 plot3函数与plot 函数用法十分相似,其调用格式为: plot3(x1,y1,z1,选项1,x2,y2,z2,选项2,…,xn,yn,zn,选项n),其中每一组x,y,z 组成一组曲线的坐标参数,选项的定义和plot 函数相同。当x,y,z 是同维向量时,则x,y,z 对应元素构成一条三维曲线。当x,y,z 是同维矩阵时,则以x,y,z 对应列元素绘制三维曲线,曲线条数等于矩阵列数。 例 绘制三维曲线。 程序如下: t=0:pi/100:20*pi; x=sin(t); y=cos(t); z=t.*sin(t).*cos(t); plot3(x,y,z);grid title('Line in 3-D Space'); xlabel('X');ylabel('Y');zlabel('Z'); 如下图: -1 1 X Line in 3-D Space Y Z

三维曲面 1.产生三维数据 在MATLAB 中,利用meshgrid 函数产生平面区域内的网格坐标矩阵。其格式为: x=a:d1:b; y=c:d2:d; [X,Y]=meshgrid(x,y); 语句执行后,矩阵X 的每一行都是向量x ,行数等于向量y 的元素的个数,矩阵Y 的每一列都是向量y ,列数等于向量x 的元素的个数。 2.绘制三维曲面的函数 surf 函数和mesh 函数的调用格式为: mesh(x,y,z,c):画网格曲面,将数据点在空间中描出,并连成网格。 surf(x,y,z,c):画完整曲面,将数据点所表示曲面画出。 一般情况下,x,y,z 是维数相同的矩阵。x,y 是网格坐标矩阵,z 是网格点上的高度矩阵,c 用于指定在不同高度下的颜色范围。 例 绘制三维曲面图z=sin(x+sin(y))-x/10。 程序如下: [x,y]=meshgrid(0:0.25:4*pi); %在[0,4pi]×[0,4pi]区域生成网格坐标 z=sin(x+sin(y))-x/10; mesh(x,y,z); axis([0 4*pi 0 4*pi -2.5 1]); 如下图: -2.5 -2-1.5-1-0.500.51 此外,还有带等高线的三维网格曲面函数meshc 和带底座的三维网格曲面函数meshz 。其用法与mesh 类似,不同的是meshc 还在xy 平面上绘制曲面在z 轴方

MATLAB 基本操作和简单语句输入

实验一基本操作和简单语句输入 一、实验目的和要求 1、熟悉MATLAB的命令窗口 2、掌握MATLAB的一些基本操作,能够进行一般的数值计算 3、实现语句的重调和修改 二、实验内容和步骤 1、启动MATLAB 2、观察MATLAB窗口的组成部分 (1)了解菜单栏各菜单项的功能,用书变打开MA TLAB的各个菜单,在状态栏里显示当前鼠标所指的菜单项的含义 (2)用鼠标指向常用工具栏的每个工具按钮,了解各个工具按钮的含义 3、命令窗口的打开和关闭 (1)查看窗口的打开和关闭 (2)在命令窗口中输入命令a=3;b=4;y=a*b+a/b,然后回车,查看命令显示结果 (3)利用MATLAB中编辑命令行事常用的按键功能,调出上一语句,对它进行修改(如把分号改成逗号,看运行结果),并把运行结果复制到word中保存。 >> a=3;b=4;y=a*b+a/b, y = 12.7500 >> a=3,b=4,y=a*b+a/b, a = 3 b = 4 y = 12.7500 (4)关闭命令窗口

(5)打开命令窗口 4、使用MATLAB帮助 熟悉MATLAB的帮助系统,通过帮助系统了解有关内容 5、在命令窗口中输入demo,将出现MA TLAB的演示窗,通过演示窗,对MATLAB的功能进一步的浏览。 三、试验环境 计算机MA TLAB软件 四、练习 1、调出MATLAB\stateflow的演示实例

2、计算y=x^3+(x-0.98)^2/(x+1.25)^3-5(x+1/x),x=2,x=3时的值 3、计算cos60?-√(9-√2) 4、已知a=3,A=4,b=a^2,B=b^2-1,c=a+A-2B,C=a+B+2c,求C

使用matlab绘制三维图形的方法

matlab 绘制三维图形的方法 plot3函数与plot 函数用法十分相似,其调用格式为: plot3(x1,y1,z1,选项1,x2,y2,z2,选项2,…,xn,yn,zn,选项n),其中每一组x,y,z 组成一组曲线的坐标参数,选项的定义和plot 函数相同。当x,y,z 是同维向量时,则x,y,z 对应元素构成一条三维曲线。当x,y,z 是同维矩阵时,则以x,y,z 对应列元素绘制三维曲线,曲线条数等于矩阵列数。 例 绘制三维曲线。 程序如下: t=0:pi/100:20*pi; x=sin(t); y=cos(t); z=t.*sin(t).*cos(t); plot3(x,y,z);grid title('Line in 3-D Space'); xlabel('X');ylabel('Y');zlabel('Z'); 如下图: -1 1 X Line in 3-D Space Y Z 三维曲面

1.产生三维数据 在MATLAB 中,利用meshgrid 函数产生平面区域内的网格坐标矩阵。其格式为: x=a:d1:b; y=c:d2:d; [X,Y]=meshgrid(x,y); 语句执行后,矩阵X 的每一行都是向量x ,行数等于向量y 的元素的个数,矩阵Y 的每一列都是向量y ,列数等于向量x 的元素的个数。 2.绘制三维曲面的函数 surf 函数和mesh 函数的调用格式为: mesh(x,y,z,c):画网格曲面,将数据点在空间中描出,并连成网格。 surf(x,y,z,c):画完整曲面,将数据点所表示曲面画出。 一般情况下,x,y,z 是维数相同的矩阵。x,y 是网格坐标矩阵,z 是网格点上的高度矩阵,c 用于指定在不同高度下的颜色范围。 例 绘制三维曲面图z=sin(x+sin(y))-x/10。 程序如下: [x,y]=meshgrid(0:0.25:4*pi); %在[0,4pi]×[0,4pi]区域生成网格坐标 z=sin(x+sin(y))-x/10; mesh(x,y,z); axis([0 4*pi 0 4*pi -2.5 1]); 如下图: -2.5 -2-1.5-1-0.500.51 此外,还有带等高线的三维网格曲面函数meshc 和带底座的三维网格曲面函数meshz 。其用法与mesh 类似,不同的是meshc 还在xy 平面上绘制曲面在z 轴方向的等高线,meshz 还在xy 平面上绘制曲面的底座。 例 在xy 平面内选择区域[-8,8]×[-8,8],绘制4种三维曲面图。 程序如下:

实验八MATLAB状态空间分析

实验八 线性系统得状态空间分析 §8、1 用MATLAB 分析状态空间模型 1、状态空间模型得输入 线性定常系统状态空间模型 将各系数矩阵按常规矩阵形式描述。 [][] [] 11121120101;;; n n n nn n n A a a a a a a B b b b C c c c D d ====?L L L ?L ?L ? 在MA TLAB 里,用函数SS()来建立状态空间模型 例8、1 已知某系统微分方程 求该系统得状态空间模型。 解:将上述微分方程写成状态空间形式 , , 调用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 Program example 6、2、m a=[-0、56 0、05;-0、25 0]; b=[0、03 1、14;0、11 0]; c=[1 0;0 1]; d=zeros(2,2); sys=ss(a,b,c,d) G1=tf(sys) G2=zpk(sys) 运行后得到如下结果

实验二利用MATLAB求取线性系统的状态空间模型的解

现代控制理论第一次上机实验报告 实验二 利用MATLAB 求取线性系统的状态空间模型的解 实验目的: 1、根据状态空间模型分析系统由初始状态和外部激励所引起的响应; 2、通过编程、上机调试,掌握系统运动的分析方法。 实验原理: 一、系统时域响应的求解方法 给定系统的状态空间模型: ()()()()()() x t Ax t Bu t y t Cx t Du t =+=+ (2.1) 设系统的初始时刻00t =,初始状态为(0)x ,则系统状态方程的解为 0()0 ()(0)()(0)()t At At A t At A t x t e x e e Bu d e x e Bu d ττττττ--=+=+?? (2.2) 输出为 ()0()(0)()()t At A t y t Ce x C e Bu d Du t τττ-=++? (2.3) 包括两部分,第一部分是由系统自由运动引起的,是初始状态对系统运动的影响;第二部分是由控制输入引起的,反映了输入对系统状态的影响。输出()y t 由三部分组成。第一部分是当外部输入等于零时,由初始状态0()x t 引起的,故为系统的零输入响应;第二部分是当初始状态0()x t 为零时,由外部输入引起的,故为系统的外部输入响应;第三部分是系统输入的直接传输部分。 实验步骤 1、构建系统的状态空间模型,采用MA TLAB 的m-文件编程; 2、求取系统的状态和输出响应; 3、在MA TLAB 界面下调试程序,并检查是否运行正确。

实验要求 1、在运行以上程序的基础上,应用MA TLAB 验证一个振动现象可以由以下系统产生: 01()10x t x ??=??-?? 证明该系统的解是 cos sin ()(0)sin cos t t x t x t t ??=??-?? 假设初始条件0(0) 1x ??=???? ,用Matlab 观察该系统解的形状。 m-程序如下: A=[0 1;-1 0]; B=[0;0]; D=B; C=[1 0;0 1]; sys=ss(A,B,C,D); x0=[0;1]; t=[0:0.01:20]; [y,T,x]=lsim(sys,u,t,x0) subplot(2,1,1),plot(T,x(:,1)) xlabel('Time(sec)'),ylabel('X_1') subplot(2,1,2),plot(T,x(:,2)) xlabel('Time(sec)'),ylabel('X_2') 仿真结果如下:

利用MATLAB对状态空间模型进行分析

实验2 利用MATLAB 对状态空间模型进行分析 2.1 实验设备 同实验1。 2.2 实验目的 1、根据状态空间模型分析系统由初始状态和外部激励所引起的响应; 2、通过编程、上机调试,掌握系统运动的分析方法。 2.3 实验原理说明 给定系统的状态空间模型: ) ()()()()()(t t t t t t Du Cx y Bu Ax x +=+=& (2.1) 设系统的初始时刻,初始状态为,则系统状态方程的解为 )0(x 00=t ∫∫??+=+=t t t t t t e e e e e t 0 )(0 d )()0(d )()0()(τ ττ τττ Bu x Bu x x A A A A A (2.2) 输出为 )(d )()0()(0 )(t e e t t t t Du Bu C x C y A A ++=∫?τττ (2.3) )(t x 包括两部分,第一部分是由系统自由运动引起的,是初始状态对系统运动的影响; 第二部分是由控制输入引起的,反映了输入对系统状态的影响。输出由三部分组成。第一部分是当外部输入等于零时,由初始状态引起的,故为系统的零输入响应;第二 部分是当初始状态为零时,由外部输入引起的,故为系统的外部输入响应;第三部分是系统输入的直接传输部分。 )(t y )(0t x )(0t x MATLAB 函数: 函数initial(A,B,C,D,x0)可以得到系统输出对初始状态x0的时间响应; 函数step(A,B,C,D)给出了系统的单位阶跃响应曲线; 函数impulse(A,B,C,D) 给出了系统的单位脉冲响应曲线; 函数 [y,T,x]=lsim(sys,u,t,x0) 给出了一个状态空间模型对任意输入的响应,其中的sys 表示贮存在计算机内的状态空间模型,它可以由函数sys=ss(A,B,C,D)得到,x0是初始状态。 u 2.4 实验步骤 1、构建系统的状态空间模型,采用MATLA 的m-文件编程; 2、求取系统的状态和输出响应; 3、在MATLA 界面下调试程序,并检查是否运行正确。 例2.1 考虑由以下状态方程描述的系统: ?? ? ???=????????????????????=??????12)0()0(,51010212121x x x x x x && 求该系统状态对初始状态的时间响应。 编写和执行以下m-文件

matlab的三维图形绘制三维制图方法解说

三维图形 一. 三维曲线 plot3(x1,y1,z1,选项1,x2,y2,z2,选项2,…,xn,yn,zn,选项n) 其中每一组x,y,z 组成一组曲线的坐标参数,选项的定义和plot 函数相同。当x,y,z 是同维向量时,则x,y,z 对应元素构成一条三维曲线。当x,y,z 是同维矩阵时,则以x,y,z 对应列元素绘制三维曲线,曲线条数等于矩阵列数。 Example1.绘制三维曲线。 程序如下: clf, t=0:pi/100:20*pi; x=sin(t); y=cos(t); z=t.*sin(t).*cos(t); %向量的乘除幂运算前面要加点 plot3(x,y,z); title('Line in 3-D Space'); xlabel('X');ylabel('Y');zlabel('Z'); grid on; 所的图形如下: X Line in 3-D Space Y Z 二. 三维曲面 1. 产生三维数据 在MATLAB 中,利用meshgrid 函数产生平面区域内的网格坐标矩阵。 语句执行后,矩阵X 的每一行都是向量x ,行数等于向量y 的元素的个数,矩阵Y 的每

一列都是向量y ,列数等于向量x 的元素的个数。 2. 绘制三维曲面的函数 surf 函数和mesh 函数 example2. 绘制三维曲面图z=sin(x+sin(y))-x/10。 程序如下: clf, [x,y]=meshgrid(0:0.25:4*pi); %产生平面坐标区域内的网格坐标矩阵 z=sin(x+sin(y))-x./10; surf(x,y,z); axis([0 4*pi 0 4*pi -2.5 1]); title('surf 函数所产生的曲面'); figure; mesh(x,y,z); axis([0 4*pi 0 4*pi -2.5 1]); title('mesh 函数所产生的曲面'); -2.5 -2-1.5-1-0.500.51surf 函数所产生的曲面

MATLAB的基本操作实验报告

MATLAB 的基本操作(MATLAB Basics ) 1. Plot the following graph (1) Plotting the two curves under one coordinate system with different color sin(), sin(3)y x y x == 代码: clear; x=-pi:pi/1000:pi; y=sin(x); plot(x,y,'r:'); hold on; x=-pi:pi/1000:pi; y=sin(3*x); plot(x,y,'b'); hold off; xlabel('x 轴'); ylabel('y 轴'); legend('y=sinx','y=sin(3x)'); 运行结果: (2) Plotting the standard normal distribution density function: )55(21)(2 2 ≤≤-= -x e x p x π 代码: clear;

MATLAB 的基本操作(MATLAB Basics ) x=-5:0.05:5; y=1/sqrt(2*pi)*exp(-x.^2/2); plot(x,y) 运行结果: (3)Using ‘subplot ’ command to plot 6 curves : )55()6,...,2,1() *sin()(ππ≤≤-==x i x i x f i 代码: clear; x=-5*pi:0.05:5*pi; for i=1:6 subplot(2,3,i); y=sin(i*x); plot(x,y); end 运行结果:

实验八MATLAB状态空间分析知识讲解

实验八M A T L A B状态 空间分析

实验八 线性系统的状态空间分析 §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 ==== 在MATLAB 里,用函数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)

matlab空间图形的画法

空间图形的画法 实验目的:掌握用matlab 绘制空间曲面和曲线的方法。通过作图和观察,深入理解多元函数的概念,提高空间想象能力,深入理解二次曲面方程及其图形。 一、matlab 命令: 1、三位曲线的绘制: plot3(x,y,z,'s') 或 ezplot3('x(t)','y(t)','z(t)',[t1,t2]) 例1:绘制空间螺线的参数方程:10/,sin ,cos t z t y t x === )80(π≤≤t ,输入: x y 2、三位曲面网线图和曲面图的绘制: (1) [X,Y]=meshgrid(x,y) (2) Z=f(x,y) (3) mesh(X,Y,Z) (4) surf(X,Y,Z)

例2:画出曲面2 2y x z +=的图形,输入: x=-2:0.1:2; y=-2:0.1:2; [x,y]=meshgrid(x,y); z=x.^2+y.^2; surf(x,y,z) figure mesh(x,y,z) 二、实验内容: 1、 一般二元函数作图: 例3 作平面y x z 326--=的图形,其中20,30≤≤≤≤y x . 例4 画出)94cos(2 2y x z +=的图形,输入: x=-1:0.1:1; y=-1:0.1:1; [x,y]=meshgrid(x,y); z=cos(4*x.^2+9*y.^2);

mesh(x,y,z) 2、二次曲面: 例5 作椭球面19 422 2=++z y x 的图形 该曲面的参数方程:u z v u y v u x cos ,sin sin 3,cos sin 2===,其中 ππ20,0≤≤≤≤v u 。输入: u=0:0.1:pi; v=0:0.1:2*pi; [u,v]=meshgrid(u,v) x=2*sin(u).*cos(v); y=3*sin(u).*sin(v); z=cos(u); surf(x,y,z)

相关主题