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

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

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

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快速入门第一章

。下面将对菜单进行介绍。 图1-8 1.3.1 M文件 M文件有两种类型:文本M文件和函数M文件。 (一)文本M文件 一个比较复杂的程序常常要作反复的调试,这时你不妨建立一个文本文件并把它储存起来,可以随时调用进行计算。建立文本文件可以在File菜单中选择New,再选择M-file,这时MATLAB将打开一个文本编辑窗口,在这里输入命令和数据。储存时文件名遵循MA TLAB变量命名的原则,但必须以m 为扩展名,其一般形式为 < M文件名>.m 如juzhen.m, pp.m等。 值得注意的是,文本M文件中的变量都是全局变量,在执行过程中, 文本M 文件中的命令可以使用目前工作区中的变量,它所产生的变量也将成为工作区的一部分。例如我们把下面的程序保存为名为budijifen1.m的文本M文件:function budijifen1 x=-4*pi:0.014*pi;a=1; for C=-3:3 y =1/2*(-sin(a*x)+a*x)/a+C plot(x,y) hold on end grid hold off xlabel('自变量 X') ylabel('因变量 Y') title('不定积分的积分曲线族') legend('不定积分的积分曲线族') 然后在MA TLAB工作窗口中输入文件名:

>> budijifen1 运行后屏幕显示计算结果(略)和图形(见图1-9)。 再如,将下面的一个生成矩阵的程序保存为名为juzhen.m 的文本M 文件: for i=1:k for j=1:n b(i,j)=7/(2*i+3*j-6); end end a=rats(b) 然后在MA TLAB 工作窗口中输入: >> k=3;n=4; juzhen,b 图1-9 名为budijifen1.m 的文本M 文件的图形 运行后屏幕显示运行结果如下: a = -7 7/2 7/5 7/8 7 7/4 1 7/10 7/3 7/6 7/9 7/12 b = -7.0000e+000 3.5000e+000 1.4000e+000 8.7500e-001 7.0000e+000 1.7500e+000 1.0000e+000 7.0000e-001 2.3333e+000 1.1667e+000 7.7778e-001 5.8333e-001 (二) 函数M 文件 函数M 文件是另一类M 文件,我们可以根据需要建立自己的函数文件,它们能够像库函数一样方便地调用,从而极大地扩展MA TLAB 的能力。如果对于一类特殊的问题,建立起许多函数M 文件,就能最终形成独立的工具箱。 函数M 文件的第一行有特殊的要求,其形式必须为 function <因变量>= <函数名>(<自变量>) 其他各行为从自变量计算因变量的语句,并最终将结果赋予因变量。而这个M 文件的文件名必须是<函数名>.m 。下面给出函数文件的一个简单例子。 如果我们要在某个程序中要调用函数π= 21y e 22x -,就必须建立并保存下面的名为fun.m 的函数M 文件。 function y = fun(x)

使用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基础准备及入门本次实验有两个目的:一是讲述MATLAB正常运行所必须具备的基础条件;二是简明 系统地介绍高度集成的Desktop操作桌面的功能和使用方法。 本章的前两节分别讲述:MATLAB的正确安装方法和MATLAB 环境的启动。因为指令窗是MATLAB最重要的操作界面,所以本章用第 1.3、1.4 两节以最简单通俗的叙述、算例讲述指令窗的基本操作方法和规则。这部分内容几乎对MATLAB各种版本都适用。 MATLAB6.x 不同于其前版本的最突出之处是:向用户提供前所未有的、成系列的交互式工作界面。了解、熟悉和掌握这些交互界面的基本功能和操作方法,将使新老用户能事半功倍地利用MATLAB去完成各种学习和研究。为此,本章特设几节用于专门介绍最常用的交互界面:历史指令窗、当前目录浏览器、工作空间浏览器、内存数组编辑器、交互界面分类目录窗、M文件编辑/调试器、及帮助导航/浏览器。 本章是根据MATLAB6.5版编写的,但大部分内容也适用于其他6.x版。 1.1M ATLAB的安装和内容选择 图 1.1-1 1.2D esktop操作桌面的启动 1.2.1MATLAB的启动 1.2.2Desktop操作桌面简介

一 操作桌面的缺省外貌 图1.2-1 二 通用操作界面 1.3 C ommand Window 运行入门 1.3.1 Command Window 指令窗简介 图 1.3-1 1.3.2 最简单的计算器使用法 【例1.3.2-1】求2 3)]47(212[÷-?+的算术运算结果。 (1)用键盘在MATLAB 指令窗中输入以下内容 >> (12+2*(7-4))/3^2 (2)在上述表达式输入完成后,按【Enter 】键,该就指令被执行。 (3)在指令执行后,MATLAB 指令窗中将显示以下结果。

实验二利用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 gui新手入门指南

1、从最简单的开始 编程最基本的目的就是——我执行一个操作,程序做出一个反应。 “一个操作”包括:点击鼠标,拖动滑块,填写数据,选择选项…… “做出一个反应”包括:计算一些东西,然后储存在哪里,或者贴个图出来,或者显示在哪里…… ------------------------------------------------------------------------------------------------------------------- 编程的基本思想: 目的->当点击按钮A时,然后执行任务C, 则->进入按钮A的回调函数callback里,写下任务C的代码。 ------------------------------------------------------------------------------------------------------------------- a:不知道callback在哪??右键单击按钮,view callbacks->选择callback)别的控件也一样。 a:不同的回调函数啥意思?? callBack 最常用的就是它。如果控件是按钮,那点击按钮时,则按钮下的Callback就会执行;如果是滑块,则拖动滑块时,滑块名下的callback就会执行;总之,就是对控件默认操作时,matlab后台就会自动调用它名下的的callback。正常用途,全放在callback下就够了。如果其他的,实在是想知道,了解一下也未尝不可。 ButtonDownFcn 就是鼠标在它(代指各种控件)上面点击一下,你放在这个函数名下的代码就会执行。(ps:按钮的callback也是点击,所以会覆盖掉这个buttondownfcn。) CreateFcn 顾名思义,在生成这个控件,显示之前,执行你放在这个函数名下的代码; DeleteFcn 一样。在控件要销毁,但是被毁灭之前执行这个函数名下的代码。貌似“真的要退出吗”这一类就是写在这里。 KeyPressFcn 当前控件获得焦点且有按键按下时执行。(什么是焦点?就是这个控件被鼠标点了(或者是tab轮选到了)。你打开一个记事本,然后再点这个网页,再随便按几个按键,记事本上有字不?没有对吧。因为它没获得焦点,所以你的按键它不会反应的。只有你最后再点它一下,再按几个按键,结果怎么样?有字了吧?)这里的KeyPressFcn也是一样的道理。 一般在这下面的代码还会判断下按键是什么,然后执行相应的代码。 ResizeFcn,SelectionChangeFcn 不常用。也懒得去看了。附几句,控件都有Resize的属性,好像默认是不可调整,如果要用到这个函数,去把它打开先。 SelectionChangeFcn 是在群按钮组件中,改变选择时,所执行的函数。 哪些控件支持哪些回调函数?很简单,你在它上面右键就可以看到了,点进去就可以编辑了。 可以在property inspect中在需要的回调函数下设置%automatic就可以自动添加相应的回调函数框架。 2、常用控件代码框架参考 --------------------------------------------------------------------- Toggle Button的callback一般写法

相关主题