Presentation is loading. Please wait.

Presentation is loading. Please wait.

MATLAB 简介 MATLAB是矩阵实验室(Matrix Laboratory)之意。除具备卓越的数值计算能力外,它还提供了专业水平的符号计算,文字处理,可视化建模仿真和实时控制等功能。 MATLAB的基本数据单位是矩阵,它的指令表达式与数学,工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完相同的事情简捷得多.

Similar presentations


Presentation on theme: "MATLAB 简介 MATLAB是矩阵实验室(Matrix Laboratory)之意。除具备卓越的数值计算能力外,它还提供了专业水平的符号计算,文字处理,可视化建模仿真和实时控制等功能。 MATLAB的基本数据单位是矩阵,它的指令表达式与数学,工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完相同的事情简捷得多."— Presentation transcript:

1 MATLAB 简介 MATLAB是矩阵实验室(Matrix Laboratory)之意。除具备卓越的数值计算能力外,它还提供了专业水平的符号计算,文字处理,可视化建模仿真和实时控制等功能。 MATLAB的基本数据单位是矩阵,它的指令表达式与数学,工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完相同的事情简捷得多.

2 MATLAB的特点 运算符和库函数极其丰富,语言简洁,编程效率高 。
既具有结构化的控制语句(如for循环、while循环、break语句、if语句和switch语句),又有面向对象的编程特性。 图形功能强大。 功能强大的工具箱 。工具箱可分为两类:功能性工具箱和学科性工具箱。 易于扩充。

3 MATLAB的开发环境 MATLAB主窗口 命令窗口(Command Window) 历史窗口(Command History)
当前目录窗口(Current Directory ) 工作空间管理窗口(Workspace) 示意图

4 MATLAB帮助系统 完善的帮助系统是任何应用软件必要的组成部分。MATLAB提供了相当丰富的帮助信息,同时也提供了获得帮助的方法。首先,可以通过桌面平台的【Help】菜单来获得帮助,也可以通过工具栏的帮助选项获得帮助。此外,MATLAB也提供了在命令窗口中的获得帮助的多种方法,在命令窗口中获得MATLAB帮助的命令及说明列于下表中。其调用格式为:

5 doc 在帮助浏览器中显示指定函数的参考信息 help 在命令窗口中显示M文件帮助 helpbrowser 打开帮助浏览器,无参数 helpwin 打开帮助浏览器,并且将初始界面置于MATLAB函数的M文件帮助信息 lookfor 在命令窗口中显示具有指定参数特征函数的M文件帮助 web 显示指定的网络页面,默认为MATLAB帮助浏览器

6 MATLAB帮助格式 >>doc 关键词 >>help 关键词 >>Helpbrowser
>>helpwin >>Lookfor 关键词 >>web

7

8 MATLAB数值计算功能 MATLAB 数据类型 矩阵及其运算

9 MATLAB 数据类型 变量 (1)、变量名区分大小写。 (2)、变量名长度不超31位,第31个字符之后的字符将被MATLAB语言所忽略。
(3)、变量名以字母开头,可以是字母、数字、下划线组成,但不能使用标点。 (4)、与其他的程序设计语言相同,在MATLAB语言中也存在变量作用域的问题。在未加特殊说明的情况下,MATLAB语言将所识别的一切变量视为局部变量,即仅在其使用的M文件内有效。若要将变量定义为全局变量,则应当对变量进行说明,即在该变量前加关键字global。一般来说全局变量均用大写的英文字符表示。

10 MATLAB 数据类型 常量 MATLAB语言本身也具有一些预定义的变量,这些特殊的变量称为常量 ,如下表所示: pi 圆周率 eps
浮点运算的相对精度 inf 正无穷大 NaN 表示不定值 realmax 最大的浮点数 i、j 虚数单位

11 MATLAB 数据类型 显示格式 MATLAB语言中数值有多种显示形式,在缺省情况下,若数据为整数,则就以整数表示;若数据为实数,则以保留小数点后4位的精度近似表示。 若要更改显示形式,需要用到关键字“fomat” 例如: format long format long e 各种数据显示格式的精度如下表:

12

13 MATLAB 数据类型 字符串 在MATLAB中,字符串和字符数组基本上是等价的;所有的字符串都用单引号进行输入或赋值(当然也可以用函数char来生成)。字符串的每个字符(包括空格)都是字符数组的一个元素。例如: >>s=’matrix laboratory’ s= matrix laboratory >> size(s) % size查看数组的维数 ans= 1 17

14 矩阵及矩阵运算 矩阵的生成 直接输入 外部文件读入 特殊矩阵的生成 矩阵的基本数学运算

15 矩阵的生成 直接输入 从键盘上直接输入矩阵是最方便、最常用的创建数值矩阵的方法,尤其适合较小的简单矩阵。在用此方法创建矩阵时,应当注意以下几点: 输入矩阵时要以“[ ]”为其标识符号,矩阵的所有元素必须都在括号内。 矩阵同行元素之间由空格或逗号分隔,行与行之间用分号或回车键分隔。 矩阵大小不需要预先定义。 矩阵元素可以是运算表达式。 若”[ ]”中无元素则表示空矩阵

16 例: >> A=[ ; ; ] A= “;” 可以用回车符代替。 “ ” 可以用“,”符代替。

17 例: >> N=1:256 >> N=1:1:256 >> a=1:0.5:4 a= Columns1 through 7

18 例: A=[1,2,3;4,5,6;7,8,9] >> B=A (1:2, : ) B= >> B=A (1, : ) >> B=A (:, : ) %B=A >> B=A (1:2 : 3, : ) >> B=A (1:2:3,1:2:3) >> B=A(3) %先列排序 >> B=A’ %A的转置矩阵

19 矩阵的生成 外部文件读入 可以利用load函数,其调用方法为: Load 文件名[参数]
Load函数将会从文件名所指定的文件中读取数据,并将输入的数据赋给以文件名命名的变量,如果不给定文件名,则将自动认为matlab.mat文件为操作对象,如果该文件在MATLAB搜索路径中不存在时,系统将会报错。 使用“打开”,可以读入*.mat文件的数据。

20 矩阵的生成 特殊矩阵的生成 对于一些比较特殊的矩阵(单位阵、矩阵中含1或0较多),由于其具有特殊的结构,MATLAB提供了一些函数用于生成这些矩阵。常用的有下面几个: zeros(m) 生成m阶全0矩阵 zeros(m,n) 生成m行n列全0矩阵 用法相同的函数还有: “eye” (生成m阶单位矩阵)、“ones” (生成m阶全1矩阵)、 “rand” (生成m阶均匀分布的随机阵)、 “randn” (生成m阶正态分布的随机矩阵)

21 矩阵的基本数学运算 矩阵的基本数学运算包括矩阵的四则运算、与常数的运算、逆运算、行列式运算、秩运算、特征值运算等基本函数运算,这里进行简单介绍。

22 基本函数运算 矩阵的函数运算是矩阵运算中最实用的部分,常用的主要有以下几个: det(a) 求矩阵a的行列式 eig(a) 求矩阵a的特征值
inv(a)或a ^ (-1) 求矩阵a的逆矩阵 rank(a) 求矩阵a的秩 trace(a) 求矩阵a的迹(对角线元素之和)

23 与常数的运算 常数与矩阵的运算即是同该矩阵的每一元素进行运算。但需注意进行数除时,常数通常只能做除数。 例: a=[1,2;3,4;]

24 四则运算 矩阵的加、减、乘运算符分别为“+,—,*” ,用法与数字运算几乎相同,但计算时要满足其数学要求(如:同型矩阵才可以加、减)。
在MATLAB中矩阵的除法有两种形式:左除“\”和右除“/”。在传统的MATLAB算法中,右除是先计算矩阵的逆再相乘,而左除则不需要计算逆矩阵直接进行除运算。通常右除要快一点,但左除可避免被除矩阵的奇异性所带来的麻烦。在MATLAB6中两者的区别不太大。 左除可定义为:A\B=A*inv(B) 右除可定义为:A/B=inv(A)*B A/B=(B’\A’)’

