当前位置:文档之家› MATLAB电子教案

MATLAB电子教案

MATLAB电子教案
MATLAB电子教案

第1章MATLAB简介

1.1 概述

MATLAB是MATrix LABoratory(矩阵实验室)的缩写,由美国The Math Works公司于1984年推出的一种科学与工程计算语言。主要特点:

一、简单易学。

二、代码短小高效。

三、功能丰富,可扩展性强。

四、强大的图形表达功能。

五、强有力的系统仿真功能。

1.2 桌面启动

启动MATLAB桌面主要采用以下两种方法:

一、在Windows桌面上,双击MATLAB的快捷方式图标。采用这种方式打开的MATLAB桌面以matlab*\work为当前目录。

二、双击matlab*\bin\win32文件夹中的MATLAB.exe。采用这种方式打开的MATLAB桌面以matlab71为当前目录。

两者区别:当前目录不同。

注:*为MATLAB的软件版本号

1.3 通用操作界面简介

一、命令窗口

缺省情况下,位于桌面右侧,是用户与MATLAB进行人机对话的主要环境。在该窗口内,可输入各种由MATLAB运行的命令、函数、表达式,显示除图形外的所有运算结果。

二、命令历史窗口

缺省情况下,位于桌面左下方的前台,该窗口记录并显示每次开启MATLAB的时间及所有MATLAB运行过的命令、函数及表达式等,允许用户对它们进行选择复制、重运行及产生M文件。

三、当前目录浏览器

缺省情况下,位于MATLAB桌面左上方的前台。在该浏览器中,可以进行当前目录的设置,展示相应目录上的.m及.mdl等文件,复制、编辑和运行M文件以及装载MAT数据文件等。

四、工作空间浏览器

缺省情况下,位于MATLAB桌面左上方的后台,该窗口列出了MATLAB工作空间中所有数据的变量信息,包括变量名、大小、字节数等。在该窗口中,可以对变量进行观察、编辑、提取及保存。

五、数组编辑器

缺省情况下,不随操作界面的出现而启动,只有在工作空间浏览器中对变量进行操作时才启动。

六、开始按钮

缺省情况下,点击按钮会出现MATLAB的现场菜单。该菜单的菜单子项列出了已安装的各类MATLAB 组件和桌面工具。

七、M文件编辑器/调试器

缺省情况下,不随操作界面的出现而启动,只有当进行“打开文件”等操作时才启动。

八、帮助导航/浏览器

缺省情况下,不随操作界面的出现而启动,只有在特意选择或设置的情况下,才以独立交互界面的形式出现。该浏览器详尽展示了由超文本写成的在线帮助。

1.4 运行方式

MATLAB提供了两种运行方式,即命令行方式和M文件方式。

一、命令行运行方式

可以通过在MATLAB命令窗口中输入命令行来实现计算或绘图功能。

例:已知矩阵A=

5 6

7 8

??

??

??

,B=

1 2

3 4

??

??

??

,完成矩阵求和运算A+B。

解:在MATLAB命令窗口输入下述内容:

>>A=[5 6;7 8];

>>B=[1 2;3 4];

>>C=A+B

按下回车键后,在MATLAB命令窗口显示运行结果如下:

C=

6 8

1 12

二、M文件运行方式

命令行输入方式实际上也是MATLAB语言的一种程序编制方式,但这种方式只能编写简单的程序。若程序比较复杂,就应该把程序写成一个由多行命令组成的程序文件,即程序扩展名为.m的M文件,让MATLAB语言执行这个文件。

在MATLAB命令窗口中选择菜单“File|New|M-File”,即可打开一个缺省名为Untitled.m的M文件编辑/调试器窗口。把程序输入后,选择菜单“Debug|Run”即可运行。

M文件运行方式的优点是所编写的程序是以扩展名为.m的文件形式存储的,可调试,可重复运行,特别适合于求解复杂问题。

1.5 图形窗口

在MATLAB命令窗口中选择菜单“File|New|Figure”,或在命令窗口中输入“figure”或其他绘图命令,即可打开MATLAB的图形窗口。

1.6 帮助系统

MATLAB的帮助系统包括命令行帮助、联机帮助和演示帮助。

一、命令行帮助

命令行帮助是一种“纯文本”帮助方式。利用“help”命令就可以获得命令行帮助。

格式:help 函数或工具箱名称

二、联机帮助

由帮助导航/浏览器完成。打开方法有:

①在MATLAB命令窗口中运行命令“helpbrowser”或“helpdesk”。

②在MATLAB桌面上,用鼠标左键单击工具栏帮助图标,或选择菜单“Help|MATLAB Help”。

③在MATLAB各独立出现的交互窗口中,选择菜单“Help|MATLAB Help”。

三、演示帮助

运行演示程序的方法有两种:

①在MATLAB命令窗口中运行命令“demos”。

②在MATLAB命令窗口中选择菜单“Help|Demos”。

四、Web帮助

官方网站:https://www.doczj.com/doc/fb8622117.html,

中文论坛:https://www.doczj.com/doc/fb8622117.html,

五、PDF帮助

官方网站下载PDF帮助文档。

1.7 工具箱

MATLAB的工具箱分为辅助功能型工具箱和专业功能性工具箱。

一、控制系统工具箱

是专门对控制系统工程设计的函数和工具的集合。该工具箱主要采用M文件形式,提供了丰富的算法

程序,主要用于反馈控制系统的建模、分析与设计。

控制系统工具箱的主要作用:

1、可以创建控制系统的个各种数学模型。

2、应用控制系统工具箱能够轻松地绘制控制系统的时间响应曲线、频率特性曲线及根轨迹图。 二、Simulink

Simulink 是用来进行建模、分析和仿真各种动态系统的一种交互环境,它提供了采用鼠标拖放的方法建立系统框图模型的图形交互平台。其主要功能如下:

①交互建模;②交互仿真;③扩充和定制;④与MATLAB 和工具箱集成。 三、其他解决控制领域问题的工具箱 ①系统辨识工具箱 ②模糊逻辑工具箱 ③鲁棒控制工具箱 ④模型预估控制工具箱

1.8 安装和内容选择

按照安装向导即可安装,另外也可以通过网络下载绿色免安装版直接使用。

第2章 MATLAB 基本使用方法及常用功能介绍

2.1 应用基础

一、最简单的计算器使用方法

MATLAB 的基本特性之一就是其演草纸式的数学运算功能,用户可以在命令窗口中进行各种数学演算。 例:求算术运算[]2

9(101)192?-+÷的结果。

解:在MATLAB 命令窗口中输入: >>(9*(10-1)+19)/2^2

按回车键,命令被执行,显示下述结果: ans=

25

说明:①在全部输入一个命令行内容后,必须按下回车键,该命令才会被执行。无需在命令行的末尾处执行,在一个命令行的任何一处都可执行。

②运算符号均为西文字符,不能在中文状态下输入。 ③“ans ”是运算答案,是MATLAB 的一个默认变量。

④如果不显示计算结果,可在命令行末尾添加分号,以分号结尾的命令行语句,尽管该命令已执行,但MATLAB 不会把其运算结果显示在命令窗口中。

二、矩阵

1、矩阵的生成

在MATLAB 中,矩阵的生成可以以矩阵的格式输入数据,也可以用“load ”命令调用已存储的矩阵数据或矩阵变量,还可以应用MATLAB 提供的函数生成特殊矩阵。

在MATLAB 中输入矩阵要遵循以下基本规则:

①矩阵元素之间用空格或逗号分隔,矩阵行之间用分号隔离,整个矩阵放在方括号里,且标点符号一定要在英文状态下输入。

②不必事先对矩阵维数做任何说明,存储时将自动配置。 ③MATLAB 区分字母的大小写。

例:以矩阵格式输入数据,自定义一个三阶帕斯卡矩阵A=

1 1 1

1 2 3

1 3 6

??????

????

解:在MATLAB命令窗口中输入:

>>A=[1,1,1;1,2,3;1,3,6] %或者把逗号改为空格输入

运行结果为:

A=

1 1 1

1 2 3

1 3 6

A(I,j)表示矩阵A中第i行第j列元素;A(i,:)表示矩阵A中第i行全部元素;A(:,j)表示矩阵A中第j列全部元素。

2、特殊矩阵的生成

(1)空矩阵

空矩阵用“[ ]”表示。空矩阵的大小为零,但变量名却保存在工作空间中。

(2)单位矩阵

单位矩阵使用函数eye( )实现,调用格式如下:

eye(n) 生成n×n维单位矩阵

eye(n,m) 生成n×m维单位矩阵

