matlab第八章
第8章MATLAB图形用户界面设计

例5.29 利用曲线对象绘制 y1 sin 和 y2 cos 并 利用文字对象完成标注。 theta=-pi:.1:pi; y1=sin(theta); y2=cos(theta); h=line(theta,y1,'LineStyle',':','Color','g'); line(theta,y2,'LineStyle','--','Color','b'); xlabel('-\pi \leq \theta \leq \pi') ylabel('sin(\theta)') title('Plot of sin(\theta)') text(-pi/4,sin(-pi/4),'\leftarrow sin(-\pi\div4)','FontSize',12) set(h,'Color','r','LineWidth',2) %改变曲线1的颜色和线宽
例5.30 利用曲面对象绘制三维曲面z=sin(y)cos(x)。
程序如下: x=0:0.1:2*pi;[x,y]=meshgrid(x);z=sin(y).*cos(x); axes('view',[-37.5,30]); hs=surface(x,y,z,'FaceColor','w','EdgeColor','flat'); grid on; xlabel('x-axis'),ylabel('y-axis'),zlabel('z-axis'); title('mesh-surf'); pause; set(hs,'FaceColor','flat');
MATLAB实用教程第八章

WindowButtonDownFcn:当用户在图 形窗口内无控件的地方按下鼠标键时,调 用回调函数。 WindowButtonMotionFcn : 当 用 户 在 图形窗口中移动鼠标时,调用回调函数。 WindowButtonUpFcn : 当 用 户 在 图 形 窗口中释放鼠标键时,调用回调函数。
在模板设计界面中,可以选择创建新 的GUI或者打开原有的GUI。 在创建新的GUI时MATLAB提供以下4 种模板: 空白模板;
带有控制按钮模板;
带有坐标轴和菜单模板;
问答式对话框模板。
其中的空白模板如下图所示。
8.1.3 GUIDE提供的控件
在空白模板中,GUIDE提供界面控件 以及设计工具集来实现界面设计,其中, 控件分布在界面设计编辑器的左侧,如下 图所示。
3.对象浏览器
对象浏览器可以显示图形窗口中所有 对象的继承关系。
4.菜单编辑器
GUIDE能够创建菜单栏和上下文菜单。
当 选 择 【Tools】 菜 单 下 的 【Menu Editor】选项时即可打开下图所示的菜单 编辑器。
(1)菜单栏菜单 使用【New Menu】工具栏创建一个菜 单; 指定其隶属关系; 指定其属性。 下图显示一个设计的菜单,当激活图 形窗口时即可看到结果。
使用模态图形窗口使用户只能与当前执行 的GUI进行交互。
8.3 图形用户界面设计实例
编写函数,这些函数都包含在随图形 用户界面设计时产生的M文件中。 1.图形用户界面打开时自动运行的函数 simple_gui_OpeningFcn(),其具体代码 序列如下:
2.3个按钮的回调函数(Callback),其具 体代码序列如下:
询问用户并阻止MATLAB运行直至用户作 出回答,此时图形窗口仅可以被观察。 警告用户其指定的操作将会破坏文件的对 话框,该对话框能够执行用户所需的操作 前强迫用户作出回答。
《matlab程序设计》第八章和九章matlab句柄绘图

——matlab语言的句柄绘图可以对 图形各基本对象进行更为细腻的 修饰,可以产生更为复杂的图形, 而且为动态图形的制作奠定了基 础。
整理课件
高层绘图与底层绘图的区别
高层绘图函数——是对整个图形进行操 作的,图形每一部分的属性都是按缺省 方式设置的,充分体现了matlab语言的 实用性。
整理课件
设置线条和窗口的颜色
set(h1,‘color’,[1 0 0])
RGB配色方案
set(h1,'color',[1 0.5 0])
10
10
9
9
8
8
7
7
6
6
5
整理课件
5
set(gcf,'color',[0.5 0.5 0.5]) set(gcf,'color',[0.5 0.6 0.8])
底层绘图函数——可以定制图形,对图 形的每一部分进行控制,用户可以用来 开发用户界面以及各专业的专用图形。 充分体现了matlab语言的开发性
整理课件
பைடு நூலகம்
例: t=0:pi/100:2*pi; y=sin(t); plot(t,y) %—— 自动出现一个窗口
整理课件
一、什么是句柄图形
句柄图形:利用底层绘图函数,通 过对对象属性的设置(Handle Graphics)与操作实现绘图。
整理课件
二、图形对象属性的获得与设置
句柄属性的设置与修改 get: 获得句柄图形对象的属性和返回某些
对象的句柄值 set: 改变图形对象的属性
整理课件
专用函数: gcf:当前窗口对象的句柄 Get Current
实用MATLAB教程第八章

