第1章绪论
控制系统计算机仿真(MATLAB)
选择教材1、控制系统MATLAB语言计算及仿真黄忠霖国防工业出版社
2、控制系统计算机辅助设计蔡启仲重庆大学出版社
现阶段学习MATLAB的重要性
?1)《自动控制理论》中学习的结论及其所做实验的验证;
?2)仿真《热工自动控制系统》实验及进行课程设计;
?3)仿真《电力拖动自动控制》实验及进行课程设计;
?4)毕业设计仿真主要用的软件工具。
第一章控制系统及仿真概述
一、控制系统计算机仿真的基本概念
1、系统计算机仿真
2、控制系统计算机仿真的过程
二、控制系统MATLAB计算及仿真
1、MATLAB简介(Matrix Laboratory)
2、MATLAB主要特点
系统计算机仿真
控制系统的仿真,就是以控制系统的模型为基础,主要以数学模型代替实际控制系统,以计算机为工具,对控制系统进行实验和研究的一种方法。
控制系统计算机仿真的过程按以下步骤进行
1、建立控制系统的数学模型;
2、建立自动控制系统的仿真模型;
3、编制自控系统仿真程序;
4、进行仿真实验并输出仿真结果。
MATLAB的主要特点:
1、功能强大,适用范围广泛;
2、编程效率高(M文件;Toolbox);
3、界面友好,用户使用方便;
4、扩充能力强(M;Mex);
5、语句简单、内涵丰富;
6、强大方便的图形功能;
7、功能齐备的自动控制软件工具包。界面友好、用户使用方便
A、MATLAB具有良好的用户界面与易学易用的帮助系统(help)。
B、MATLAB程序设计语言把编辑、编译、连接、执行、调试等多个步骤融为一体。
C、MATLAB语言可设置中断点,存储多个中间结果,除此以外,它还可以进行跟踪调试。
D、MATLAB里既可执行程序(M文件),又可通过人机对话,调用不同的库函数(子程序)方便快速地达到用户自己的目的,以实验MATLAB的交互功能。
E、MATLAB是演算纸式的科学工程计算语言。
语言简单,内涵丰富
变量名列表=表达式[a,b,c,……]=fun(d,e,f,……)
强大方便的图形功能
1、绘制二维、三维曲线并对平面或空间多边形填充;
2、绘制三维曲面并对其进行复杂操作;
3、通过开关参数实现曲面的透明、消隐;
4、利用缩放功能对图形的局部位置取景放大;
5、调整观察与方位角考察空间曲面的不同侧面;
6、用光照效果对曲面进行明暗处理以增强其立体感。
功能齐备的自动控制软件工具包
Control Systems Toolbox:控制系统工具箱
Neural Network Blockset:神经网络模块库
Fuzzy Logic Toolbox:模糊逻辑工具箱
Power System Blockset:电力系统模块库
第二章MATLAB程序设计语言
§2.1MATLAB6.1的启动
一、MATLAB启动
MATLAB启动有两种方法:
(1)MATLAB6.1的图标快捷启动方式
(2)菜单启动方式
§2.2MATLAB环境
一、MATLAB的命令窗口
1、命令窗口的命令菜单
2、命令窗口的工具栏
3、命令窗口的命令编辑区
↑:光标移到上一行
↓:光标移到下一行
←:光标回移一个字符
→:光标向右移一个字符
Ctrl→:向右移一个单词
Ctrl←:向左移一个单词
Backspace:删除光标前字符
Delete:删除光标后字符
End:光标移到行尾
Home:光标移到行首
Esc:删除一行
注:1)在MATLAB的命令窗口里,在语句行尾加上3个英文句号表示续行;
2)运算符“=”、“+”、“-”前后的空格不影响计算结果;
3)在输入命令后以分号结束,则不会显示命令执行结果,但可以使程序运行的速度大大提高,这对输出数据的程序特别有用。
二、MATLAB的工作空间
三、MATLAB的程序编辑器
四、MATLAB的work子目录
五、MATLAB运行外部程序
§2.3MATLAB数值运算基础
MATLAB是一个高级的数学分析与运算软件,正如其名(矩阵实验室),它非常适用于矩阵的分析与运算。
MATLAB数值运算的表达式变量中不允许有未定义的自由变量,MATLAB的数值运算主要是指数组的运算与矩阵的运算。不需要事先定义,MATLAB系统定义的数值元素是复数,这是MATLAB区别其他高级语言的最大特点之一,它给诸多领域的数值计算带来极大的方便。
一、常量与变量
1、常量
MATLAB中使用的数据有常量和变量。常量有实数常量与复数常量两类。复数由实部与虚部组成。常量可以使用传统的十进制计数法表示,也可以使用科学技术法来表示。
在MATLAB中,虚数单位i=sqrt(-1),在工作空间内显示的值为
i=ans=0+1.000i
复数常量的生成可以利用如下语句:Z=a+bi或Z=r+exp(θ*i),其中r是复数的模,θ是复数幅角的弧度数
2、变量
MATLAB里的变量无需事先定义。一个程序中的变量,以其名称在语句命令中的第一次合法出现而定义。
注:MATLAB 变量名称的命名不是任意的,其命名规则如下:(1)变量名可以由英文字母、数字和下划线组成;(2)变量名应以英文字母开头;
(3)组成变量名的字符长度不大于31个;(4)MATLAB 区分大小写英语字母。(命令、函数)下表为MATLAB 中设置了一些特殊的变量与常量。
MATLAB 的特殊变量与常量
二、MATLAB 运算符1、MATLAB 算术运算符
2、MATLAB 关系运算符
3、MATLAB 逻辑关系运算符
变量名功能说明
ANS (ans )
缺省变量名,以应答最近一次操作运算结果
i 或j 虚数单位,定义为√-1
Pi 圆周率realmax 最大的正实数realmin 最小的正实数INF(inf)
代表无穷大
NaN (nan )代表不定值(0/0)
nargin 函数实际输入参数个数nargout
函数实际输出参数个数操作符功能说明
操作符功能说明+加\矩阵左除-减.\数组左除*矩阵乘/矩阵右除.*数组乘./数组右除^
矩阵乘方
′矩阵转置.^数组乘方
.′数组转置
操作符功能说明==等于~=不等于>大于<小于>=大于等于<=
小于等于逻辑运算符
逻辑运算
说明
&And 逻辑和∣or 或~
Not Xor
非异或
4、MATLAB 特殊运算符
需要特别指出,下表中的特殊运算符是指在英语输入状态下输入的字符,若在汉字输入状态下输入则无效。
MATLAB
特殊运算
经常使用的
MATLAB 特殊运算符,功能说明如下:(1)冒号(:)
①使用冒号可以输入行向量,其格式为:x =a :inc :b 。a 是数组的第一个元素,inc 是步长(两个元素的间隔),步长可正可负;a 、inc 、b 三者之间用冒号分隔;当inc=1时可以省略。
【例2-1】在MATLAB 命令窗口输入指令并回车(以下举例同此)。
(1)a=10:5:30(2)a=10:-1:0(3)a=10:15
②使用冒号能够从向量、矩阵和数组中选出指定元素、行和列。【例2-2】使用冒号选出指定元素。
1
23A =
4567
8
9
A=[123;456;789];A(1:2,3)
③使用冒号能够从一个大矩阵中选取小矩阵。【例2-3】使用冒号选取小矩阵示例。
1
23A =
4567
8
9
A=[123;456;789];B=A(2:3,:)
符号功能说明
:冒号,在MATLAB 中非常重要
;分号,用于分隔行,逗号,用于分隔列
()圆括号,指出在算术表达式中先后次序[]方括号,用于构成向量和矩阵{}大括号,用于构成单元数组.小数点或域访问符..父目录
…用于语句行尾端表示该行未完%用于注释
!用于调用操作系统命令=
用于赋值
(2)方括号([])
方括号可以输入矩阵,也可用方括号删除矩阵的行和列,此时方括号[]代表空阵。【例2-4】用方括号删除矩阵的行和列。
A=magic(4);A A(:,3)=[];A
三、矩阵、数组及其算术运算
Matrix Laboratory
矩阵:
有m×n 个数a ij (i =1,2,…m ;j =1,2,…n )的数组将其排成如下格式(用方括号括起来)的“表”:
a 11
a 12…a 1n A =
a 21a 22…a 2n …………a m1
a m2
…
a mn
注:数组用方括号括起来后已作为一个抽象的特殊量注:数组用方括号括起来后已作为一个抽象的特殊量——————矩阵
矩阵数组(array )
数组是由一组复数排成的长方形阵列(而实数可视为复数的虚部为0的特例)
注:数组的所有运算都是对被运算数组中的每个元素平等的执行同样操作。矩阵运算是从把矩阵整体当作一个特殊的量这个基点出发,依照线性代数的规则来进行运算。1、数组或矩阵元素的标识
(1)一维数组的元素的标识,访问和赋值
一维数组标识:使用方括号以及在括号内列出以空格或逗号分隔其元素的表。一维数组的元素是以数组名后圆括号内的元素在数组中位置的顺序号来标识的,数组元素的访问与赋值就是根据数组元素的标识进行的。
【例2-5】一维数组元素的标识
x =[1*pi 2*pi 3*pi 4*pi 5*pi ];x
x(2:4)x (4:end )x (3:-1:1)x (find (x<10))x (1)=1
(2)多维数组或矩阵元素的标识,访问与赋值
A (m,n )
其中:m 为行号,n 为列号。说明:1)A:数组名;()数组名后用圆括号;
2)m,n:前面为行号,后面为列号,顺序不能颠倒;3)行、列之间用逗号分开,此处逗号不能换成空格。
子数组访问与赋值常用的相关指令格式
指令格式指令功能
A (r,c )由数组A 中指定行r ,指定列c 元素组成的子数组A (r,:)由数组A 中指定行r 对应的所有列元素组成的子数组A (:,c )由数组A 中指定列c 对应的所有行元素组成的子数组A (:)由数组A 的各个列按从左到右的次序首末相接的“一维长列”
子数组A (i )
“一维长列”子数组的第i 个元素
【例2-6】数组(矩阵)元素的标识
A=[123;456;789];A
A(2,3)A(3,:)A(:,2)(A(:))'A(6)
2、数组与矩阵的输入
(1)一维行或列向量的输入
A.显示元素的列表输入(在MATLAB命令窗口输入指令并回车)
【例2-7】向量元素的列表输入
A=[12*pi sqrt(3)4+5i];A
B.冒号生成法
一般格式为:x=a:inc:b
【例2-8】t=0:0.1:0.6t=[0:0.1:0.6]
(2)二维数组(或矩阵)的输入
A.显示元素列表输入
在MATLAB中输入数组需要遵循以下基本规则:
1)把数组元素列入括号[]中;
2)每行内的元素间(列)用逗号或空格分开;
3)行与行之间用分号(或回车键enter)隔开。
【例2-9】元素列表输入数组(矩阵)
123
A=456
789
A=[123;456;789]
B.利用M文件生成数组或矩阵[M210]
【例2-10】
C.小矩阵联接生成大矩阵
在MATLAB中利用联接算子----方括号[]可将小矩阵联接为一个大矩阵
【例2-11】利用方括号[]将小矩阵联接成大矩阵
A=[12;34];A
A1=A+5A2=A+10A3=A1+10G=[A A1;A2A3]
3、数组、矩阵的算术运算
(1)数组、矩阵的加减运算
在MATLAB里,维数为1×1的数组叫做标量。而MATLAB里的数值元素是复数,所以一个标量就是一个复数。
注:标量与数组间可以进行加减运算。其规则是标量与数组的每一个元素进行加减操作。矩阵与标量间不存在这种运算。
【例2-12】数组与标量之间实施加减运算
S=5;
A=[123;456;789];
A+S A-S S-A
(2)数组、矩阵的乘法运算
数组乘法运算:“.*”
数组的乘法运算必须在具有相同维数的数组间进行,其结果是数组对应元素间相乘的结果组成的新数组。而两矩阵相乘必需服从数学中矩阵叉乘的条件与规则。
A、数组、矩阵与标量的乘法运算
【例2-13】标量与数组(矩阵)之间的乘法运算
S=5;
A=[123;456;789];
S.*A A.*S S*A A*S
B、数组、矩阵间的乘法运算
数组的乘法运算必须在具有相同维数的数组间进行,两矩阵相乘的条件是左矩阵的列数必须等于右矩阵的行数,矩阵乘法不满足交换律。
【例2-14】数组乘法运算
a=[123;456;789];
b=[222;222;222];
a.*b
b.*a
【例2-15】矩阵乘法运算
123222
a=456b=222
789222
a=[123;456;789];
b=[222;222;222];
a*b b*a
由此可见,在MATLAB中数组的乘法与矩阵的乘法遵循的运算规则是不同的,其结果也不同。
数组乘法: a.*b=b.*a
矩阵乘法:a*b≠b*a
(3)数组、矩阵的除法运算
A.数组与标量间的除法运算
标量与数组间可以进行除法运算,其规则是标量与数组的每一个元素进行除法操作。
注:矩阵与标量间则无这种运算
【例2-16】数组与标量间的除法运算
S=5;
A=[123;456;789];
S./A A.\S S.\A A./S
B.数组、矩阵的除法运算
数组:维数相同两数组的除法也是对应元素间的相除,数组间的相除,数组的除法没有左除和右除之分,即符号“.\”“./”的运算结果是一致的。注意被除数与除数在两种除法运算符中的左右位置是不同的。
矩阵:矩阵除法运算有左除与右除之分,即运算符号“\”“/”
指代的运算。
运算规则:a\b=inv(a)*b a/b=a*inv(b)
注:inv→逻辑特征命令,指“矩阵求逆”
【例2-17】数组的除法
a=[123;456;789];
b=[222;222;222];
a./b
b.\a
运算结果说明:
数组除法中,a./b= b.\a
./.\两种符号运算结果是一致的。
【例2-18】矩阵的除法
c=[123;456;789];
d=[100;020;003];
c\d inv(c)*d c/d c*inv(d)
运算结果说明:
1、矩阵左除、右除是不一样的:c\d≠c/d;
2、矩阵除法运算规则是
c/d=c*inv(d)
c\d=inv(c)*d
(4)数组、矩阵的乘方运算
“.^”
A.数组与标量的乘方运算
①以数组为底而以标量为指数的乘方运算
【例2-19】以数组为底而以标量为指数的乘方运算
a=[456];
a.^4
b=[12;34];
b.^3
②以标量为底而以数组为指数的乘方运算
a=[456];b=[12;34];
d=2;
e=d.^a
f=d.^b
B.数组与数组的乘方运算
【例2-20】a=[456];
b=[123];
c=[23;56];
d=[12;34];
e=a.^b f=d.^c
显然,数组间的乘方运算只在维数相同的数组间进行。
C.矩阵的乘方运算
【例2-21】矩阵的乘方运算示例
a=[12;34];b=2;c=-0.2;
a^b
所以:a为矩阵,b为整数,矩阵的乘方a^b是矩阵a自乘b次,若b=2,a^b=a*a a^c
所以,a为矩阵,c为标量,矩阵的乘方a^c是矩阵a的c次方
四、数组函数
MATLAB的基本数组函数
函数名功能函数名功能
exp指数angle复数的相角
log自然指数conj复数的共轭
log10常用对数imag复数的虚部
sqrt平方根real复数的实部
abs绝对值(复数的模)sign符号函数
【例2-22】求复数的实部与虚部
a=real(8-5i)
b=imag(2-7i)
【例2-22】取对数运算
a=[12864+16i];
b=log(a)c=log2(a)d=log10(a)
【例2-23】求复数矩阵的模、共轭复数矩阵、以e为底的指数函数
a=[1+2i3+4i;5-6i7+8i];
b=abs(a)c=conj(a)e=exp(a)f=exp(c)
五、矩阵函数
1、矩阵生成函数
(1)zeros()函数
zeros()函数能够生成元素全为0的矩阵
【例2-24】zeros()应用示例函数
C=zeros(3,2)
(2)ones()函数
ones()函数能够生成元素全为1的矩阵
【例2-25】ones()函数应用示例函数
D=ones(2,3)
(3)magic()函数
在MATLAB中,magic()函数是一个特殊的函数,该函数能够自动生成一种特别的N阶方阵(其中,N=1,3,4,5…)叫做魔方阵,这些N阶方阵具有一个共同的奇妙特性,即每一行,每一列或对角线上的元素之和都相等。
【例2-26】magic()函数应用示例
X=magic(6)
(4)diag()函数
diag()函数可以生成对角矩阵
【例2-27】diag()函数应用示例
Y=magic(4);Y
diag(Y)
(5)triu()函数
triu()函数可以生成上三角矩形
【例2-28】triu()函数应用示例
X=magic(6);X
triu(X)
(6)tril()函数
tril()函数可以生成下三角矩形
【例2-29】tril()函数应用示例
tril(X)
(7)size()函数
size()函数用来返回指定矩阵的行数和列数
【例2-30】size()函数应用示例
a=[123;456;789];
b=size(a)
(8)eye()函数
eye()函数可以生成指定行数和列数的单位矩阵。
eye()函数和size()函数常常一起使用,用以生成与指定矩阵同维的单位矩阵。
【例2-31】eye()函数应用示例
a=[123;456;789];
b=size(a);
eye(b)
六、多项式及其运算
多项式p(x)=a0x n+a1x n-1…+a n-1x+a n的系数行向量为:
p=[a0a1a2…a n-1a n]
1、多项式运算函数
MATLAB提供了用于多项式运算的函数
函数功能函数功能
roots多项式求根poly由根求多项式
conv多项式乘法(卷积)deconv多项式除法(解卷)
residue多项式部分分式展开(留数)
(1)多项式求根
【例2-32】求多项式p(x)=x4+2x3+3x2+4x+5
p=[12345];roots(p)
(2)由根求多项式
【例2-33】已知多项式的根为1,5,8,试求此根对应的多项式
p1=poly([158])
即所求多项式为:p(x)=x3–14x2+53x-40
所求多项式是否正确,可以用roots()函数来验证.
p=[1,-14,53,-40];roots(p)
由此可见,多项式的poly()和roots()函数互为逆运算
(3)conv,deconv:多项式乘法(卷积)与多项式除法(解卷)
conv函数为标准的MATLAB函数,用来求取两个向量的卷积。多项式的conv()与deconv
()函数互为逆运算。
多项式乘法也可以用conv这个函数来计算。
函数允许任意多层嵌套,从而表示复杂的计算。
注:括号的匹配。
(4)多项式部分分式展开
M(S)
b 0S m +b 1S m-1+……+b m
G(S)=-----------=-------------------------------------N(S)a 0S n +a 1S n-1+……+a n r 1r 2r n
=-----------+-----------+…………+
+------------+k S-P 1S-P 2S-Pn
residuce(a,b):
[r p k]=residuce(k]=residuce(num,den num,den num,den)
)r ,p:分别表示为各个子传递函数的增益和极点位置,k:为部分分式展开后的余项。num=[b 0,b 1,……,b m ]den=[a 0,a 1,……,a n ]M(S)r 1r 2rn
------------=-----------+-----------+…………+
+------------+k N(S)S-P 1S-P 2S-Pn
S+2
【例2-34】已知一传函G(S)=-----------------=-----------------,
,将其分解为部分分式。S 2+4S+3
解:
num=[12];den=[143];
[r p k]=residue(num,den)
0.50.5
G(S)=---------------+-----------S+3S+1
S 3+7S 2+24S+24
【例2-35】已知一传函G (S )=------------------------------,将其分解为部分分式。
S 4+10S 3+35S 2+50S+24
解:
num =[172424];den =[110355024];[r p k]=residue(num,den )
4(-6)21
G(S)=-----------+-------------+-------------+------------S+4S+3S+2S+1
第三章MATLAB 仿真集成环境工具SIMULINK
Simulink :Dynamic Systerm
Simulation
§3.1Simulink 仿真工具简介
一、Simulink 仿真工具概述
1、MATLAB及其Simulink
2、Simulink的适用对象
3、Simulink的模块库与模型窗口
4、Simulink的建模
5、Simulink的仿真
§3.2Simulink的界面形象
一、Simulink的界面形象
二、Simulink功能模块的分类及其用途
Simulink提供了9类基本模块库
1、Continuous:连续系统模块库
2、Discrete:离散系统模块库
3、Function&Tables:函数与表模块库
4、Math:数学运算模块库
5、Nonlinear:非线性系统模块库
6、Signals&System:信号与系统模块库
7、Sinks:输出模块库
8、Sources:输入源模块库
9、Subsystem:子系统模块库
三、Simulink模型窗口“.mdl”
1、模型窗口的主菜单
2、模型窗口的工具栏
§3.3用Simulink建立系统模型
一、模型窗口
二、模块的查找与选择
三、模块的拷贝、移动与删除
1、模块的拷贝(复制)
1)从模块库中将标准模块拷贝到模型窗口“Untitled”里;
2)在“Untitled”模型窗口里将模块再拷贝。
A,选中待拷贝模块——【Copy】——【Edit】——【Paste】;
B,【Ctrl】键;
C,鼠标右键。
2、模块选定(选中)
(1)单个模块:鼠标左键;
(2)一组模块:鼠标左键拉出矩形框;
(3)多个模块:Shift+鼠标左键
3、模块的移动
注:模块移动时它与其他模块的连线也随之移动。
4、模块的删除和粘贴
5、改变模块的大小
6、改变模块对象的方向
1)用鼠标选中模块对象:
2)选择【Format】(仿真格式设制)——【Flip Block】(将模块反时针旋转1800)或【Rotate Block】(将模块顺时针旋转900)
四、模块的连接
1、信号线的使用
2、信号线设置标鉴
鼠标左键3、信号线折弯
“shift ”键(直角、任意角)4、信号线分支
1)对选中的信号线,按住【ctrl 】键,并在要建立分支的地方按住左键拉出即可。
2)将鼠标指到引出分支的信号线段上,如果按住鼠标右键拖拽鼠标,还可拉出分支线段。5、信号线的平行移动鼠标左键
6、信号线与模块分离【shift 】
7、信号线的删除【Delete 】
五、模块标题名称的修改
模块的一般属性可以分为两个方面:1、模块的标题名称2、模块内部参数设置
【Format 】——【Flip Name 】
【Format 】——【Hide(show)Name 】六、模块内部参数的修改七、创建模型的复原操作
八、系统模型标题名称的标注
将鼠标指针在窗口的空白处,双击鼠标左键九、模型系统的仿真
【Simulation 】【Start 】双击示波器图标。View---Zoom in ,Zoom out,…….
十一、拷贝到Word 文档中
Edit----Copy Model to clipboard
十二、模型文件的保存和打开
.mdl 文件MATLAB6P1\Work 十三、模型框图的打印
Simulink 建模注意事项
为了更好地使用Simulink ,这里提出几点注意事项(1)建模操作
建模时应把解决的问题思考清楚,首先在纸上画出草图,然后才在计算机上输入,其次,只有利用Simulink 把所有的模块都拷贝到模型窗口里以后,才可以把这些模块连接起来,采用这些方法,将有助于减少打开文件所需要的时间,提高工作效率。
(2)程序中尽可能减少用MATLAB Fcn 模块当模型中包含有MATLAB FCN 解释程序,这样会大大降低仿真速度,因此最好尽可能不使用MATLAB Fcn 模块,而使用MATLAB 的基本运算函数。
§3.5电力系统(电力系统(Power Power System System)模块库简介)模块库简介1、启动
1)
MATLAB 命令窗口:powerlib
2)直接启动:从SIMULINK模块浏览器窗口
2、各模块组简介
一、连接器(Connectors)模块组
二、电源(Electrical sources)模块组
电源模块组包括交流电流源、交流电压源、受控电流源、受控电压源、直流电压源。
三、元件(Elements)模块组
元件模块组包括各种电阻、电容、电感元件,各种变压器元件,另外还有一个附加的三相元件子模块组。
元件模块组中不包含单个的电阻、电容和电感元件,单个的电阻、电容的电感元件只能通过串联或并联的RLC分支以及它们的负载形式来定义。
四、附加(Extras)模块组
附加模块组包括了上述各模块组中的各个附加子模块组。
五、电机系统(Machines)模块组
电机系统模块组包括简单同步电动机、永磁同步电动机、直流电动机、异步电动机、汽轮机和调节器、电动机输出信号测量分配器等模块。
六、测量(Measurements)模块组
测量模块组包括电压表、电流表、阻抗表、多用表模块组和各种附加的子模块组等基本模块。
七、电力电子(Power Electronics)模块组
电力电子模块组包括理想开关、二极管(Diode)、晶闸管(Thyristor)、可关断晶闸管(GTO)、功率场效应管(MOSFET)、绝缘门极晶体管(IGBT)等模块,此外还有2个附加的控制模块组和一个整流桥。
§3.5观察Simulink的仿真结果
Simulink的Sinks输出模块库中的几个模块都可以用来观察仿真结果:
※1、是将仿真信号输入到输出模块“scope”示波器、“XY Graph”二维X—Y图形显示器与“Display”数字显示器中直接查看图形或者数据。
2、将仿真结果信号输入到“To Workspace”模块中,即保存到MATLAB工作空间里,再用绘图命令在MATLAB命令窗口里绘制出图形;
※3、将仿真结果信号返回到MATLAB命令窗口里,再利用绘图命令plot绘制出图形。
一、使用示波器模块观察仿真输出
(1)“Scope”将信号显示在类似示波器的图形窗口内,可以放大,缩小窗口,也可以打印仿真结果的波形曲线。
(2)“XY Graph”:绘制X—Y二维的曲线图形,两个坐标刻度范围可以设置;
(3)“Display”:将仿真结果的信息数据以数字形式显示出来。双击“Display”图标,打开其“Block Parameters Display”对话框。
【例3-2】用三种示波器观察正弦波曲线
二、使用模块将仿真输出信息返回到MATLAB命令窗口
out1:输出模块
yout:变量保存起来(前提是在选择仿真参数时,要选yout这一项)。MATLAB也将会自动将每个时间数据存入MATLAB命令中,用“tout”这个变量保存起来。
用绘图命令plot(tout,yout)在MATLAB命令窗口里绘制出图形,并能对图形进行编辑。
【例3-3】
§3.6Simulink的自定义模块库与自定义子系统
一、自定义模块库
在Simulink模型窗口里主菜单【File】下执行【New/Library】菜单命令,会出现一个新的Library窗口,名为“Library:untitled”
1、自定义模块库中含有模块库
[例3-4]建立一个只有“Continuous”、“Math”、“Sources”与“Sinks”四类模块库组成的自定义模块库Library1.
2、自定义模块库中含有标准的功能模块
[例3-5]建立一个只有“Gain”、“Derivative”、“Integrator”、“In1”、“Out1”“Transfer Fcn”、“Sum”与“Zero-Pole”等9类基本模块构成的自定义模块库Library2。
二、Simulink窗口下自定义子系统
采用二种方法
1)采用Simulink模块库中“Subsystem”中“Subsystem”标准功能模块。
2)在模型窗口中执行菜单【Edit】下执行【Create Subsystem】命令的方法
1、采用Simulink提供9类基本模块库的“Subsystem”
[例3-6]用Simulink的“Subsystem”功能模块将直流调速系统的电流环自定义为一子系统,并对其进行单位阶跃给定响应仿真。
2在模型窗口中执行菜单【Edit 】下执行【Create Subsystem 】命令的方法
【例】用SIMULINK 模型窗口菜单[E [Edit dit dit]]下的[Create Subsystem Subsystem]]命令,对于闭环调速系统的电流环定义其子系统,并对双环系统进行单位阶跃给定响应的仿真。
第四章控制系统MATLAB仿真基础§4.1控制系统的数学模型
1、传递函数模型(tranfer function)
2、零极点增益模型(zero-pole-gain)
3、状态空间模型(state-space)
4、动态结构图(Simulink结构图)
一、传递函数模型(transfer fcn-----tf)
1、传递函数模型的形式
传函定义:在零初始条件下,系统输出量的拉氏变换C(S)与输入量的拉氏变换R(S)之比。
C(S)b1S m+b2S m-1+…+b m
G(S)=-----------=---------------------------------
R(S)a1S n+a2S n-1+…+a n
num(S)
=------------
den(S)
2、在MATLAB 命令中的输入形式在MATLAB 环境中,可直接用分子分母多项式系数构成的两个向量num 、den 表示系统:num =[b 1,b 2,...,b m ];
den =[a 1,a 2,...,a n ];
注:1)将系统的分子分母多项式的系数按降幂的方式以向量的形式输入两个变量,中间缺项的用0
补齐,不能遗漏。
2)num 、den 是任意两个变量名,用户可以用其他任意的变量名来输入系数向量。
3)当系统种含有几个传函时,输入MATLAB 命令状态下可用n1,d1;n2,d2n1,d1;n2,d2……………….
.。4)给变量num ,den 赋值时用的是方括号;方括号内每个系数分隔开用空格或逗号;num,de num,den
n 方括号间用的是分号。
3、函数命令tf()
在MATLAB 中,用函数命令tf()来建立控制系统的传函模型,或者将零极点增益模型、状态空间模型转换为传函模型。
tf()函数命令的调用格式为:
sys =tf (num,其中,函数的返回变量sys 或G 为连续系统的传函模型;函数输入参量num 和den 分别为系统的分子分母多项式的系数向量。
s+5
【例4-1】G (S )=---------------------------s 4+2s 3+3s 2+4s+5
解:
num=[1,5];den=[1,2,3,4,5];G=tf(num,den)
5
【例4-2】G (S )=--------------------2s 3+3s 2+4s
解:num=[5];den=[2340];
G=tf(num,den)★conv()函数为标准的MATLAB 函数,用来求取2个向量的卷积,多项式乘法也可用此函数来计算。conv()函数允许任意地多层嵌套,从而表示复杂的计算。
【例4-3】
6(S+5)
G(S)=-----------------------------G(S)=---------------------------------------------------------(S 2+3S+1)2(S+6)(S 3+6S 2+5S+3)
解:
num=6*[1,5];
den=conv(conv(conv([1,3,1],[1,3,1]),[1,6]),[1,6,5,3]);
G=tf(num,den)
den=conv(conv(conv([1,6],[1,6,5,3]),[1,31]),[1,3,1]);
(zeropole----zpk)
1、零极点增益模型形式
(S-Z1)(S-Z2)…(S-Z m)
G(S)=k-------------------------------
(S-P1)(S-P2)…(S-P n)
式中:k:系统增益;
z1,z2,…,z m:系统零点;
p1,p2,…,p n:系统极点;
注:对实系数的传函模型来说,系统的零极点或者为实数,或者以共轭复数的形式出现。系统的传函模型给出以后,可以立即得出系统的零极点模型。
2、在MATLAB下的输入形式
在MATLAB里,连续系统可直接用向量z、p、k构成的矢量组【z,p,k】表示系统,即:
k=[k];
z=[z1;z2;……;z m];
p=[p1;p2;……;p n];
3、函数命令zpk()
在MATLAB中,用函数命令zpk()来建立控制系统的零极点增益模型,或者将传函模型或者状态空间模型转换为零极点增益模型。
zpk()函数命令的调用格式为:
sys=zpk(z,p,k)
【例4-4】
6(S+1.9294)(S+0.0353±0.9287i)
G(S)=----------------------------------------------------
(S-0.0433±±0.6412i)
(S+0.9567±1.2272i)(S-0.0433
解:k=6;
z=[-1.9294;-0.0353+0.9287*i;-0.0353-0.9287*i];
p=[-0.9567+1.2272*i;-0.9567-1.2272*i;+0.0433+0.6412*i;+0.0433-0.6412*i];
G=zpk(z,p,k)
三、状态空间模型(state-space-----ss)
1、状态空间模型的形式
单变量线性的不变系统可以写成:
X(t)=Ax(t)+Bu(t)A B
G(S)=(1)
Y(t)=Cx(t)+Du(t)C D
MATLAB的GUI 程序设计 Chapter 8: Design of MATLAB of GUI program GUI(Graphical User Interfaces):由各种图形对象组成的用户界面,在这种用户界面下,用户的命令和对程序的控制是通过“选择”各种图形对象来实现的。 基本图形对象分为控件对象和用户界面菜单对象,简称控件和菜单。 一. 控件对象及属性(Object and its attributes of controller)) 1. GUI控件对象类型(The mode of controller object) 控件对象是事件响应的图形界面对象。当某一事件发生时,应用程序会做出响应并执行某些预定的功能子程序(Callback). 控件对象及其功能:(表7—1) 2. 控件对象的描述(Description of controller object) MATLAB中的控件大致可分为两种,一种为动作控件,鼠标点击这些控件时会产生相应的响应。一种为静态控件,是一种不产生响应的控件,如文本框等。
每种控件都有一些可以设置的参数,用于表现控件的外形、功能及效果,既属性。属性由两部分组成:属性名和属性值,它们必须是成对出现的。 (1)按钮(Push Buttons):执行某种预定的功能或操作; (2)开关按钮(Toggle Button):产生一个动作并指示一个二进制状态(开或关),当鼠点击它时按钮将下陷,并执行callback(回调函数)中指定的内容,再次点击,按钮复原,并再次执行callback 中的内容; (3)单选框(Radio Button):单个的单选框用来在两种状态之间切换,多个单选框组成一个单选框组时,用户只能在一组状态中选择单一的状态,或称为单选项; (4)复选框(Check Boxes):单个的复选框用来在两种状态之间切换,多个复选框组成一个复选框组时,可使用户在一组状态中作组合式的选择,或称为多选项; (5)文本编辑器(Editable Texts):用来使用键盘输入字符串的值,可以对编辑框中的内容进行编辑、删除和替换等操作; (6)静态文本框(Static Texts):仅仅用于显示单行的说明文字; (7)滚动条(Slider):可输入指定范围的数量值;
一个不错的Matlab的gui界面设计实例 %非常漂亮的日历, function CalendarTable; % calendar 日历 % Example: % CalendarTable; S=datestr(now); [y,m,d]=datevec(S); % d is day % m is month % y is year DD={'Sun','Mon','Tue','Wed','Thu','Fri','Sat'}; close all figure; for k=1:7; uicontrol(gcf,'style','text',... 'unit','normalized','position',[0.02+k*0.1,0.55,0.08,0.06],... 'BackgroundColor',0.6*[1,1,1],'ForegroundColor','b',... 'String',DD(k),'fontsize',16,'fontname','times new roman'); end h=1; ss='b'; qq=eomday(y,m); for k=1:qq; n=datenum(y,m,k); [da,w] = weekday(n); if k==d; ss='r'; end uicontrol(gcf,'style','push',... 'unit','normalized','position',[0.02+da*0.1,0.55-h*0.08,0.08,0.06],... 'BackgroundColor',0.6*[1,1,1],'ForegroundColor',ss,... 'String',num2str(k)); ss='b'; if da==7; h=h+1;
MATLAB入门教程 1.MATLAB的基本知识 1-1、基本运算与函数 在MATLAB下进行基本数学运算,只需将运算式直接打入提示号(>>)之後,并按入Enter键即可。例如: >> (5*2+1.3-0.8)*10/25 ans =4.2000 MATLAB会将运算结果直接存入一变数ans,代表MATLAB运算後的答案(Answer)并显示其数值於萤幕上。 小提示:">>"是MATLAB的提示符号(Prompt),但在PC中文视窗系统下,由於编码方式不同,此提示符号常会消失不见,但这并不会影响到MATLAB的运算结果。 我们也可将上述运算式的结果设定给另一个变数x: x = (5*2+1.3-0.8)*10^2/25 x = 42 此时MATLAB会直接显示x的值。由上例可知,MATLAB认识所有一般常用到的加(+)、减(-)、乘(*)、除(/)的数学运算符号,以及幂次运算(^)。小提示:MATLAB将所有变数均存成double的形式,所以不需经过变数宣告(Variable declaration)。MATLAB同时也会自动进行记忆体的使用和回收,而不必像C语言,必须由使用者一一指定.这些功能使的MATLAB易学易用,使用者可专心致力於撰写程式,而不必被软体枝节问题所干扰。 若不想让MATLAB每次都显示运算结果,只需在运算式最後加上分号(;)即可,如下例: y = sin(10)*exp(-0.3*4^2); 若要显示变数y的值,直接键入y即可: >>y y =-0.0045 在上例中,sin是正弦函数,exp是指数函数,这些都是MA TLAB常用到的数学函数。 下表即为MATLAB常用的基本数学函数及三角函数: 小整理:MATLAB常用的基本数学函数 abs(x):纯量的绝对值或向量的长度 angle(z):复数z的相角(Phase angle) sqrt(x):开平方 real(z):复数z的实部 imag(z):复数z的虚部 conj(z):复数z的共轭复数 round(x):四舍五入至最近整数 fix(x):无论正负,舍去小数至最近整数 floor(x):地板函数,即舍去正小数至最近整数
1、很简单,在界面上放三个单选按钮控制颜色(R、G、B),四个pushbutton (功能分别为绘制正弦、余弦、grid off、退出程序),可作为一个小小的入门。 程序为: %simpleGUI2.m-a simple use of Radiobutton and Pushbutton clear all; FigWin=figure('Position',[100,100,600,300],'Name','Uicontrol:Push Button & RadioButton',... 'NumberTitle','off'); AxesHandle=axes('Position',[0.4,0.15,0.5,0.8],'Box','on'); RadioNum=3; for i=1:RadioNum Radio(i)=0;%initial value=0 end Radio(1)=uicontrol(FigWin,...%父对象FigWin(一figure对象),备注③ 'Style','Radio',... 'Position',[50 255 100 30],... 'String','Draw in Red',... 'CallBack',... ['n=1;'... 'if get(Radio(1),''Value'')==1;'...%要使各radio button之间具有互斥性,要用if...else语句 'set(Radio([1:(n-1),(n+1):RadioNum]),''Value'',0);'...
'else;'...%要加上分号,一种规定?参备注① 'set(Radio(1),''Value'',1);'... 'end;'... 'ColorStr=''r'';'... 'set(FunHandle,''Color'',''red'')']);%曲线颜色根据radio button的选项实时变化,ColorStr是一个全局变量 Radio(2)=uicontrol(FigWin,... 'Style','Radio',... 'Position',[50 215 100 30],... 'String','Draw in Green',... 'CallBack',... ['n=2;'... 'if get(Radio(2),''Value'')==1;'... 'set(Radio([1:(n-1),(n+1):RadioNum]),''Value'',0);'... 'else;'... 'set(Radio(2),''Value'',1);'... 'end;'... 'ColorStr=''g'';'... 'set(FunHandle,''Color'',''green'')']); Radio(3)=uicontrol(FigWin,... 'Style','Radio',... 'Position',[50 175 100 30],...
MATLAB可视化设界面计(上) 一个可发布的应用程序通常都需要具备一个友好的图形界面(比如,我们开课时或给学生上课而使用课件时,我们一般就会用到可视化界面)。这样用户不需要知道应用程序究竟是怎样执行各种命令的, 而只需要了解可见界面组件的使用方法用户也不需要知道命令是如何执行, 只要通过与界面交互就可以使指定行为得以正确执行。MATLAB可视化界面的设计, 一般有两种方法, 一是直接通过编辑M脚本文件产生GUI(这个方法就是我们在前面学习过的如何编写、调用M文件), 二是通过MATLAB图形用户界面开发环境GUIDE(Graphical User Interface Development Environment)来形成相应文件。这里只讲述在GUIDE环境中利用控件实现可视化界面功能, 不探讨直接通过编辑脚本文件实现可视化界面的方法。 MATLAB软件GUIDE为用户提供了一个方便高效的集成环境, 所有GUI支持的用户控件都集成在这个环境中, 并提供界面外观、属性和行为响应方式的设置方法。GUIDE将用户保存设计好的GUI界面保存在一个FIG资源文件中, 同时自动生成包含GUI初始化和组件界面布局控制代码的M文件, 为实现回调函数提供了一个参考框架。 下面以一个具体实例来说明GUIDE的开发使用以下所讲解的关于各控件的使用, 我们以MATLAB7.0版本为调试环境, 如果版本的环境和版本略有不同,但基本思想和方法一致。为了方便大家学习,此处提供二个版本(即文字和视频,文字的即为下面的叙述,视频请点击此处。) 实例要完成的功能如下: 首先运行M文件后,出现一个主画面
Matlab 的可视化界面设计 一个可发布的应用程序通常都需要具备一个友好的图形界面,这样用户不需要知道应用程序究竟是怎样执行各种命令的, 而只需要了解可见界面组件的使用方法就可以通过与界面交互使指定行为得以正确执行。 MATLAB可视化界面的设计, 一般有两种方法, 一是直接通过编辑M脚本文件产生GUI, 二是通过MATLAB图形用户界面开发环境GUIDE(Graphical User Interface Development Environment)来形成相应文件。 本文利用MATLAB的GUI程序设计一个简单实用的图像处理程序。该程序应具备图像处理的常用功能,以满足用户的使用。现设计程序有以下基本功能: 1)图像的读取和保存。 2)设计图形用户界面,让用户能够对图像进行缩放、旋转、剪裁,显示和对比变换前后的图像。 3)设计图形用户界面,让用户能够用鼠标选取图像感兴趣区域,显示所选像素点的数据值,以及图像轮廓图,并绘制直方图。 4)实现图像锐化。 5)图像直方图统计和直方图均衡,要求显示直方图统计,比较直方图均衡后的效果。 6)能对图像加入各种噪声,并通过几种滤波算法实现去噪并显示结果。 一、认识图形用户界面(GUI) 用MATLAB对图像进行处理是当前科技领域的一个重要的课题,它采用的是用一组有序的灰度或彩色数据元素构成图像,数组的每一个元素对应于图像的一个像素值。这样MATLAB就可以利用其强大的矩阵计算功能实现对图像的数字处理。本次设计的系统主要是利用MATLAB所提供的图形用户界面(GUI),实现一个可视的面向对象的操作界面。 1.1设计原则 由于要求不同,设计出来的界面也就千差万别。但是,自从人们开始设计图形界面以来,界面设计的评判标准却没有太大的变化。简单说来,一个好的界面
基于MATLAB的单色光的干涉和衍射实验 GUI 设 计 报 告
目录 一、概述 (3) 二、前期准备 (3) 2.1干涉原理及程序 (3) 2.2衍射原理及程序 (4) 三、设计阶段 (5) 3.1进入模块设计 (5) 3.2实验界面设计 (5) 3.3计算模块设计 (8) 3.4绘图模块设计 (8) 3.5清除模块设计 (8) 3.6提示模块设计 (8) 四、软件使用方法 (9) 五、感想 (15) 六、参考文献 (15)
一、概述 MATLAB是目前世界上最流行的、应用最广泛的工程计算和仿真软件,它将计算、可视化和编程等功能同时集于一个易于开发的环境。MATLAB主要应用于数学计算、系统建模与仿真、数学分析与可视化、科学与工程绘图和用户界面设计等。 其中,用户界面设计中,GUI开发环境是MATLAB7.3为设计图形用户界面提供了一个集成与开发环境,且广泛用于实验模拟软件开发中。 此次我所设计的是一个较简洁、清晰的关于单色光干涉与衍射实验的软件。其能完成特定条件下干涉条纹间距和衍射半角的计算,以及干涉条纹和衍射条纹的绘制。 二、前期准备 2.1干涉原理及程序 干涉原理图 程序如下: ym=5*flag_lambda*flag_D/flag_a/1000000; xs=ym; n=101; ys=linspace(-ym,ym,n); for i=1:n r1=sqrt((ys(i)-(flag_a/1000)/2).^2+(flag_D)^2); r2=sqrt((ys(i)+(flag_a/1000)/2).^2+(flag_D)^2); phi=2*pi*(r2-r1)/(flag_lambda/1000000000);
什么是GUI呢? GUI是Graphical User Interface 图形用户界面的意思。象很多高级编程语言一样。Matlab也有图形用户界面开发环境。随着计算机技术的飞速发展。人与计算机的通信方式也发生的很大的变化。从原来的命令行通讯方式(例如很早的DOS系统)变化到了现在的图形界面下的交互方式。而现在绝大多数的应用程序都是在图形化用户界面下运行的。 记得读书的时候。大学开学不久。学校很多同学就开始报考全国计算机等级考试了。当然我也是其中的一分子。其中C语言是大多数人选择的科目。当时在学C语言的时候。经常也会遇到人机交互的例子。譬如一个计算两个数相加的程序。运行程序后便切换到了Dos模式。然后在此模式下输入两个数。再回车。才能返回运算结果。当时就觉得很不方便。也不友好。后来才得知C语言是面向过程的语言。是非面向对象的语言(VC++,VB,Matlab等是面向对象的)。那么下面我们就来看看Matlab是如何简单、快速而友好地解决这类问题的吧。 Matlab GUI编程教程(适用于初学者) 1.首先我们新建一个GUI文件:File/New/GUI 如下图所示; 选择Blank GUI(Default) 2.进入GUI开发环境以后添加两个编辑文本框。6个静态文本框。和一个按钮。布置如下图所示;
布置好各控件以后。我们就可以来为这些控件编写程序来实现两数相加的功能了。3.我们先为数据1文本框添加代码; 点击上图所示红色方框。选择edit1_Callback。光标便立刻移到下面这段代码的位置。function edit1_Callback(hObject, eventdata, handles) % hObject handle to edit1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of edit1 as text % str2double(get(hObject,'String')) returns contents of edit1 as a double 然后在上面这段代码的下面插入如下代码: %以字符串的形式来存储数据文本框1的内容. 如果字符串不是数字。 则现实空白内容 input = str2num(get(hObject,'String')); %检查输入是否为空. 如果为空,则默认显示为0 if(isempty(input)) set(hObject,'String','0')
基于MATLAB的图象处理软件开发 设计指导: 一、引言 图形用户界面(Graphical User Interfaces,GUI)是提供人机交互的工具和方法。GUI是包含图形对象(如窗口、图标、菜单和文本)的用户界面。以某种方式选择或激活这些对象时,通常会引起动作或者发生变化。MATLAB的GUI 为开发者提供了一个不脱离MATLAB的开发环境,有助于MATLAB程序的GUI集成。 所谓的GUIDE就是图形用户界面开发环境(Graphical User Interface Development Environment),它向用户提供了一系列的创建用户图形界面的工具。这些工具大大简化了GUI设计和生成的过程。GUIDE可以完成的任务有如下两点:1)输出GUI。2)GUI编程。GUIDE实际上是一套MATLAB工具集,它主要由七部分组成:版面设计器、属性编辑器、菜单编辑器、调整工具、对象浏览器、Tab顺序编辑器、M文件编辑器。 二、GUIDE的操作界面及使用方法的介绍 1.启动GUIDE在命令窗口中直接键入guide,启动GUIDE,或者直接点击MATLAB 上的按钮,会出现如图1所示的GUIDE Quick Start对话框。利用GUIDE模板创建GUI,或者打开已经存在的GUI,单击OK按钮,打开版面设计工具,如图2 所示。在通常状况下组件面板并不示出组件的名称,如果需要显示组件名称,则进行下面的操作:从File菜单中选择Preferences选项,勾选Show names in component palette选项即可。
图1GUIDE启动对话框 图2版面设计器 2.GUI文件的介绍GUIDE把GUI设计的内容保存在两个文件中,它们在第一次保存或运行时生成。一个是FIG文件,扩展名为.Fig,它包含对GUI和GUI 组件的完整描述;另外一个是M文件,扩展名为.M,它包含控制GUI的代码和组件的回调事件代码。这两个文件与GUI显示和编程任务相对应。在版面设计器中创建GUI时,内容保存在FIG文件中;对GUI编程时,内容保存在M文件中。
MATLAB上的gui操作界面设计 截图保存 课程:MATLAB仿真技术 教师: 学院:电气与电子工程学院 班级: 学号: 姓名:
目录 1.设计概述......................................1页2.设计过程......................................1页3.基本功能......................................3页3.1打开图片......................................3页3.2图片剪切......................................4页3.3图片保存......................................5页3.4退出..........................................6页4.总结体会......................................6页
1.概述 截图是由计算机截取的能显示在屏幕或其他显示设备上的可视图像。通常截图可以由操作系统或专用截图软件截取,也有有外部设备如数字相机拍摄。截图也分静态截图与动态截图,前者截图得到一个位图文件,如BMP、PNG、JPEG。而后者得到一段视频文件。截图的目的通常是为了展示特定状态下的程序界面图标,游戏场景等。本设计利用matlab的gui设计一个简单粗糙的集打开图片,截图,保存截图等基本功能于一体的操作界面。 2.设计过程 首先打开matlab软件,在命令窗口输入guide按回车便可以得到界面如图1 图1 点击窗口中的OK格,生成gui设计界面,如图2 图2
第11章 MATLAB图形用户界面设计 习题11 一、选择题 1.控件的BackgroundColor属性和ForegroundColor属性分别代表()。D A.前景色和背景色B.前景色和说明文字的颜色 C.说明文字的颜色和背景色D.背景色和说明文字的颜色 2.用于定义控件被选中后的响应命令的属性是()。C A.String B.Command C.CallBack D.Value 3.定义菜单项时,为了使该菜单项呈灰色,应将其Enable属性设置为()。B A.on B.off C.yes D.no 4.建立快捷菜单的函数是()。A A.uicontextmenu B.UIContext C.uimenu D.ContextMenu 5.用于检查和设置对象属性的图形用户界面设计工具是()。A A.对象属性检查器B.工具栏编辑器 C.对象浏览器D.对象属性窗格 二、填空题 1.图形用户界面由窗口、和等图像元素组成。菜单,对话框 2.在一组按钮中,通常只能有一个被选中,如果选中了其中一个,则原来被选中的就不再处于被选中状态,这种按钮称为。单选按钮 3.控件的Position属性由4个元素构成,前两个元素为控件左下角相对于的横纵坐标值,后两个元素为控件对象的和。图形窗口,宽度,高度4.如果需要取消图形窗口默认的菜单,可以将图形窗口的属性设置为none。MenuBar 5.在MATLAB命令行窗口输入命令,或在MATLAB主窗口中单击“主页”选项卡“文件”组中的“新建”命令按钮,选择命令,打开图形用户界面设计模板窗口。guide,图形用户界面 三、应用题 1.建立控件对象。 (1)建立单选按钮,分别用于将图形窗口移至屏幕的四个角。 (2)建立弹出框,分别选择不同的函数,从而实现相应的函数运算。 (3)建立列表框,分别选择不同的函数,从而实现相应的函数运算。 (4)分别建立编辑框和命令按钮,其中编辑框输入多项式系数,命令按钮求其根。 (5)用滑动条来输入a和b的值,命令按钮求其和。