(3)零矩阵

零矩阵用函数zeros( )实现,调用格式与函数eye( )完全相同。

(4)全部是1的矩阵

元素全部为1的矩阵可用函数ones( )实现,调用格式与函数eye( )完全相同。

(5)对角矩阵的生成

对角矩阵是指对角线上的元素为任意数,其他元素为零的矩阵。用函数diag( )实现。格式为:

diag(V)

diag(V,K)

说明:V为某个向量,K为向量偏离主对角线的列数。K=0,V在主对角线上;K>0,V在主对角线以上;K<0,V在主对角线以下。

例:对角矩阵生成演示。

解:在MATLAB命令窗口中输入:

>> v=[1 2 3 4 5];

>> diag(v)

其运行结果为:

ans =

10 0 0 0

0 20 0 0

0 0 30 0

0 0 0 40

0 0 0 0 5

三、MATLAB的基本要素

MATLAB的基本要素包括变量、预定义变量、数值、字符串、运算符、标点符及复数等。

1、变量

MATLAB 会自动依据所赋予变量的值或对变量所进行的操作来识别变量的类型。如果赋值变量已存在,将使用新值代替旧值,并以新值类型代替旧值类型。

MATLAB 变量的命名遵循以下规则: (1)变量均先定义、后使用。 (2)变量名以英文字母开头。

(3)变量名可以由字母、数字和下划线混合组成。

(4)对于6.5以上版本,变量名最多可包含63个字符。 (5)变量名中不得包含空格和标点,但可以包含下划线。 (6)MATLAB 区分变量大小写。 2、预定义变量

在MATLAB 中存在一些固定变量(也称为常量),这就是MATLAB 默认的预定义变量,也称为默认变量,每当MATLAB 启动时,这些变量就被产生。

3、数值

可以使用十进制计数法,也可以使用科学计数法,数值的有效范围为308

30810

~10-。

4、字符串

创建字符串的方法:先将待建的字符串放在一个“单引号对”中,再按回车键,且该单引号对必须在英文状态下输入,但字符串内容可以为中文。

5、运算符

MATLAB 的运算符包括算术运算符、关系运算符和逻辑运算符。

6、标点符

所有标点符号均在西文状态下输入。

(1)冒号

在MATLAB 中,冒号不仅可以定义行向量,还可以截取指定矩阵中的部分元素。 例:用冒号定义增量为1的行向量。 解:在MATLAB 命令窗口中输入: >> a=2:8

运行结果为: a =

2 3 4 5 6 7 8 例:用冒号定义增量为给定值的行向量。 解:在MATLAB 命令窗口中输入: >> a=0:10:80 运行结果为: a =

0 10 20 30 40 50 60 70 80

例:用冒号截取指定矩阵中的部分元素。 解:在MATLAB 命令窗口中输入: >> A=[1 2 3;4 5 6;7 8 9];

>> B=A(1:2,:) %取出矩阵A 的第1行和第2行 运行结果为: B =

1 2 3 4 5 6 (2)分号

分号在矩阵中用来分隔行,如果不希望某些运算结果显示在屏幕中,还可以用分号作为该行结束的标志。

7、复数

复数的生成可以利用下面语句:

z=a+bi 或 z=r*exp(θ*i),其中r 是复数的模,θ是复数幅角的弧度数。

例:已知复数612334,12,2i

z i z i z e π

=+=+=,计算12

3

z z z z =。 解:在MATLAB 命令窗口中输入: >> z1=3+4i; >> z2=1+2i;

>> z3=2*exp((pi/6)*i); >> z=z1*z2/z3

运行结果为:

z =

0.3349 + 5.5801i

2.2 基本操作

一、命令窗口

1、命令窗口显示及设置

个性设置方法:选择菜单“File|Preference”,打开参数设置对话框。

2

3

二、命令历史窗口

三、当前目录浏览器

文件详细列表区的主要应用功能及操作方法

工作空间是指运行MATLAB的程序或命令时生成的所有变量与MATLAB提供的常量构成的空间,也称为内存空间。

工作空间浏览器的主要应用功能及操作方法

五、数组编辑器

是工作空间浏览器的一个组件,用于生成数组、观察数组内容以及编辑其值。打开的三种方法:

1、选中工作空间浏览器中的任意一维或二维数组,再双击该数组。

2、单击工作空间浏览器的工具栏图标。

3、选择菜单“Open Selection”。

通常在命令窗口中输入较大规模数组时,先在命令窗口中向一个新变量赋“空”矩阵,然后打开数组编辑器逐格填写数组元素值。

六、数据文件的存取

1、数据文件的保存

save FileName 将全部变量保存为当前目录下的FileName.mat文件

save FileName v1 v2 将变量v1,v2保存为FileName.mat文件

save FileName v1 v2 –append 将变量v1,v2添加到已有的FileName.mat文件中

save FileName v1 v2 -ascii 将变量v1,v2保存为FileName 8位ASCII文件

save FileName v1 v2 –ascii -double 将变量v1,v2保存为FileName 16位ASCII文件

2、数据文件的调入

load FileName 将FileName.mat文件中的全部变量装入工作空间

load FileName v1 v2 将FileName.mat文件中的v1,v2变量装入工作空间

load FileName v1 v2 -ascii 将FileName ASCII文件中的v1,v2变量装入工作空间

2.3 数值运算

一、向量及其运算

1、向量的生成

(1)在命令窗口中直接生成向量

例:命令窗口直接生成向量演示

解:在MATLAB命令窗口中输入:

>> X1=[1 2 3 4 5]

运行结果为:

X1 =

1 2 3 4 5

>> X2=[1;2;3;4;5]' %求列向量的转置,用右单引号,而不是一般线性代数中的上标“T”

运行结果为:

X2 =

1 2 3 4 5

(2)等差元素向量的生成

①冒号生成法。基本格式为V=a:n:b。V为生成的向量,a为向量V的第一个元素,b为向量V的最后一个元素;n为步长,缺省设置为1,且n=1时可忽略。

②使用linspace( )函数。格式:X=linspace(a,b,n)

生成元素在[a,b]之间的线性等分行向量,向量元素个数为n,n的缺省值为100。

例:等差元素向量生成演示

解:在MATLAB命令窗口中输入:

>> X1=1:2:9

运行结果为:

X1 =

1 3 5 7 9

>> X2=linspace(10,-2,5)

运行结果为:

X2 =

10 7 4 1 -2

2、向量的基本运算

(1)向量与常数的四则运算

指向量中的每个元素与常数进行的加减乘除等运算,符号分别为+-*/。当进行除法运算时,向量只能作为被除数。

(2)向量与向量之间的加减运算

指向量中的每个元素与另一个向量中相对应元素加减运算,运算符号为+-。

(3)向量的点积和叉积运算

向量的点积等于其中一个向量的模与另一个向量的模在这个向量方向上投影的乘积。向量叉积是指过两个相交向量的交点并与两向量所在平面垂直的向量,且向量维数只能为3。在MATLAB中使用函数dot ()与cross()分别计算向量的点积与叉积。

例:向量的点积与叉积运算演示。

解:在MATLAB命令窗口中输入:

>> A=[10 20 30];

>> B=[40 50 60];

>> C=dot(A,B) %计算点积

运行结果为:

C =

3200

>> D=cross(A,B) %计算叉积

运行结果为:

D =

-300 600 -300

二、数组及其运算

1、数组的概念

数组是一组实数或复数排成的长方阵列。单维数组通常指单行或单列的矩阵,即行向量或列向量。多维数组可以认为是矩阵在维数上的扩张。

2、数组的基本数值运算

(1)数组与常数的四则运算

单维数组与常数的运算与向量与数的运算完全相同。

例:数组与常数的四则运算演示。

解:在MATLAB命令窗口中输入:

>> A=[1 2 3;2 3 4;3 4 5];

>> B=[1 2 3;4 5 6;7 8 9];

>> s=5;

>> C=s*A-B/s+10

运行结果为:

C =

14.8000 19.6000 24.4000

19.2000 24.0000 28.8000

23.6000 28.4000 33.2000

(2)数组间的四则运算

按元素与元素的方式进行。加减法运算与矩阵的加减运算完全相同;数组间的相乘、相除运算符号为“.*”、“./”或“.\”。

例:数组相乘运算演示。

解:在MATLAB命令窗口中输入:

>> A=[1 3 5;2 4 6;3 5 7];

>> B=[2 4 6;1 3 5;3 5 7];

>> C=A.*B

运算结果为:

C =

2 12 30

2 12 30

9 25 49

例:数组相除运算演示。