第8章MATLAB高级应用8.1 MATLAB应用接口MATLAB是一个看似封闭的系统,但具有多种接口功能,有外部数据接口和应用程序接口,用户可以十分方便地与其它应用程序交换数据和信息。
比如,MATLAB可以与C和FORTRAN程序相互调用,从而充分发挥MATLAB数值计算的长处,而避开其运行速度慢的短处。
8.1.1 MEX文件MEX就是MATLAB Executable的缩写,即MATLAB可执行程序。
MEX文件是由C 或FORTRAN程序编译生成的,也可以由M文件经由C源代码生成。
MEX文件在Windows 系统是扩展名为DLL的动态链接库,类似于MATLAB的内部函数,在M文件中可以直接调用。
MEX文件具有以下几个方面的应用:(1) 对于已存在的C或FORTRAN子程序,可以通过MEX文件在MATLAB环境中直接调用,而不必重新编写M文件。
(2) 由于MATLAB是解释性语言,运行如for等循环体时,会出现速度十分缓慢的现象,为了能提高速度,往往要使用MEX程序。
(3) 对于A/D、D/A卡,或其它PC硬件,可以直接用MEX文件进行访问。
(4) 利用MEX文件,可以使用如Windows用户图形界面等资源。
由于MATLAB是用C语言编写的,有很多科学计算子程序又来自FORTRAN程序库,因此在MATLAB中,通过调用用户自己开发的C或FORTRAN程序,由编译器编译成动态链接函数,执行速度和C或FORTRAN程序相同,就可以达到提高计算效率的目的。
在MATLAB中,如果有同名的文件则调用的顺序是先执行MEX文件,其次是DLL文件,最后才是M文件,而help命令则会只处理.m文件。
1. MEX文件系统设置MEX文件的编写与编译需要两个条件:已经安装的MATLAB应用程序组件及相应的工具和合适的C或Fortran语言编译器。
MATLAB本身包含了C语言编译器Lcc,但不包含Fortran编译器。
第八章 matlab在自动控制原理中的应用

>> get(s1) num: {[0 0 3 4 5]} den: {[1 3 5 0 9]} Variable: 's' Ts: 0 ioDelay: 0 InputDelay: 0 OutputDelay: 0 InputName: {''} OutputName: {''} InputGroup: [1x1 struct] OutputGroup: [1x1 struct] Notes: {} UserData: []
>> s3=ss(s1) a= x1 x2 x3 x4 x1 -3 -1.25 0 -1.125 x2 4 0 0 0 x3 0 2 0 0 x4 0 0 1 0 b= u1 x1 1 x2 0 x3 0 x4 0 c= x1 x2 x3 x4 y1 0 0.75 0.5 0.625 d= u1 y1 0 Continuous-time model.
>> s4=ss(s2) a= x1 x2 x3 x4 x1 -1.891 1.737 -0.745 0 x2 -1.737 -1.891 -0.05194 0 x3 0 0 0.3913 2.201 x4 0 0 -0.5503 0.3913 b= u1 x1 0 x2 0 x3 0 x4 1.651 c= x1 x2 x3 x4 y1 2.714 0 0.8255 0 d= u1 y1 0 Continuous-time model.
使用时,只要输入环节的名称,不必输入其参 数矩阵。
控制系统工具箱LTI对象运算优先等级为 “状态空间>零极增益>传递函数”
实现的算法:以并联为例 算法:
f ( s) f A ( s) g B ( s) f B ( s) g A ( s) W ( s) g ( s) g A ( s) g B ( s)
第八章matlab解方程

X
[x,f,h]=fsolve(f,x0)返回一元或者多元函 数f在x0附近的一个零点,其中x0为迭代 初值,f返回f在x0的函数值,应该接近0; h返回值如果大于0,说明计算结果可靠, 否则计算结果不可靠。
例 求函数 y x sin(x2 x 1)在(-2,-0.1)内的零点
>>fun=inline(‘x*sin(x^2-x-1)’,’x’) >>fplot(fun,[-2,-0.1]);grid on >>x1=fzero(fun,[-1,-1.2]),x2=fzero(fun,[-1.2,-0.1]) 或x1=fzero(fun,-1.6),x2=fzero(fun,-0.6) 或[x1,f1,h1]=fsolve(fun,-1.6), [x2,f2,h2]=fsolve(fun,-0.6)
例:>> fzero('sin(x)',10)
>> fzero(@sin,10) >> fzero('x^3-3*x+1',1) >> fzero('x^3-3*x+1',[1,2]) >> fzero('x^3-3*x+1',[-2,0]) >> f=inline('x^3-3*x+1'); >> fzero(f,[-2,0]) >> fzero('x^3-3*x+1=0',1)
非线性方程的根
fzero 的另外一种调用方式
fzero(f,[a,b])
求方程 f=0 在 [a,b] 区间内的根。 方程在 [a,b] 内可能有多个根,但 fzero 只给出一个
matlab编程基础与工程应用第八章课件