25 例:a=[1,2;3,4;],b=[5,6;7,8] >>a*b ans = 19 22 43 52 >>a/b ans= 3 -2 2 1 >>a\b 3 -4 4 5

26 例: >> t=0:1/256:255/256 >> a=sin(2*pi*t); >> b=sin(2*pi*2*t); >> c=a+b; >> c=a*b %错误

27 矩阵的数组运算 我们在进行工程计算时常常遇到矩阵对应元素之间的运算。这种运算不同于前面讲的矩阵数学运算,有所区别,我们称之为数组运算。
矩阵的数组运算是以组成矩阵的数(元素)为操作对象;而矩阵的矩阵运算是以矩阵整体作为操作对象。

28 数组的加、减与矩阵的加、减运算完全相同。而乘除法运算有相当大的区别,数组的乘除法是指两同维数组对应元素之间的乘除法,它们的运算符为“.*”和“./”或“.\”。前面讲过常数与矩阵的除法运算中常数只能做除数。在数组运算中有了“对应关系”的规定,数组与常数之间的除法运算没有任何限制。 另外,矩阵的数组运算中还有幂运算(运算符为 .^ )、指数运算(exp)、对数运算(log)、和开方运算(sqrt)等。有了“对应元素”的规定,数组的运算实质上就是针对数组内部的每个元素进行的。

29 例:a=[1,2;3,4;]; b=[5,6;7,8] >>a*b ans = 19 22 43 50 >>a.*b 5 12 21 32

30 例: >> t=0:1/256:255/256; a=sin(2*pi*t); b=sin(2*pi*2*t); >> c=a.*b % c为1*256的矩阵 >> c=a*b %错误 >> c=a./b % c为1*256的矩阵

31 例:a=[1,2;3,4]; >> a^3 ans = 37 54 81 118 >> a.^3 1 8 27 64

32 逻辑关系运算

33 逻辑关系运算的说明 在关系比较中,若比较的双方为同维数组,则比较的结果也是同维数组。它的元素值由0和1组成。当比较双方对应位置上的元素值满足比较关系时,它的对应值为1,否则为0。 当比较的双方中一方为常数,另一方为一数组,则比较的结果与数组同维。 在算术运算、比较运算和逻辑与、或、非运算中,它们的优先级关系先后为:比较运算、算术运算、逻辑与或非运算。

34 例:a=[1,0;0,1;];b=[1,0;1,0] >>a&b ans= 1 0 0 0 >>a&&b %错误 >>(det(a))&&(det(b))

35 例:a=[1,0;0,1;];b=[1,0;1,0] >>a&1 ans= 1 0 0 1 >>ab=a&b ab= 0 0

36 MATLAB图形功能 MATLAB最常用的画二维图形的命令是plot(连续波形显示) 和stem(离散波形显示),此外还有bar、stairs等。 例: >>a=[0,1,5,7,5,2]; n=[0,1,2,3,4,5] >>plot(n,a) >>plot(a) >>stem(a)

37 例: >>t=0:1/256:511/256 >>a=sin(2*pi*5*t) >>plot(a) >>a_fft=abs(fft(a,512)) >>plot(a_fft) >>n=(0:255)*256/512 >>plot(n,a_fft(1:256)/512)

38 多重线的画法 例:t=0:1/256:511/256 >>a=sin(2*pi*t) >>b=sin(2*pi*t+pi/2) >>plot(t,a,t,b) >>plot(t,a) >>hold on >>plot(t,b)

39

40

41

42 线型和颜色 MATLAB对曲线的线型和颜色有许多选择,标注的方法是在每一对数组后加一个字符串参数。 线型线方式:“-”实线、“:”点线、“-.”虚点线、“--”破折线。 线型点方式:“.”实心圆点、“+”加号、“*”星号、“x”X型、“o”空心圆。 颜色:y黄; r红; g绿; b蓝; w白; k黑; m紫; c青 。

43 格式:plot(a,‘颜色 线方式 点方式’)
>>a=sin(2*pi*t) >>plot(t,a,’b:*’) >>plot(t,a,’r-o’)

44

45