解:在MATLAB命令窗口中输入:

>> A=[1 3 5;2 4 6;3 5 7];

>> B=[2 4 6;1 3 5;3 5 7];

>> C=A.\B %点左除

运行结果为:

C =

2.0000 1.3333 1.2000

0.5000 0.7500 0.8333

1.0000 1.0000 1.0000

>> D=A./B %点右除

运行结果为:

D =

0.5000 0.7500 0.8333

2.0000 1.3333 1.2000

1.0000 1.0000 1.0000

(3)数组的乘方运算

数组的乘方运算(幂运算)符号为“.^”,按元素对元素的幂运算进行。与矩阵的幂运算完全不同。

例:数组的乘方运算演示。

解:在MATLAB命令窗口中输入:

>> A=[1 3 5;2 4 6;3 5 7];

>> E=A.^2

运行结果为:

E =

1 9 25

4 16 36

9 25 49

说明:①数组乘、除及乘方运算符前的小黑点绝不能遗漏,否则将不按数组运算规则运算;②在执行数组与数组运算时,参与运算的数组必须维数相同,运算结果所得数组也总与原数组维数相同。

3、元胞数组(Cell Array)

元胞数组是MATLAB中一种特殊的数组,它的基本元素是元胞(Cell),每个元胞本身在数组中是平等的,只能以下标区分。元胞可以存放任何类型、任何大小的数组,包括任意维数值数组、字符串数组以及符号对象等,并且同一个元胞数组中各元胞中的内容可以不同。

在MATLAB中,元胞数组必须用花括号“{}”。生成元胞数组的方法有:

(1)使用函数cell( )生成元胞数组

格式:c=cell(n) 生成n×n维空元胞数组

c=cell(m,n) 生成m×n维空元胞数组

c=cell(m,n,p,…) 生成m×n×p×…维空元胞数组

c=cell(size(A)) 生成与A维数组相同的空元胞数组,A为数值数组或元胞数组例:使用函数cell( )生成一个2×2维元胞数组。

解:在MATLAB命令窗口中输入:

>> A=ones(3,4) %生成3×4维全部元素为1的数值矩阵

A =

1 1 1 1

1 1 1 1

1 1 1 1

>> C=cell({A,[1,2];'cell',[1;2]}) %使用cell( )函数生成元胞数组C

C =

[3x4 double] [1x2 double]

'cell' [2x1 double]

>> C(:,1) %显示元胞数组C的第1列内容

ans =

[3x4 double]

'cell'

(2)使用花括号{ }生成元胞数组

例:直接用花括号生成上例中的元胞数组。

解:在MATLAB命令窗口中输入:

>> A=ones(3,4);

>> C={A,[1,2];'cell',[1;2]}

C =

[3x4 double] [1x2 double]

'cell' [2x1 double]

建议优先采用第二种方法生成元胞数组。

三、基本数学函数运算

例:求tan45°的函数值。

解:在MATLAB命令窗口中输入:

>> tan(pi/4) %三角函数运算的角度单位是弧度,要先由度转化为弧度

ans =

1.0000

例:求复数z=5+i5的模和相角。

解:在MATLAB命令窗口中输入:

>> z=5+5i;

>> Am=abs(z)

Am =

7.0711

>> Fm=angle(z)

Fm =

0.7854

四、矩阵的函数运算

矩阵的基本数值运算与数组的基本数值运算基本相同,不同的是:矩阵之间进行乘、除及乘方运算的运算符没有小黑点。

实现矩阵特有运算的函数

1、矩阵的转置、逆运算与行列式运算

例:求矩阵的转置演示。

解:在MATLAB命令窗口中输入:

>> A=[1 2 3;4 5 6;7 8 9];

>> C=A'

C =

1 4 7

2 5 8

3 6 9

例:矩阵求逆演示。

解:在MATLAB命令窗口中输入:

>> A=[1 2 0;2 5 -1;4 10 -1];

>> B=inv(A)

B =

5 2 -2

-2 -1 1

0 -2 1

例:求矩阵的行列式演示。

解:在MATLAB命令窗口中输入:

>> A=[1 2 0;2 5 -1;4 10 -1];

>> B=det(A)

B =

1

2、矩阵的特征值运算

使用函数eig( )。格式:

d=eig(A) %d为矩阵A的特征值向量

D=eig(A)

[V,D]=eig(A) %V、D分别为矩阵A的特征向量矩阵与特征值矩阵

例:求矩阵A=

1 2 0

2 5 1

4 10 1

??

??

-

??

??

-

??

的特征值向量、特征向量矩阵和特征值矩阵。

解:在MATLAB命令窗口中输入:

>> A=[1 2 0;2 5 -1;4 10 -1];

>> d=eig(A) %求矩阵A的特征值向量

d =

3.7321

0.2679

1.0000

>> [B,C]=eig(A) %求矩阵A的特征向量矩阵和特征值矩阵B =

-0.2440 -0.9107 0.4472 -0.3333 0.3333 0.0000 -0.9107 -0.2440 0.8944 C =

3.7321 0 0 0 0.2679 0 0 0 1.0000 3、矩阵的秩运算 例:矩阵求秩演示。

解:在MATLAB 命令窗口中输入: >> A=[1 2 0;2 5 -1;4 10 -1]; >> B=rank(A) B = 3

五、多项式及其运算

1、多项式的表达及其构造

代数运算中,多项式一般可表示为如下形式:

120121()n n n n n P x a x a x a x a x a ---=+++

++

将上式中系数按降幂次序可存放在如下的行向量中:

0121[,,,,,]n n P a a a a a -=

例:用MATLAB 构造多项式542()2544P x x x x x =++++。

解:在MATLAB 命令窗口中输入:

>> P=[2 5 0 4 1 4]; %无论多项式的系数是否为零,都必须写完整 >> poly2sym(P) ans =

2*x^5+5*x^4+4*x^2+x+4

3、多项式运算举例

(1)代数方程求根

例:求方程5

4

3

2

2244825500x x x x x +++--=的根。 解:在MATLAB 命令窗口中输入: >> P=[1 2 24 48 -25 -50]; >> r=roots(P) r =

0.0000 + 5.0000i 0.0000 - 5.0000i 1.0000 -2.0000 -1.0000

(2)用多项式的根构造多项式

例:用多项式的根构造多项式542() 2.520.52P x x x x x =++++。 解:在MATLAB 命令窗口中输入: >> P=[1 2.5 0 2 0.5 2]; >> r=roots(P) r =

-2.7709 0.5611 + 0.7840i 0.5611 - 0.7840i -0.4257 + 0.7716i -0.4257 - 0.7716i >> poly(r) ans =

1.0000

2.5000 0.0000 2.0000 0.5000 2.0000

说明:当用多项式的根生成多项式时,如果某些根有虚部,则可以通过使用函数real( )抽取实部来消除。

(3)求矩阵的特征多项式

例:求矩阵A=1.2 3 0.95 1.75 69 0 1-??????????

的特征多项式。 解:在MATLAB 命令窗口中输入:

>> A=[1.2 3 -0.9;5 1.75 6;9 0 1]; >> poly(A) ans =

1.0000 -3.9500 -1.8500 -163.2750

即矩阵A 的特征多项式为3

2

() 3.95 1.85163.275f s s s s =--- (4)多项式卷积(乘法)与多项式解卷(除法)

例:已知多项式3

2

()234P x x x x =+++和2

()102030q x x x =++,求两个多项式的卷积p(x)*q(x),并用多项式解卷验证。

解:①求两个多项式的卷积。 在MATLAB 命令窗口中输入: >> p=[1 2 3 4]; >> q=[10 20 30]; >> c=conv(p,q) c =

10 40 100 160 170 120 ②用多项式解卷验证 >> [s,r]=deconv(c,p) s =

10 20 30 r =

0 0 0 0 0 0

说明:①s 是向量c 除以向量p 所得的结果,r 为余数。 ②函数conv( )与deconv( )互为逆运算。

③建立控制系统的传递函数模型时,会经常使用函数conv( )。 (5)分式多项式的部分分式展开

应用时域分析法分析控制系统动态性能时,常常需要求出系统在典型输入信号作用下的时间响应c(t),为此,必须首先求出c(t)的象函数C(s),并将其展开成部分分式。利用函数residue( )。

例:已知控制系统的输出象函数2

2(4)

()(56)

s C s s s s +=++,将其展开为部分分式。 解:>> num=[2 8]; >> den=[1 5 6 0];

>> [z,p,k]=residue(num,den) z =

0.6667 -2.0000 1.3333 p =

-3.0000 -2.0000 0 k = []