【 例 8.1-1】 电 阻 电 路 如 图 8-1 所 示 , 已 知 R1=R2=R3=1Ω , R4=R5=R6=2Ω,uS1=4V,uS2=-2V,求I3。
电阻电路可用回路电流法、支路电流法、节 点电压法等方法求解,本例给出回路电流法。
【解】 解法一:回路电流法。回路电流法以回路电 流为变量,根据基尔霍夫电压定律(KVL), 列写电路的独立回路组的KVL方程。如图81,将3个网孔作为选取的独立回路组,则回 路电流法的KVL方程组为
程序还调用 MATALB 信号处理工具箱中的周期 矩形脉冲的产生函数square。其调用格式为: square(T);产生一个周期为2π的矩形脉冲函数。 其最大值为 1 ,最小值为 -1. 函数自变量取值为 相量T的各元素的值。 square (T, duty);产生一个占空比duty、周期为 2π的矩形脉冲函数。 square(w*T, duty);产生一个占空比duty、周期 为2π/w的矩形脉冲函数。 由以上说明可知,square(w*t, 50)产生一个周 期为 2π/w 、占空比为 50% 、幅值为± 1 的周期 性矩形脉冲。
������ ������������ ������������ //������������ Z 1
电流表的读数即为电流������的模值。
clear clc w=1000; ZR=20; Us=160; ZL=j*w*0.04 ZC=-j*(1/(w*20*1e-6)); Z1=(ZL*ZC)/(ZL+ZC); Z=ZR+Z1; U=Us*(Z1/Z); I=U/ZL; Iy=abs(I) 程序运行结果为 Iy = 3.9801
(R1+ R6+ R2) I1- R6 I3- R2 I2=- uS1 (R2+ R4 + R5) I2- R2 I1- R5 I3=- uS2 (R3+ R5+ R6) I3- R6 I1- R5 I2= uS2
MATLAB基础教程(第四版)第8章 MATLAB 绘图

图形的其他操作
1. 图形保持 2. 图形子窗口 3. 坐标轴控制
2021年8月23日
第10页
MATLAB R2018b 基础教程
特殊图形的绘制(1/6)
条形图和面积图(Bar and Area Graphs)
MATLAB中主要有4个函数用于绘制条形图。 1. bar和barh 2. bar3,bar3h
图形的颜色是图形的一个重要因素,丰富的颜色 变化可以使图形更具有表现力。MATLAB中图形 的颜色控制主要由函数colormap完成。 MATLAB是采用颜色映射表来处理图形颜色的, 即RGB色系。
在二维等值线中添加高度值 绘制指定数据的二维等值线 绘制指定数据的三维等值线 绘制二维等值线,并用颜色填充各等值线之间的区域 用于计算等值线矩阵,通常由其他函数调用 绘制二维等值线对应的网格图 绘制二维等值线对应的表面图
2021年8月23日
第16页
MATLAB R2018b 基础教程
图形注释(1/2)
2021年8月23日
第11页
MATLAB R2018b 基础教程
特殊图形的绘制(2/6)
饼状图(Pie Charts) 饼状图是一种统计图形,用于显示每个元 素占总体的百分比,最常见的如磁盘容量 统计图。在MATLAB中,函数pie和pie3分 别用于绘制二维和三维饼状图。
2021年8月23日
第12页
添加基本注释
基本注释包括线头、箭头、文本框和用矩形或椭 圆圈画出重要区域。这些注释的添加可以通过图 形注释工具栏直接完成。
2021年8月23日
第17页
MATLAB R2018b 基础教程
图形注释(2/2)
添加其他注释
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MATLAB作业(八章)
8.1某随动系统的微分方程为
0.07523dt d ϕ+0.7522dt
d ϕ+dt d ϕ
+K ϕ=K ψ
已知:ϕ(0)=∙ϕ(0)=∙
∙ϕ(0)=0,ψ(t)=1(t)。
试分别就K=2.5、5.0、12.5三种情况对系统进行仿真,考察ϕ(t)的动态性能。
8.2已知系统模型
⎪⎩⎪⎨⎧+--=+=∙
∙
pu
x x x pu
x x 212212, x 1(0)=x 2(0)=0 当p=1、2、10时,对以下几种情况进行仿真,并比较不同输入幅值下的系统输出响应。
(1)
u (t )=1; (2)u (t )=t ; (3)u (t )=sin (t ); (4)
u (t )=1+sin (t ); (5)u(t)=1+t+sin(t).
(1)
(2)
(3)
(4)
(5)
8.3 对如图所示的系统进行仿真。
(1)输入信号为r (t )=1(t ); (2)输入信号为如下分段函数 s
5.0t t 1s
5.0t t 2{
t r ><==)()(
(1)
(2).
f=-1的阶跃扰动,试就系统在该扰动作用下IV环节的动态过程。
8.8非线性控制系统如图所示,求系统在有饱和非线性和无饱和非线性两种情况下的动态响应,分析饱和非线性对系统动态性能的影响。
(1).
(2)。