46 网格和标记 在一个图形上可以加网格、标题、x轴标记、y轴标记,用下列命令完成这些工作。 grid %网格 xlabel、 ylabel % x、y轴标记。 title %标题 text %在特定位置放置字符串 gtext %在任意位置放置字符串

47 例: t=0:1/32:63/32 >>a=sin(2*pi*t) >>plot(a) >>grid >>xlabel(‘T,时间’); ylabel(‘U,幅度’) >>text(32,0,‘sinx, 180度’) >>gtext(‘sin,45度’)

48

49

50

51

52

53 坐标系的控制 在缺省情况下MATLAB自动选择图形的横、纵坐标的比例,如果你对这个比例不满意,可以用axis命令控制,常用的有: axis([xmin xmax ymin ymax]) [ ]中分别给出x轴和y轴的最大值、最小值 axis equal 或 axis(‘equal’) x轴和y轴的单位长度相同 axis square 或 axis(‘square’) 图框呈方形 axis off 或 axis(‘off’) 清除坐标刻度 还有axis auto、axis image、axis xy、axis ij、axis normal、axis on、axis(axis)用法可参考在线帮助系统。

54 例:axis([ ])

55 多幅图形的显示 可以在同一个画面上建立几个坐标系, 用subplot(m,n,p)命令;把一个画面分成m×n个图形区域, p代表当前的区域号,在每个区域中分别画一个图。 例: t=0:1/64:63/64 >>a=sin(2*pi*t); b=cos(2*pi*t); c=a.*b; d=a+b subplot(2,2,1),plot(t,a) subplot(2,2,2),plot(t,b) subplot(2,2,3),plot(t,c) subplot(2,2,4),plot(t,d)

56

57 三维图形 三维图形在本实验中使用不是很多,在此只做简单介绍。 可能使用到的一些函数: meshgrid mesh surf surfc plot3 contour contour3 view

58 M文件 使用MATLAB函数时,例如inv, abs, angle和sqrt,MATLAB获取传递给它的变量,利用所给的输入,计算所要求的结果。然后,把这些结果返回。由函数执行的命令,以及由这些命令所创建的中间变量,都是隐含的。所有可见的东西是输入和输出,也就是说函数是一个黑箱。 这些属性使得函数成为强有力的工具,用以计算命令。这些命令包括在求解一些大的问题时,经常出现的有用的数学函数或命令序列。由于这个强大的功能,MATLAB提供了一个创建用户函数的结构,并以M文件的文本形式存储在计算机上 。

59 M文件函数不进入命令窗口,而是由文本编辑器所创建的外部文本文件。一个函数的M文件与脚本文件在通信方面是不同的。函数与MATLAB工作空间之间的通信,只通过传递给它的变量和通过它所创建的输出变量。在函数内中间变量不出现在MATLAB工作空间,或与MATLAB工作空间不交互。

60 M文件的语法 M文件的语法与matlab工作空间语法一样。 以下介绍几个复杂语句的写法

61 1、for循环语句 基本格式: for 表达式 循环体 end 若表达式为真,则执行循环体的内容,执行后再判断表达式是否为真,若不为真,则跳出循环体,向下继续执行。

62 2、while循环语句 基本格式 while 表达式 循环体 end 若表达式为真,则执行循环体的内容,执行后再判断表达式是否为真,若不为真,则跳出循环体,向下继续执行。 While循环和for循环的区别在于,while循环结构的循环体被执行的次数不是确定的,而for结构中循环体的执行次数是确定的。

63 2、while循环语句 基本格式 while 表达式 循环体 end 若表达式为真,则执行循环体的内容,执行后再判断表达式是否为真,若不为真,则跳出循环体,向下继续执行。 While循环和for循环的区别在于,while循环结构的循环体被执行的次数不是确定的,而for结构中循环体的执行次数是确定的。