(6)多项式曲线拟合

进行系统设计与仿真时,常常需要用曲线拟合方法。曲线拟合就是要寻找一条光滑曲线,使其在某种准则下能最佳地拟合已知数据。使用函数polyfit( )对已知数据进行曲线拟合。拟合方法采用最小二乘法(即最小误差平方和准则)。

例:曲线拟合实例。

解:>> x=0:0.1:1; %生成用行向量表示的自变量数据 >> y=[-.447 1.978 3.28 6.16 7.08 7.34 7.66 9.56 9.48 9.30 11.2]; >> p=polyfit(x,y,2) %计算二阶拟合多项式系数 p =

-9.8108 20.1293 -0.0317

2.4 符号运算

一、符号对象的创建和使用

进行符号运算时,首先要创建基本的符号对象,它可以是常数、变量和表达式。然后利用这些基本符号对象构成新的表达式,进而完成所需的符号运算。

符号对象的创建使用函数sym( )和syms( )来完成,他们的调用格式如下:

S=sym(A) 将数值A 转换成符号对象S ,A 是数字(值)或数值矩阵或数值表达式 S=sym(‘x ’) 将字符串x 转换成符号对象S

S=sym(A,flag) 将数值A 转换成flag 格式的符号对象

syms arg1 arg2 … arg1=sym(‘arg1’),arg2=sym(‘arg2’),…的简洁形式 例:创建符号变量和符号表达式演示。

解:>> y=sym('x') %定义变量y,它代表字符x y = x

>> f=sym('x^3+x^2+4*x+4') %定义变量f ,它代表符号表达式3

2

44x x x +++ f =

x^3+x^2+4*x+4

例:字符表达式转换为符号变量演示。

解:>> y=sym('2*sin(x)*cos(x)') %将字符表达式转换为符号变量 y =

2*sin(x)*cos(x)

>> y=simple(y) %将已有的y 符号表达式化成最简形式 y = sin(2*x)

二、符号运算中的运算符号和基本函数 例:基本运算符号与基本函数应用演示。 解:>> syms x; %定义符号变量x >> f1=x^3+x^2+4*x+4; %生成多项式f1 >> f2=x^2+4*x+10; %生成多项式f2 >> f=f1+f2 %求f1与f2之和 f =

x^3+2*x^2+8*x+14

>> y=sqrt(x^5) %求函数的平方根 y =

(x^5)^(1/2)

>> z=log10(x) %求以10为底的对数 z =

log(x)/log(10)

例:矩阵代数运算演示。求矩阵A=11122122 a a a a ??

????

的行列式值、逆和特征值。

解:>> syms a11 a12 a21 a22; %定义符号变量a11,a12,a21,a22

>> A=[a11,a12;a21,a22] %生成矩阵A A =

[ a11, a12]

[ a21, a22]

>> DA=det(A) %求矩阵A 的行列式 DA =

a11*a22-a12*a21

>> IA=inv(A) %求矩阵A 的逆矩阵 IA =

[ a22/(a11*a22-a12*a21), -a12/(a11*a22-a12*a21)] [ -a21/(a11*a22-a12*a21), a11/(a11*a22-a12*a21)]

>> EA=eig(A) %求矩阵A 的特征值 EA =

1/2*a11+1/2*a22+1/2*(a11^2-2*a11*a22+a22^2+4*a12*a21)^(1/2) 1/2*a11+1/2*a22-1/2*(a11^2-2*a11*a22+a22^2+4*a12*a21)^(1/2)

例:已知数学表达式n y ax bt c =++,试对其进行以下的符号替换: (1)a=sint,b=lnz,c=d 2t

e 的符号变量替换; (2)n=3,c=π的符号常量替换; (3)c=1:2:5的数值数组替换; (4)c=1 23 4??

?

???

的数值矩阵替换。 解:>> syms a b c d e t n x y z;

>> y=a*x^n+b*t+c;

>> y1=subs(y,[a,b,c],[sin(t) log(z) d*exp(2*t)]) %符号变量替换 y1 =

sin(t)*x^n+log(z)*t+d*exp(2*t)

>> y2=subs(y,[n,c],[3 pi]) %符号常量替换 y2 =

a*x^3+b*t+pi

>> y3=subs(y,c,1:2:5) %符号数组替换 y3 =

[ a*x^n+b*t+1, a*x^n+b*t+3, a*x^n+b*t+5] >> y4=subs(y,c,[1 2;3 4]) %数值矩阵替换

y4 =

[ a*x^n+b*t+1, a*x^n+b*t+2] [ a*x^n+b*t+3, a*x^n+b*t+4] 2、同类项合并

例:已知数学表达式2(1)()t t y x xe x e --=+++,试对其同类项进行合并。 解:>> syms x t;

>> y=sym('(x^2+x*exp(-t)+1)*(x+exp(-t))');

>> y1=collect(y) %默认合并x 同幂项系数 y1 =

x^3+2*exp(-t)*x^2+(1+exp(-t)^2)*x+exp(-t)

>> y2=collect(y,'exp(-t)') %合并exp(-t)同幂项系数 y2 =

x*exp(-t)^2+(2*x^2+1)*exp(-t)+(x^2+1)*x 3、因式分解

例:已知数学表达式432()5556y x x x x x =-++-,试对其进行因式分解。 解:>> syms x;

>> y=x^4-5*x^3+5*x^2+5*x-6; >> y1=factor(y) y1 =

(x-1)*(x-2)*(x-3)*(x+1)

4、表达式展开

例:已知数学表达式y(x)=cos(3arccosx),试将其展开。 解:>> syms x;

>> y=cos(3*acos(x)); >> y1=expand(y) y1 =

4*x^3-3*x

5、表达式简化

例:已知数学表达式2

2

()2cos sin y x x x =-,试对其进行简化。 解:>> syms x;

>> y=2*cos(x)^2-sin(x)^2; >> y1=simplify(y) y1 =

3*cos(x)^2-1 6、表达式通分

例:已知数学表达式231

()(1)(2)

x x y x x x x x +-=

+++,试对其进行通分。

解:>> syms x;

>> y=((x+3)/(x*(x+1)))+((x-1)/(x^2*(x+2))); >> [n,d]=numden(y) n =

x^3+6*x^2+6*x-1 d =

x^2*(x+1)*(x+2) 四、符号积分变换

1、拉氏变换及其反变换

设f(t)是一个以时间t 为自变量的函数,它的定义域是t>0,并设|f(t)|≤k at

e (a 为正数),则对所有实部大于a 的复数,积分

()st

f t e dt ∞

-?

绝对收敛。f(t)的拉氏变换F(s)定义为F(s)=

()st f t e dt ∞

-?

F(s)称为f(t)的象函数,而f(t)称为F(s)的原函数。s=σ+j ω为复变量,称其为拉氏变换算子。从f(t)求取F(s)的过程称为拉氏正变换。

在MATLAB 中,分别使用函数laplace( )与ilaplace( )进行拉氏变换与反变换。 (1)函数laplace( )

功能:求取函数的拉氏变换。格式:F=laplace(f)。 例:求单位阶跃函数f(t)=1(t)的拉氏变换。 解:>> f=sym(1); >> F=laplace(f) F = 1/s

例:求函数5

t ,at

e 及sin ωt 的拉氏变换。 解:>> syms a t w; >> F1=laplace(t^5) F1 = 120/s^6

>> F2=laplace(exp(a*t)) F2 = 1/(s-a)

>> F3=laplace(sin(w*t)) F3 =

w/(s^2+w^2)

(2)函数ilaplace( )

功能:求取函数的拉氏反变换。格式:f=ilaplace(F) 例:求象函数F(s)=2

11(2)

a b s s +

+++的拉氏反变换。 解:>> syms a b s;

>> F=1+a/(s+1)+b/(s+2)^2; >> f=ilaplace(F) f =

dirac(t)+a*exp(-t)+b*t*exp(-2*t)

说明:dirac(t)表示单位脉冲函数δ(t)。即f(t)=δ(t)+a 1

e -+bt 2t

e -。

2、Z 变换及Z 反变换 (1)函数ztrans( )

MATLAB简介