64 3、if,else,elseif语句 (1)if 逻辑表达式 执行语句
end 当逻辑表达式的值为真时,执行该结构中的执行语句,执行完之后继续向下进行;若为假,则跳过结构中的内容,向下执行。 (2)if 逻辑表达式 (3) if 逻辑表达式1 执行语句 执行语句1 else elseif 逻辑表达式2 执行语句 执行语句2 end … end if-else的执行方式为:如果逻辑表达式的值为真,则执行语句1,然后跳过语句2,向下执行;如果为假,则执行语句2,然后向下执行。 if-elseif的执行方式为:如果逻辑表达式1的值为真,则执行语句1;如果为假,则判断逻辑表达式2,如果为真,则执行语句2,否则向下执行。

65 4、switch语句 格式:switch 表达式(%可以是标量或字符串) case 值1 语句1 case 值2 语句2 …. otherwise 语句3 end 执行方式:表达式的值和哪种情况(case)的值相同,就执行哪种情况中的语句,如果不同,则执行otherwise中的语句。格式中也可以不包括otherwise,这时如果表达式的值与列出的各种情况都不相同,则继续向下执行。

66 GUI 设计 Matlab提供了一个可视化的图形界面开发环境Guide,Graphical User Interface Development。其功能和VB等软件很接近,使用这样的软件并不需要很多专门的预备的知识。

67 GUI 启动 在Matlab中,用户想打开一个新的图形界面开发环境,可以选择Matlab主窗口中File/ New菜单下的GUI子菜单,也可以在Matlab命令窗口中键入Guide命令,就可以打开图形界面设计软件。

68

69

70

71 Simulink仿真基础 SIMULINK是MATLAB软件的扩展,它是实现动态系统建模和仿真的一个软件包,它与MATLAB语言的主要区别在于,其与用户交互接口是基于Windows的模型化图形输入,其结果是使得用户可以把更多的精力投入到系统模型的构建,而非语言的编程上。 所谓模型化图形输入是指SIMULINK提供了一些按功能分类的基本的系统模块,用户只需要知道这些模块的输入输出及模块的功能,而不必考察模块内部是如何实现的,通过对这些基本模块的调用,再将它们连接起来就可以构成所需要的系统模型(以.mdl文件进行存取),进而进行仿真与分析。

72 SIMULINK的启动 1、在MATLAB命令窗口中输入simulink。结果是在桌面上出现一个称为Simulink Library Browser的窗口,在这个窗口中列出了按功能分类的各种模块的名称。当然用户也可以通过MATLAB主窗口的快捷按钮来打开Simulink Library Browser窗口。 2、在MATLAB命令窗口中输入simulink3。结果是在桌面上出现一个用图标形式显示的Library :simulink3的Simulink模块库窗口。 两种模块库窗口界面只是不同的显示形式,用户可以根据各人喜好进行选用,一般说来第二种窗口直观、形象,易于初学者,但使用时会打开太多的子窗口。

73 三、SIMULINK的模块库介绍 SIMILINK模块库按功能进行分类,包括以下8类子库: Continuous(连续模块)
Discrete(离散模块) Function&Tables(函数和平台模块) Math(数学模块) Nonlinear(非线性模块) Signals&Systems(信号和系统模块) Sinks(接收器模块) Sources(输入源模块)

74

75 1、连续模块(Continuous) continuous.mdl
Integrator:输入信号积分 Derivative:输入信号微分 State-Space:线性状态空间系统模型 Transfer-Fcn:线性传递函数模型 Zero-Pole:以零极点表示的传递函数模型 Memory:存储上一时刻的状态值 Transport Delay:输入信号延时一个固定时间再输出 Variable Transport Delay:输入信号延时一个可变时间再输出

76 2、离散模块(Discrete) discrete.mdl
Discrete-time Integrator:离散时间积分器 Discrete Filter:IIR与FIR滤波器 Discrete State-Space:离散状态空间系统模型 Discrete Transfer-Fcn:离散传递函数模型 Discrete Zero-Pole:以零极点表示的离散传递函数模型 First-Order Hold:一阶采样和保持器 Zero-Order Hold:零阶采样和保持器 Unit Delay:一个采样周期的延时

77 3、 Function&Tables(函数和平台模块) function.mdl
Fcn:用自定义的函数(表达式)进行运算 MATLAB Fcn:利用matlab的现有函数进行运算 S-Function:调用自编的S函数的程序进行运算 Look-Up Table:建立输入信号的查询表(线性峰值匹配) Look-Up Table(2-D):建立两个输入信号的查询表(线性峰值匹配)

78 4、 Math(数学模块) math.mdl Sum:加减运算 Product:乘运算 Dot Product:点乘运算 Gain:比例运算
Math Function:包括指数函数、对数函数、求平方、开根号等常用数学函数 Trigonometric Function:三角函数,包括正弦、余弦、正切等 MinMax:最值运算 Abs:取绝对值 Sign:符号函数

79 Logical Operator:逻辑运算
Relational Operator:关系运算 Complex to Magnitude-Angle:由复数输入转为幅值和相角输出 Magnitude-Angle to Complex:由幅值和相角输入合成复数输出 Complex to Real-Imag:由复数输入转为实部和虚部输出 Real-Imag to Complex:由实部和虚部输入合成复数输出

80 5、 Nonlinear(非线性模块) nonlinear.mdl
Saturation:饱和输出,让输出超过某一值时能够饱和。 Relay:滞环比较器,限制输出值在某一范围内变化。 Switch:开关选择,当第二个输入端大于临界值时,输出由第一个输入端而来,否则输出由第三个输入端而来。 Manual Switch:手动选择开关

81 6、Signal&Systems(信号和系统模块) sigsys.mdl
In1:输入端。 Out1:输出端。 Mux:将多个单一输入转化为一个复合输出。 Demux:将一个复合输入转化为多个单一输出。 Ground:连接到没有连接到的输入端。 Terminator:连接到没有连接到的输出端。 SubSystem:建立新的封装(Mask)功能模块

82 7、Sinks(接收器模块) sinks.mdl
Scope:示波器。 XY Graph:显示二维图形。 To Workspace:将输出写入MATLAB的工作空间。 To File(.mat):将输出写入数据文件。

83 8、Sources(输入源模块) sources.mdl
Constant:常数信号。 Clock:时钟信号。 From Workspace:来自MATLAB的工作空间。 From File(.mat):来自数据文件。 Pulse Generator:脉冲发生器。 Repeating Sequence:重复信号。 Signal Generator:信号发生器,可以产生正弦、方波、锯齿波及随意波。 Sine Wave:正弦波信号。 Step:阶跃波信号。

84 四、SIMULINK简单模型的建立及模型特点
1、简单模型的建立 (1)建立模型窗口 (2)将功能模块由模块库窗口复制到模型窗口 (3)对模块进行连接,从而构成需要的系统模型 2、模型的特点 在SIMULINK里提供了许多如Scope的接收器模块,这使得用SIMULNK进行仿真具有像做实验一般的图形化显示效果。 SIMULINK的模型具有层次性,通过底层子系统可以构建上层母系统。 SIMULINK提供了对子系统进行封装的功能,用户可以自定义子系统的图标和设置参数对话框。

85 SIMULINK功能模块的处理 功能模块的基本操作,包括模块的移动、复制、删除、转向、改变大小、模块命名、颜色设定、参数设定、属性设定、模块输入输出信号等。 模块库中的模块可以直接用鼠标进行拖曳(选中模块,按住鼠标左键不放)而放到模型窗口中进行处理。 在模型窗口中,选中模块,则其4个角会出现黑色标记。此时可以对模块进行以下的基本操作。 移动:选中模块,按住鼠标左键将其拖曳到所需的位置即可。若要脱离线而移动,可按住shift键,再进行拖曳。 复制:选中模块,然后按住鼠标右键进行拖曳即可复制同样的一个功能模块。 删除:选中模块,按Delete键即可。若要删除多个模块,可以同时按住Shift键,再用鼠标选中多个模块,按Delete键即可。也可以用鼠标选取某区域,再按Delete键就可以把该区域中的所有模块和线等全部删除。