MATLAB简介 MATLAB的名称源自Matrix Laboratory,它是一种科学计算软件,专门以矩阵的形式处理数据。MATLAB将高性能的数值计算和可视化集成在一起,并提供了大量的置函数,从而被广泛地应用于科学计算、控制系统、信息处理等领域的分析、仿真和设计工作,而且利用MATLAB产品的开放式结构,可以非常容易地对MATLAB的功能进行扩充,从而在不断深化对问题认识的同时,不断完善MATLAB产品以提高产品自身的竞争能力。 目前MATLAB产品族可以用来进行: ?数值分析 ?数值和符号计算 ?工程与科学绘图 ?控制系统的设计与仿真 ?数字图像处理 ?数字信号处理 ?通讯系统设计与仿真 ?财务与金融工程 MATLAB产品家族的构成见上图,下面对各个组成部分进行介绍: MATLAB是MATLAB产品家族的基础,它提供了基本的数学算法,例如矩阵运算、数值分析算法,MATLAB集成了2D和3D图形功能,以完成相应数值可视化的工作,并且提供了一种交互式的高级编程语言——M语言,利用M语言可以通过编写脚本或者函数文件实现用户自己的算法。

MATLAB Compiler是一种编译工具,它能够将那些利用MATLAB提供的编程语言——M语言编写的函数文件编译生成为函数库、可执行文件、COM 组件等等,这样就可以扩展MATLAB功能,使MATLAB能够同其他高级编程语言例如C/C++语言进行混合应用,取长补短,以提高程序的运行效率,丰富程序开发的手段。 利用M语言还开发了相应的MATLAB专业工具箱函数供用户直接使用。这些工具箱应用的算法是开放的可扩展的,用户不仅可以查看其中的算法,还可以针对一些算法进行修改,甚至允许开发自己的算法扩充工具箱的功能。目前MATLAB产品的工具箱有四十多个,分别涵盖了数据采集、科学计算、控制系统设计与分析、数字信号处理、数字图像处理、金融财务分析以及生物遗传工程等专业领域。 Simulink是基于MATLAB的框图设计环境,可以用来对各种动态系统进行建模、分析和仿真,它的建模围广泛,可以针对任何能够用数学来描述的系统进行建模,例如航空航天动力学系统、卫星控制制导系统、通讯系统、船舶及汽车动力学系统等等,其中包括连续、离散,条件执行,事件驱动,单速率、多速率和混杂系统等等。Simulink提供了利用鼠标拖放的方法建立系统框图模型的图形界面,而且Simulink还提供了丰富的功能块以及不同的专业模块集合,利用Simulink几乎可以做到不书写一行代码完成整个动态系统的建模工作。 Stateflow是一个交互式的设计工具,它基于有限状态机的理论,可以用来对复杂的事件驱动系统进行建模和仿真。Stateflow与Simulink和MATL AB紧密集成,可以将Stateflow创建的复杂控制逻辑有效地结合到Simulink的模型中。 在MATLAB产品族中,自动化的代码生成工具主要有Real-Time Wor kshop(RTW)和Stateflow Coder,这两种代码生成工具可以直接将Simulink 的模型框图和Stateflow的状态图转换成高效优化的程序代码。利用RTW生成的

电力电子的matlab仿真

电力电子的 MATLAB 仿真
计算机控制技术 课程设计资料
2010 年 4 月

前 言
电力电子技术综合了电子电路、电机拖动、计算机控制等多学科知识,是一门实践性和应用形 很强的课程。由于电力电子器件自身的开关非线性,给电力电子电路的分析带来了一定的复杂性和 困难,一般常用波形分析的方法来研究。仿真技术为电力电子电路的分析提供了崭新的方法。 我们在电力电子技术课程的教学中引入了仿真,对于加深学生对这门课程的理解起到了良好的 作用。掌握了仿真的方法,学生的想法可以通过仿真来验证,对培养学生的创新能力很有意义,并 且可以调动学生的积极性。实验实训是本课程的重要组成部分,学校的实验实训条件毕竟是有限的, 也受到学时的限制。而仿真实训不受时间、空间和物质条件的限制,学生可以在课外自行上机。仿 真在促进教学改革、加强学生能力培养方面起到了积极的推动作用。

目录
第一章 MATLAB 基础
1
1.1 MATLAB 介绍
1
1.2 MATLAB 的安装与启动
2
1.3 MATLAB 环境
3
第二章 MATLAB/Simulink/Power System 工具箱简介 7
2.1 Simulink 工具箱简介 7
2.2 Power System 工具箱简介 10
2.3
Simulink/Power System 的模型窗口 13
2.4
Simulink/Power System 模块的基本操作 17
第三章 电力电子电路仿真实训 21
实训一
单相半波可控整流电路仿真实训 21
实训二
单相桥式半控整流电路仿真实训 29
实训三
单相桥式全控整流电路仿真实训 35
实训四
单相桥式全控有源逆变电路仿真实训 42
实训五 单相交流调压电路仿真实训 45
实训六 降压斩波电路仿真实训 48
实训七 升压斩波电路仿真实训 51
实训八 升降压斩波电路实训 54
实训九
三相半波不可控整流电路仿真实训 57
实训十
三相半波可控整流电路仿真实训 59
实训十一
三相桥式全控整流电路仿真实训 67
实训十二
三相半波可控整流电路有源逆变电路仿真实训 72
实训十三
三相桥式有源逆变电路仿真实训 75

matlab中GUI设计

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简介

MATLAB简介 MATLAB是一个集数值计算、符号分析、图象显示、文字处理于一体的大型集成化软件.它最初由美国的Cleve Moler博士所研制.其目的是为线性代数等课程中的矩阵运算提供一种方便可行的实验手段.经过十几年的市场竞争和发展,MATLAB已发展成为在自动控制、生物医学工程、信号分析处理、语言处理、图像信号处理、雷达工程、统计分析、计算机技术、金融界和数学界等各行各业中都有极其广泛应用的数学软件. 归纳起来,MATLAB具有以下几个特点:易学、适用范围广、功能强、开放性强、网络资源丰富. 由于MATLAB的强大功能,它能使使用者从繁重的计算工作中解脱出来,把精力集中于研究、设计以及基本理论的理解上,所以,MATLAB已成为在校大学生、硕士生、博士生所热衷的基本数学软件.在此,我们把MATLAB作为学习数学的工具介绍给读者,希望能有利于读者今后的学习. 一MATLAB的运行 启动MATLAB点击MATLAB图标,进入到MATLAB命令窗(MATLAB Command Window).在命令窗内,可以输入命令、编程、进行计算. 学会使用help命令在命令窗内输入help命令,再敲回车键.在屏幕上出现了在线帮助总览.(注意:MATLAB命令被输入后,必需敲回车键才能执行.为行文方便,以后不再每次

提醒“敲回车键”.)学会使用help命令,是学习MATLAB的有效方法.例如:要想知道MATLAB中的基本数学函数有哪些,可以在总览的第五行查到:MATLAB中的“基本数学函数”用elfun表示,于是,可进一步键入:“help elfun”,屏幕上将出现“基本数学函数”表.(注意:help elfun之间有空格,以后不再每次提醒.)如果想了解sin函数怎样使用,可进一步键入help sin.在工具栏中点击help按扭,或点击?号按扭,与上面获取帮助信息的方法是等效的. 学会使用demo命令在命令窗内输入demo命令,再敲回车,键屏幕上将出现演示窗口.(MATLAB Demo Window)一共有三个窗口,左边的窗口显示欲演示内容的大标题,选定其中一项,右下方的小窗口显示欲演示的具体内容,选中其中一栏,再点击run按扭,屏幕上将演示选定的演示程序.右上方的窗口显示关于大标题的一些说明.在命令窗内输入type (文件名),将显示演示程序的M文件,仔细研究演示程序的M文件,是学习MATLAB的又一有效方法. 进入演示窗还有另一方法:在工具栏中点击Help栏,下拉式菜单中点击examples and demos项,即可进入演示窗口. 退出在工具栏中点击File按钮,在下拉式菜单中单击Exit MATLAB项即可. 二变量、语句、矩阵与函数 1.变量

电力电子MatLab仿真指导