86 转向:为了能够顺序连接功能模块的输入和输出端,功能模块有时需要转向。在菜单Format中选择Flip Block旋转180度,选择Rotate Block顺时针旋转90度。或者直接按Ctrl+F键执行Flip Block,按Ctrl+R键执行Rotate Block。 改变大小:选中模块,对模块出现的4个黑色标记进行拖曳即可。 模块命名:先用鼠标在需要更改的名称上单击一下,然后直接更改即可。名称在功能模块上的位置也可以变换180度,可以用Format菜单中的Flip Name来实现,也可以直接通过鼠标进行拖曳。Hide Name可以隐藏模块名称。 颜色设定: Format菜单中的Foreground Color可以改变模块的前景颜色,Background Color可以改变模块的背景颜色;而模型窗口的颜色可以通过Screen Color来改变。

87 参数设定:用鼠标双击模块,就可以进入模块的参数设定窗口,从而对模块进行参数设定。参数设定窗口包含了该模块的基本功能帮助,为获得更详尽的帮助,可以点击其上的help按钮。通过对模块的参数设定,就可以获得需要的功能模块。 属性设定:选中模块,打开Edit菜单的Block Properties可以对模块进行属性设定。包括Description属性、 Priority优先级属性、Tag属性、Open function属性、Attributes format string属性。其中Open function属性是一个很有用的属性,通过它指定一个函数名,则当该模块被双击之后,Simulink就会调用该函数执行,这种函数在MATLAB中称为回调函数。 模块的输入输出信号:模块处理的信号包括标量信号和向量信号;标量信号是一种单一信号,而向量信号为一种复合信号,是多个信号的集合,它对应着系统中几条连线的合成。缺省情况下,大多数模块的输出都为标量信号,对于输入信号,模块都具有一种“智能”的识别功能,能自动进行匹配。某些模块通过对参数的设定,可以使模块输出向量信号。

88 SIMULINK线的处理 SIMULINK模型的构建是通过用线将各种功能模块进行连接而构成的。用鼠标可以在功能模块的输入与输出端之间直接连线。所画的线可以改变粗细、设定标签,也可以把线折弯、分支。 改变粗细:线所以有粗细是因为线引出的信号可以是标量信号或向量信号,当选中Format菜单下的Wide Vector Lines时,线的粗细会根据线所引出的信号是标量还是向量而改变,如果信号为标量则为细线,若为向量则为粗线。选中Vector Line Widths则可以显示出向量引出线的宽度,即向量信号由多少个单一信号合成。 设定标签:只要在线上双击鼠标,即可输入该线的说明标签。也可以通过选中线,然后打开Edit菜单下的Signal Properties进行设定,其中signal name属性的作用是标明信号的名称,设置这个名称反映在模型上的直接效果就是与该信号有关的端口相连的所有直线附近都会出现写有信号名称的标签。 线的折弯:按住Shift键,再用鼠标在要折弯的线处单击一下,就会出现圆圈,表示折点,利用折点就可以改变线的形状。 线的分支:按住鼠标右键,在需要分支的地方拉出即可以。或者按住Ctrl键,并在要建立分支的地方用鼠标拉出即可。

89 SIMULINK自定义功能模块 自定义功能模块有两种方法,一种方法是采用Signal&Systems 模块库中的Subsystem功能模块,利用其编辑区设计组合新的功能模块;另一种方法是将现有的多个功能模块组合起来,形成新的功能模块。对于很大的SIMULINK模型,通过自定义功能模块可以简化图形,减少功能模块的个数,有利于模型的分层构建。 一、方法 将Signal&Systems 模块库中的Subsystem功能模块复制到打开的模型窗口中。 双击Subsystem功能模块,进入自定义功能模块窗口,从而可以利用已有的基本功能模块设计出新的功能模块。 二、方法 在模型窗口中建立所定义功能模块的子模块。 用鼠标将这些需要组合的功能模块框住,然后选择Edit菜单下的Create Subsystem即可。


Download ppt "MATLAB 简介 MATLAB是矩阵实验室(Matrix Laboratory)之意。除具备卓越的数值计算能力外,它还提供了专业水平的符号计算,文字处理,可视化建模仿真和实时控制等功能。 MATLAB的基本数据单位是矩阵,它的指令表达式与数学,工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完相同的事情简捷得多."

Similar presentations


Ads by Google