SIMULINK仿真工具简介 SIMULINK是Mathworks公司开发的MATLAB仿真工具之一,其主要功能是实现动态系统建模﹑仿真与分析. SIMULINK支持线性系统仿真和非线性系统仿真;可以进行连续系统仿真,也可以进行离散系统仿真,或者两者混合的系统仿真;同时也支持具有多种采样速率的采样系统仿真.利用SIMULINK对系统进行仿真与分析,可以对系统进行适当的实时修正或者按照仿真的最佳效果来调试及确定控制系统的参数,以提高系统的性能,减少设计系统过程中反复修改时间,从而实现高效率地开发实际系统的目标. SIMULINK最早出现在MATLAB4.0版的核心执行文件中.在MATLAB4.2版以后, SIMULINK则以MATLAB的工具包形式出现,需要单独安装.在MATLAB5.0版中, SIMULINK为2.0版,在MATLAB5.3版中, SIMULINK升级为3.0版,而在MATLAB6.1版中, SIMULINK则升级为4.1版.本书只对SIMULINK4.1版进行介绍. SIMULINK4.1版是用来建模﹑分析和仿真各种动态系统的交互环境,包括连续系统﹑离散系统和混杂系统. SIMULINK提供了采用鼠标拖动的方法建立系统框图模型的图形交互界面. SIMULINK提供了大量的功能模块以方便拥护快速地建立系统模型. 建模时只需要使用鼠标拖动库中的功能模块并将它们连接起来.使用者可以通过将模块组成字子系统来建立多级模型. SIMULINK对模块和连接的数目没有限制. SIMULINK还支持Stateflow,用来仿真事件驱动过程. SIMULINK框图提供了交互性很强的非线性仿真环境,可以通过下拉菜单执行仿真,或使用命令进行批处理.仿真结果可以在运行的同时通过示波器或图形窗口显示. SIMULINK的开放式结构允许用户扩展仿真环境的功能.如用MATLA B﹑FORTRAN和C代码生成自定义块库,并拥有自己的图标和界面,或者将用户原来由FORTRAN或C语言编写的代码连接起来. 由于SIMULINK可以直接利用MATLAB的数学﹑图形和编程功能,用户可以直接在SIMULINK下完成数据分析﹑优化参数等工作.工具箱提供的高级的设计和分析能力可以通过SIMULINK的屏蔽手段在仿真过程中执行. SIMULINK的模型库可以通过专用元件集进一步扩展 MATLAB6.5.1有两张光盘,其中第二张帮助文件,把第一张碟放进光驱,系统会自动进入安装程序。在安装过程只要输入用户名称、公司及产品注册码等。安装完之后,在 Windows桌面上会自动生成MA TLAB的快捷方式图标。

matlab电力电子仿真教程

MATLAB在电力电子技术中的应用 目录 MATLAB在电力电子技术中的应用 (1) MATLAB in power electronics application (2) 目录 (4) 1绪论 (6) 1.1关于MATLAB软件 (6) 1.1.1MATLAB软件是什么 (6) 1.1.2MATLAB软件的特点和基本操作窗口 (7) 1.1.3MATLAB软件的基本操作方法 (10) 1.2电力电子技术 (12) 1.3MATLAB和电力电子技术 (13) 1.4本文完成的主要内容 (14) 2MATLAB软件在电路中的应用 (15) 2.1基本电气元件 (15) 2.1.1基本电气元件简介 (15) 2.1.2如何调用基本电器元件功能模块 (17) 2.2如何简化电路的仿真模型 (19) 2.3基本电路设计方法 (19) 2.3.1电源功能模块 (19) 2.3.2典型电路设计方法 (20) 2.4常用电路设计法 (21) 2.4.1ELEMENTS模块库 (21) 2.4.2POWER ELECTRONICS模块库 (22) 2.5MATLAB中电路的数学描述法 (22) 3电力电子变流的仿真 (25) 3.1实验的意义 (25) 3.2交流-直流变流器 (25)

3.2.1单相桥式全控整流电路仿真 (26) 3.2.2三相桥式全控整流电路仿真 (38) 3.3三相交流调压器 (53) 3.3.1无中线星形联结三相交流调压器 (53) 3.3.2支路控制三角形联结三相交流调压器 (59) 3.4交流-交流变频电路仿真 (64) 3.5矩阵式整流器的仿真 (67)

MATLAB模块介绍$

MATLAB 模块介绍 -------- 数学 & 金融 u Curve Fitting Toolbox Curve Fitting Toolbox 扩展MATLAB 环境,集成数据管理,拟合,显示,检验和输入分析过程等功能。所有能通过GUI 使用的功能都可以通过命令行来进行。

u Database Toolbox ——与关系数据库交换数据 Database Toolbox提供了同任何支持ODBC/JDBC标准的数据库进行数据交换的能力。利用在工具箱中集成的Visual Query Builder工具,无需学习任何SQL语句就可以实现在数据库中查寻数据的功能。这样MATLAB就能够对存储在数据库中的数据进行各种各样的复杂分析。在MATLAB环境中,也可以使用SQL命令来进行如下操作: 对数据库数据进行读、写操作;应用简单或复杂的条件查询数据库中的内容。 特点: ?与支持ODBC/JDBC 数据库建立连接,包括Oracle 、Sybase SQL Server ,Sybase SQL Anywhere ,Microsoft SQL Sever ,Microsoft Access ,Informix Ingres 等。?支持SQL 语句,可以在MATLAB 环境下直接执行SQL 查询命令 ?动态数据调入:可以根据需要使用SQL 在MATLAB 中获取数据,本工具箱对某一种类型的数据库进行大量或小量的查询 ?数据类型保持:在MATLAB 中对数据的调入或调出操作都能保持原有的数据类型 ?多个对话能力,采用本工具箱可在MATLAB 中从一个数据库中调入数据,对那些数据进行分析,然后输出到另一个数据库中 ?处理大量数据的能力:采用本工具箱你可以一次或分几次处理大量的数据,这样能让你根据任务高效地进行数据处理 ?连续状态的数据库联接:一旦和某个数据库的联接建立起来后,数据库一直是打开的,除非你在MATLAB 中执行关闭语句。这提高了数据库的读取速度,减少了不必要的命令来调入、输出数据。 ?无需了解SQL 也能够对数据库数据进行查询。 功能: Database Toolbox 可以与流行的数据库交互数据,其中包括Oracle ,Sybase ,Microsoft SQL Server 及Informix 等。工具箱还允许在单个MATLAB 进程中对多个数据库进行操作,同时支持对大量数据处理。工具箱中包含的Visual Query Builder ,即使不知道SQL ,也能可视化地与数据库打交道。 u Financial Derivatives Toolbox Financial Derivatives Toolbox 用于分析金融衍生工具和投资。 特点 ?提供各种利息率模型 ?提供七种金融工具一系列计算的函数

电力电子技术matlab仿真.doc

本文前言 MATLAB的简介 MATLAB是一种适用于工程应用的各领域分析设计与复杂计算的科学计算软件,由美国Mathworks公司于1984年正式推出,1988年退出3.X(DOS)版本,19992年推出4.X(Windows)版本;19997年腿5.1(Windows)版本,2000年下半年,Mathworks公司推出了他们的最新产品MATLAB6.0(R12)试用版,并于2001年初推出了正式版。随着版本的升级,内容不断扩充,功能更加强大。近几年来,Mathworks公司将推出MATLAB语言运用于系统仿真和实时运行等方面,取得了很多成绩,更扩大了它的应用前景。MATLAB已成为美国和其他发达国家大学教学和科学研究中最常见而且必不可少的工具。 MATLAB是“矩阵实验室”(Matrix Laboratory)的缩写,它是一种以矩阵运算为基础的交互式程序语言,着重针对科学计算、工程计算和绘图的需要。在MATLAB中,每个变量代表一个矩阵,可以有n*m个元素,每个元素都被看做复数摸索有的运算都对矩阵和复数有效,输入算式立即可得结果,无需编译。MATLAB强大而简易的做图功能,能根据输入数据自动确定坐标绘图,能自定义多种坐标系(极坐标系、对数坐标系等),讷讷感绘制三维坐标中的曲线和曲面,可设置不同的颜色、线形、视角等。如果数据齐全,MATLAB通常只需要一条命令即可做图,功能丰富,可扩展性强。MATLAB软件包括基本部分和专业扩展部分,基本部分包括矩阵的运算和各种变换、代数和超越方程的求解、数据处理和傅立叶变换及数值积分风,可以满足大学理工科学生的计算需要,扩展部分称为工具箱,它实际上使用MATLAB的基本语句编成的各种子程序集,用于解决某一方面的问题,或实现某一类的新算法。现在已经有控制系统、信号处理、图象处理、系统辨识、模糊集合、神经元网络及小波分析等多种工具箱,并且向公式推倒、系统仿真和实时运行等领域发展。MATLAB语言的难点是函数较多,仅基本部分就有七百多个,其中常用的有二三百个。 MATLAB在国内外的大学中,特别是数值计算应用最广的电气信息类学科中,已成为每个学生都应该掌握的工具。MATLAB大大提高了课程教学、解题作业、分析研究的效率。

基于Matlab的电力电子技术课程设计报告

《电力电子技术》 课程设计报告 题目:基于Matlab的电力电子技术 仿真分析 专业:电气工程及其自动化 班级:电气2班 学号: Z01114007 姓名:吴奇 指导教师:过希文 安徽大学电气工程与自动化学院 2015年 1 月 7 日

中文题目 基于Matlab 的电力电子技术仿真分析 一、设计目的 (1)加深理解《电力电子技术》课程的基本理论; (2)掌握电力电子电路的一般设计方法,具备初步的独立设计能力; (3)学习Matlab 仿真软件及各模块参数的确定。 二、设计工作任务及工作量的要求〔包括课程设计计算说明书(论文)、图纸、实物样品等〕: (1)根据设计题目要求的指标,通过查阅有关资料分析其工作原理, 设计电路原理图; (2)利用MATLAB 仿真软件绘制主电路结构模型图,设置相应的参数。 (3)用示波器模块观察和记录电源电压、控制信号、负载电压、电流 的波形图。 三、设计内容 (1)设计一个降压变换器(Buck Chopper ),其输入电压为200V ,负载为阻感性带反电动势负载,电阻为2欧,电感为5mH ,反电动势为80V 。开关管采用IGBT ,驱动信号频率为1000Hz ,仿真时间设置为0.02s ,观察不同占空比下(25%、50%、75%)的驱动信号、负载电流、负载电压波形,并计算相应的电压、电流平均值。 然后,将负载反电动势改变为160V ,观察电流断续时的工作波形。(最大步长为5e-6,相对容忍率为1e-3,仿真解法器采用ode23tb ) (2)设计一个采用双极性调制的三相桥式逆变电路,主电路直流电源200V ,经由6只MOSFET 组成的桥式逆变电路与三相阻感性负载相连接,负载电阻为1欧,电感为5mH ,三角波频率为1000Hz ,调制度为0.7,试观察输入信号(载波、调制波)、与直流侧假想中点N ‘的三相电压Uun ’、Uvn ’、Uwn ’,输出线电压UV 以及负载侧相电压Uun 的波形。 四、设计方案 实验1:降压变换器 dc-dc 变流电路可以将直流电变成另一固定电压或可调电压的直流电,包括直接直流变流电路和间接直流变流电路。其中,直接直流变流电路又称为斩波电路,功能是将直流电变为另一直流电。本次实验主要是在Matlab 中设计一个降压斩波电路并仿真在所给条件下的波形和数值与理论计算相对比。降压斩波电路原理图如下所示,该电路使用一个全控型器件V ,这里用IGBT ,也可采用其他器件,例如晶闸管,若采用晶闸管,还需设置使晶闸管关断的辅助电路。为在V 关断时给负载中电感电流提供通道,设置了续流二极管VD 。斩波电路主要用于电子电路的供电电源,也可拖动直流电动机或带蓄电池负载等,后两种情况下负载中均会出现反电动势,图中用m E 表示。若无反电动势,只需令0m E ,以下的分析和表达式中均适用。

Matlab的gui界面设计实例练习

一个不错的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软件功能简要介绍及版本描述

MATLAB功能简介 MATLAB是“Matrix&Laboratory”两个词的组合,意为“矩阵实验室”。MATLAB 的主要功能有数值分析、数值与符号计算、数字图像和信号处理、工程与科学绘图、控制系统和通讯系统的设计和仿真等。 MATLAB版本描述 MATLAB的版本从1984年发布的MATLAB1.0发展到如今的MATLAB8.5。我们小组所用的版本是MATLAB7.0,故在此主要介绍MATLAB7.0版本。 MATLAB7.0在2004年发布,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。 MATLAB推荐理由 MATLAB和Mathematica、Maple并称为三大数学软件,基于其数值分析、数值与符号计算、数字图像与信号处理等各方面的强大功能,MATLAB 的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域。 MATLAB作为强大的数学软件有其独特的优势特点。MATLAB是高级的矩阵语言,MATLAB的语言是基于最流行的C++语言基础上的,而且更加简单,更符合对数学表达式的书写格式,这种语言可移植性好,课拓性极强,也因此,MATLAB 比较适合我们学习、掌握并使用。再者,MATLAB高效的数值计算、符号计算功能,完备的图形处理功能,使我们从繁杂的数学运算中解脱出来,实现计算结果和编程的可视化。 MATLAB的功能强大而丰富,值得每一位同学去学习该软件的应用,并应用于解决实际生活中的问题。然而因为能力有限,故在此我们小组着重向同学们介绍MATLAB在曲线拟合方面的应用。 众所周知,对于我们大学生(特别是理工科的大学生)而言,我们需要在实验室中完成各种不同的实验,得到一组组的、众多的看似关系不明显的实验数据,而同学们对于这些数据的处理往往是最头疼的。那一个个看似无规律的数字的处理实在是让不少同学大伤脑筋,而往往实验最关键的部分就是对实验数据的处理,因此,一旦实验数据处理方法不理想,很有可能,由此得到的实验结论也会有较大的偏差。由此可见,对于实验数据的处理,对于我们大学生来说是一项多么重要的能力。所以,我们小组向各位强烈推荐MATLAB这款软件,MATLAB在曲线拟合方面的强大应用,极大地方便了我们对于实验数据的有效处理,并有助于我们

电力电子技术应用实例MATLAB仿真

目录 摘要 (1) 关键词 (1) 1.引言 (1) 2.单相半波可控整流电路 (1) 2.1实验目的 (1) 2.2实验原理 (1) 2.3实验仿真 (2) 3.单相桥式全控整流电路 (8) 3.1实验目的 (8) 3.2实验原理 (8) 3.3实验仿真 (9) 4.三相半波可控整流电路 (10) 4.1实验目的 (10) 4.2实验原理 (11) 4.3实验仿真 (12) 5. 三相半波有源逆变电路 (14) 5.1实验目的 (14) 5.2实验原理 (14) 5.3实验仿真 (15) 6.三相桥式半控整流电路 (17) 6.1 实验目的 (17) 6.2实验原理 (17) `6.3 实验仿真 (17) 7.小结 (19) 致谢 (19)

电力电子技术应用实例的MATLAB 仿真 摘 要 本文是用MATLAB/SIMULINK 实现电力电子有关电路的计算机仿真的毕业设计。论文给出了单相半波可控整流电路、单相桥式全控整流电路、三相半波可控整流电路、三相半波有源逆变电路、三相桥式全控整流电路的实验原理图、 MATLAB 系统模型图、及仿真结果图。实验过程和结果都表明:MATLAB 在电力电子有关电路计算机仿真上的应用是十分广泛的。尤其是电力系统工具箱-Power System Blockset (PSB )使得电力系统的仿真更加方便。 关键词 MATLAB SIMULINK PSB 电力电子相关电路 1.引言 MATLAB 是由Math Works 公司出版发行的数学计算软件,为了准确建立系统模型和进行仿真分析,Math Works 在MATLAB 中提供了系统模型图形输入与仿真工具一SIMULINK 。其有两个明显功能:仿真与连接,即通过鼠标在模型窗口画出所系统的模型,然后可直接对系统仿真。这种做法使一个复杂系统模型建立和仿真变得十分容易。[4][2] 在1998年,MathWoIks 推出了电力系统仿真的电力系统工具箱-Power System Blockset (PSB )。其中包括了电路仿真所需的各种元件模型,包括有电源模块、基础电路模块、电力电子模块、电机模块、连线器模块、检测模块以及附加功率模块等七种模块库。每个模块库中包含各种基本元件模型,如电源模块中有直流电压、电流源,交流电压源、电流源,受控电压源、电流源等五种电源模型。电力电子模块库包含了理想开关元件、晶闸管、功率场效应管、可关断晶闸管等多种功率开关元件模型;电机模块库中包含了各种电机模型。如异步电动机、同步电动机、永磁同步电动机等。只需将模块中的元件拖到SIMULINK 窗口中,通过参数设置对话框设置参数就可以实现电路和电力系统的仿真了。[4][5] 由于本文是对基本电路一个个进行仿真,采用实验报告的方式会比较简单,明了,所以格式会和一般的论文有所不同。 2.单相半波可控整流电路 2.1实验目的:掌握单相半波可控整流电路MATLAB 仿真方法,会设置各模块的参数。 2.2实验原理:图为单相半波可控整流器原理图及接电阻性负载和电感性负载时的原理图。电阻性负载的特点是电压和电流成正比,波形相同并且同相位,电流可以突变。 负载端电压d U =0.452U (1+cos α)/2.[1] 式中,2U 为变压器二次侧相电压,α为晶闸管出发控制角。

电力电子Matlab仿真

辽宁科技大学 课程名称:三项桥式全控整流的性能研究院系:电子与信息工程学院 班级: 学号: 姓名: 时间:2015年12月15日

摘要:对于广泛使用的三相桥式整流电容滤波电路,在直流侧接入电抗器是提高电路输入功率因数降低谐波电流的有效方法。通过分析得出了电路各项输入指标与参数间的理论关系式,为电路分析设计提供了有效的工具。仿真与实验证明了结论的正确性。利用MATLAB7.0 的Simulink 的电力系统仿真模型进行可控整流电路的仿真研究,给出三相桥式全控整流电路的理论分析波形图,用MATLAB 命令语言验证了理论分析,并提供该电路的MATLAB 的仿真模型图,得到仿真波形图。 关键词:三相桥式全控整流;触发角;电阻负载;仿真模型图 1、概述 随着社会生产和科学技术的发展,整流电路在自动控制系统、测量系统和发电机励磁系统等领域的应用日益广泛。常用 的三相整流电路有三相桥式不可控整流电路、三相桥式半控整 流电路和三相桥式全控整流电路。三相全控整流电路的整流负 载容量较大,输出直流电压脉动较小,是目前应用最为广泛的整 流电路。它是由半波整流电路发展而来的。由一组共阴极的三 相半波可控整流电路和一组共阳极接法的晶闸管串联而成。六 个晶闸管分别由按一定规律的脉冲触发导通,来实现对三相交 流电的整流,当改变晶闸管的触发角时,相应的输出电压平均 值也会改变,从而得到不同的输出。由于整流电路涉及到交流

信号、直流信号以及触发信号,同时包含晶闸管、电容、电感、 电阻等多种元件,采用常规电路分析方法显得相当繁琐,高压 情况下实验也难顺利进行。Matlab提供的可视化仿真工具 Simulink可直接建立电路仿真模型,随意改变仿真参数,并且 立即可得到任意的仿真结果,直观性强,进一步省去了编程的 步骤。本文利用Simulink对三相桥式全控整流电路进行建模,对不同控制角、桥故障情况下进行了仿真分析,既进一步加深 了三相桥式全控整流电路的理论,同时也为现代电力电子实验 教学奠定良好的实验基础。 整流电路是电力电子中出现最早的一种形式,它将交流电转变为直流电,电路形式十分广泛。三相桥式全控整流电路以 及三相桥式全控逆变电路在现代电力电子技术中具有很重要的 作用和很广泛的应用。这里结合全控整流电路以及全控逆变电 路理论基础,采用Matlab的仿真工具Simulink对三相桥式全 控整流电路和三相桥式全控逆变电路进行仿真,对输出参数进 行仿真及验证,进一步了解三相桥式全控整流电路和三相桥式 全控逆变电路的工作原理。 2、原理 一般变压器一次侧接成三角型,二次侧接成星型,晶闸管分共阴极和共阳极。一般1、3、5为共阴极,2、4、6为共阳 极。 (1)2管同时通形成供电回路,其中共阴极组和共阳极组各1,

Matlab界面设计的例子

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可视化设界面计(上) 一个可发布的应用程序通常都需要具备一个友好的图形界面(比如,我们开课时或给学生上课而使用课件时,我们一般就会用到可视化界面)。这样用户不需要知道应用程序究竟是怎样执行各种命令的, 而只需要了解可见界面组件的使用方法用户也不需要知道命令是如何执行, 只要通过与界面交互就可以使指定行为得以正确执行。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仿真.doc

、/?亠、- r 、 本文前言 MATLAB 的简介 MATLAB^—种适用于工程应用的各领域分析设计与复杂计算的科学计算软件,由美国Mathworks公司于1984年正式推出,1988年退出3.X ( DOS版本,19992年推出4.X( Windows) 版本;19997年腿5.1 (Windows)版本,2000年下半年,Mathworks公司推出了他们的最新产品MATLAB6.0( R12)试用版,并于2001年初推出了正式版。随着版本的升级,内容不断扩充,功能更加强大。近几年来, Mathworks公司将推出MATLAB^言运用于系统仿真和实 时运行等方面,取得了很多成绩,更扩大了它的应用前景。MATLAB已成为美国和其他发达 国家大学教学和科学研究中最常见而且必不可少的工具。 MATLAB!"矩阵实验室” (Matrix Laboratory )的缩写,它是一种以矩阵运算为基础的交互式程序语言,着重针对科学计算、工程计算和绘图的需要。在MATLAB^,每个变量 代表一个矩阵,可以有n*m个元素,每个元素都被看做复数摸索有的运算都对矩阵和复数有效,输入算式立即可得结果,无需编译。MATLAB虽大而简易的做图功能,能根据输入数据 自动确定坐标绘图,能自定义多种坐标系(极坐标系、对数坐标系等) ,讷讷感绘制三维坐标中的曲线和曲面,可设置不同的颜色、线形、视角等。如果数据齐全,MATLAB通常只需 要一条命令即可做图,功能丰富,可扩展性强。MATLAB软件包括基本部分和专业扩展部分, 基本部分包括矩阵的运算和各种变换、代数和超越方程的求解、数据处理和傅立叶变换及数值积分风,可以满足大学理工科学生的计算需要,扩展部分称为工具箱,它实际上使用MATLAB的基本语句编成的各种子程序集,用于解决某一方面的问题,或实现某一类的新算法。现在已经有控制系统、信号处理、图象处理、系统辨识、模糊集合、神经元网络及小波分析等多种工具箱,并且向公式推倒、系统仿真和实时运行等领域发展。MATLAB^言的难 点是函数较多,仅基本部分就有七百多个,其中常用的有二三百个。 MATLABE国内外的大学中,特另惺数值计算应用最广的电气信息类学科中,已成为每个学生都应该掌握的工具。MATLAB^大提高了课程教学、解题作业、分析研究的效率。

推荐-基于matlab的电力电子技术仿真设计课程设计 精品

基于matlab的电力电子技术仿真设计 第1章绪论 1.1 MATLAB 的产生过程和影响 在 20 世纪七十年代后期的时候:时任美国新墨西哥大学计算机科学系主任的Cleve Moler 教授出于减轻学生编程负担的动机,为学生设计了一组调用LINPACK和EISPACK库程序的“通俗易用”的接口,此即用FORTRAN编写的萌芽状态的MATLAB。经几年的校际流传,在Little 的推动下,由Little、Moler、Steve Bangert 合作,于1984 年成立了 MathWorks 公司,并把 MATLAB 正式推向市场。从这时起,MATLAB 的内核采用C语言编写,而且除原有的数值计算能力外,还新增了数据图视功能。MATLAB以商品形式出现后,仅短短几年,就以其良好的开放性和运行的可靠性,使原先控制领域里的封闭式软件包(如英国的 UMIST,瑞典的 LUND 和 SIMNON,德国的KEDDC)纷纷淘汰,而改以MATLAB为平台加以重建。在时间进入20 世纪九十年代的时候,MATLAB已经成为国际控制界公认的标准计算软件。 到九十年代初期,在国际上30 几个数学类科技应用软件中,MATLAB在数值计算方面独占鳌头,而Mathematica 和Maple 则分居符号计算软件的前两名。Mathcad 因其提供计算、图形、文字处理的统一环境而深受中学生欢迎。MathWorks 公司于1993 年推出MATLAB4.0 版本,从告别DOS 版。 电力电子技术MATLAB实践:电力电子技术中有关电能的变换与控制过程,有各种电路原理的分析与研究、大量的计算、电能变换的波形测量、绘制与分析等,都离不开MATLAB。首先,它的运算功能强大,应用于交流电的可控整流、直流电的有源逆变与无源逆变中存在的整流输出的平均值、有效值、与电路功率计算、控制角、导通角计算。其次,MATLAB 的SimpowerSystems实体图形化仿真模型系统,把代表晶闸管、触发器、电阻、电容、电源、电压表等实物的特有符号连接成一个整流装置电路或是一个系统,更简单方便,节省设计制作时间和成本等。再有,交流技术讨论的电能转换与控制,需要对各种电压与电流波形进行测量、绘制与分析,MATLAB提供了功能强大且方便使用的图形函数,特别适合完成这项任务。 MathWorks 公司瞄准应用范围最广的Word ,运用DDE 和OLE,实现了MATLAB与Word 的无缝连接,从而为专业科技工作者创造了融科学计算、图形可视、文字处理于一体的高水准环境。1997 年仲春,MATLAB5.0 版问世,紧接着是5.1、5.2,以及和1999 年春的5.3 版。与 4.0 相比,现今的 MATLAB 拥有更丰富的数据类型和结构、更友善

相关主题
文本预览
相关文档 最新文档