MATLAB在电类专业课程中应用---教程及实训第一章
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
>> b=[10 9;8 7];
>> b(:,:,2)=[6 5;4 3] >> c1=[4 4;3 3]; >> c2=[7 7;8 8]; >> c=cat(3,c1,c2) %使用cat函数将c1和c2按第三维连接
6. 复数
复数包括实部和虚部,MATLAB用特殊变量“i”或“j”表示虚数的单位,因此在编程时要 注意不要将i和j变量另外赋值。
4. 其它数据类型 (1)元胞型(Cell)
(2)结构体型(Structure)
1.2.2 MATLAB的数据
1. 空数组(empty array) 没有元素的数组,用空的“[ ]”表示。 2. 标量(scalar) 标量也可以看成矩阵,是1×1的矩阵。 3.向量(vector) 向量指1×n或n×1的矩阵,即只有一行或者一列的矩阵。 (1)使用“from:step:to”方式生成等差的行向量
>> a2=linspace(1,10,10)
4.矩阵(matrix)
(1)创建矩阵 矩阵是一个矩形的m×n数组,即二维数组。 在MATLAB中矩阵的创建应遵循以下基本规 则: 矩阵元素应用方括号([])括住; 每行内的元素间用逗号(,)或空格隔开; 行与行之间用分号(;)或回车键隔开; 元素可以是数值或表达式。
MATLAB的语言简洁而且智能化,以解释方式工作。
强大而智能化的作图功能 MATLAB可以智能化地用图形显示二维或三维数组,能够自动选择最佳坐标,自动按精 度选择步长等。 Simulink动态仿真功能 Simulink是交互式动态系统建模、仿真和分析的图形环境,用户通过框图的绘制来模拟 系统。 功能丰富,可扩展性强
2. 逻辑运算
MATLAB的逻辑运算有三种类型:元素的逻辑运算、位逻辑运算和先决逻辑运算。 (1)元素的逻辑运算 元素的逻辑运算是将数组中的元素一一进行逻辑运算,常用的逻辑运算符:&(与)、 |(或)、~(非)和xor(异或)。
(2)先决逻辑运算
先决逻辑运算只能用于标量的运算。先决逻辑运算符有:&&(先决与)和||(先决 或)。 (3)位逻辑运算
1.2.2 MATLAB的数值运算
1. 算术运算 (1)加、减运算 A+B 和A-B (2)乘法运算 矩阵运算是A*B,矩阵A的列数必须等于矩阵B的行数,除非其中有一个是标量。 数组运算是A.*B,数组A和数组B对应元素相乘,A和B的尺寸应该相同 (3)除法运算 MATLAB的除法分为左除和右除。 矩阵除法 左除A\B ,右除A/B。X=A\B是方程A*X=B的解,A\B=A-1*B。
第一章MATLAB开发环境及编程
1.1 MATLAB概述
1.2 MATLAB基本运算
1.3 MATLAB的绘图
1.4 MATLAB程序设计
1.5 MATLAB的文件 1.6 Simulink仿真工具
1.1 MATLAB概述
运算功能强大 MATLAB是以矩阵为基本编程元素的程序设计语言,它的数值运算要素是矩阵。 编程效率高
(2)使用linspace(a,b,n)和logspace(a,b,n)函数生成向量
(3)字符串 字符串也是行向量
【例1_3】创建行向量。
>> clear >> a1=1:10 a1 = 1 b= 2.0000 >> b=b’ a2 = 1 b2 = 0.1000 1.0000 10.0000 2 3 4 5 6 7 8 9 10 %从10-1-101分成3个元素 >> b2=logspace(-1,1,3) 1.5000 1.0000 %转置 %从1到10共分成10个元素 0.5000 2 3 4 5 6 7 8 9 10 >> b=2:-0.5:0.5 %步长为-0.5,从2到0.5 %清空工作空间 %步长为1,从1到10
【例1_4】创建矩阵。 >> a=[1 2 3;4,5,6;7 8 9] a= 1 2 3 4 5 6 7 8 9 >> b=[0:2;linspace(5,8,3);logspace(-2,2,3)] %由行向量组成矩阵 b= 0 1.0000 2.0000 5.0000 6.5000 8.0000 0.0100 1.0000 100.0000 >> c=[a,b] %由两个矩阵 合并 c= 1.0000 2.0000 3.0000 0 1.0000 2.0000 4.0000 5.0000 6.0000 5.0000 6.5000 8.0000 7.0000 8.0000 9.0000 0.0100 1.0000 100.0000 >> d='MATLAB' %创建字符串数组 d= MATLAB
(3)用实部和虚部来创建复数 复数也可以根据实部和虚部来生成,其语法格式为: z=complex(a,b) %a为实部,b为虚部。
7. MATLAB的特殊变量
特 殊 变 量 取值 特殊变量 取值 名 名 ans 运算结果的默认变量名 i或 j i=j= , 虚数 单位 pi nargin 圆周率π 函数的输入变量 数目 eps nargout 函数的输出变量 浮点数的相对误差 数目 realmin 最小的可用正实 inf或INF 无穷大,如1/0 数 realmax 最大的可用正实 NaN 或 不 定 值 , 如 0/0 、 ∞/∞ 、 nan 0×∞ 数
数组除法
左除A./B,数组A除以数组B的对应元素;右除A.\B,数组B除以数组A的对应元素。
【例1_9】用矩阵除法求方程组的解。
x1 2x 2 x3 65 3x1 2x 2 7x3 17 4x - 3x - 7x 5 2 3 1
ຫໍສະໝຸດ Baidu
因为矩阵的左除X=A\B是方程A*X=B的解,因此计算X=A\B。
例如,在符号表达式“ax2+bx+c”中,自由符号变量的顺序为xcba。
1
4 7
2
5 8
3
6 9 %创建字符串b %c是逻辑型变量
>> b='MATLAB' >> c=false c= 0 >> d=a*c d=
%a与0相乘为全零矩阵
0
0 0
0
0 0
0
0 0
2. 历史命令窗口(Command History)
,
历史命令窗口用来记录并显示已经 运行过的命令、函数和表达式,并 标明每次开启MATLAB的时间
3. 当前目录窗口(Current Fold)
当前目录窗口用来设置当前的工作目录,并显示当前目录下的M文件、MAT文件、MDL 文件等和文件夹信息。
4. 工作空间窗口(Workspace)
工作空间用于显示内存中所有的变量名、变量内容、类型、大小和字节数,不同的变量 类型使用不同的图标。
图1_6 工作空间窗口
1. 数值型 (1)整数型
数据类型 无符号8位整数uint8 无符号16位整数uint16 无符号32位整数uint32 无符号64位整数uint64 有符号8位整数int8 有符号16位整数int16 有符号32位整数int32 有符号64位整数int64 数值范围 0~ 28 -1 0~216 -1 0~232 -1 0~264 -1 2-7~27 -1 2-15~215 -1 2-31~231 -1 2-63~263 -1 类型转换函
5. 变量编辑器窗口(Variable Editor)
6. M文件编辑/调试器窗口(Editor)
在M文件编辑/调试器窗口中不仅可以编辑M文件,而且可以对M文件进行交 互式调试,使用菜单“Debug”实现单步运行和设断点等调试,使用菜单“Cell” 可以进行单元调试。
1.2 MATLAB基本运算 1.2.1 MATLAB的数据类型
第一章MATLAB开发环境及编程 第二章 MATLAB在数学运算中的应用
第三章 MATLAB在电路原理中的应用
第四章 MATLAB在电机与拖动中的应用 第五章 MATLAB在电力电子技术中的应用 第六章 MATLAB在自动控制原理中的应用 第七章 MATLAB在电力拖动自动控制系统中的应用 第八章 MATLAB在信号与系统中的应用
1.1.1 MATLAB集成开发环境
MATLAB 2014a开发 环境
MATLAB 7.X开发环境
1.1.2 MATLAB的各个窗口
1. 命令窗口(Command Window) 常用标点符号的功能: 【例1_1】在命令窗口输入命令。 >> a=[1 2 3;4 5 6;... 7 8 9] a= %创建矩阵a
5.数组(array)
三维数组m×n×k,其中m,n,k分别表示行、列和页。三维数组的创建有3种方法: 直接赋值,由二维数组扩展和使用cat函数创建。
【例1_5】创建三维数组。 >> clear >> a(:,:,1)=[1 2;3 4]; >> a(:,:,2)=[1 1;2 2] %三维数组的第一页 %三维数组的第二页 %由二维数组扩展一维产生三维数组
>> A=[1 2 1;3 -2 7;4 -3 -7]; >> B=[65;17;5]; >> X=A\B X= 19.2576 22.5606 0.6212
%左除计算解方程
(4)乘方运算 矩阵的乘方运算A^B 数组的乘方运算A.^B,数组A和数组B对应元素的乘方。 (5)转置运算 矩阵转置 A',矩阵A的转置,如果矩阵A为复数矩阵,则转置是指共轭转置。 数组转置 A.’,数组A的元素转置。
(1)直接创建复数 用变量i和j来创建复数,例如:z=2+3i,z=2+3j,z=x+y*i,z=x+y*j。 (2)用相角和模来创建复数 复数可以根据模和相角来生成,其语法格式如下: z=r*exp(i*theta) %r为模,theta为相角,以弧度为单位
根据复数z,模使用abs(z)来获得,相角使用angle(z)来获得。
(2)浮点型
数 uint8() uint16() uint32() uint64() int8() int16() int32() int64()
浮点型包括了单精度型(single)和双精度型(double)。
2. 字符型(char)
在MATLAB中字符型是使用单引号’括起来。
3. 逻辑型(logical) 逻辑型(logical)数据只有“1”和“0”,分别表示true和false两种状态
在进行符号运算时,首先必须定 义符号对象(Symbolic Object)
S=sym(s,参数) %由数值创建符号对象
syms s1 s2 s3 … 参数 %创建多个符号变量
2.自由符号变量的确定
当符号表达式中含有多个符号变量时,例如,符号表达式“ax2+bx+c”中有符号变量a、 b、c和x,在运算时往往只有一个符号变量是自由符号变量,其余的都当作常量来处理。 在符号表达式中如果有多个符号变量而没有指定自由符号变量,则MATLAB将基于以下 原则来选择一个自由符号变量: 符号表达式中的多个符号变量,按以下顺序来选择自由符号变量:首先选择x,如果没 有x,则选择在字母表顺序中最接近x的字符变量,如果字母与x的距离相同,则在x后面 的优先; 字母pi、i和j不能作为自由符号变量; 大写字母比所有的小写字母都靠后。
位逻辑运算就是对非负整数按二进制形式进行逐位逻辑运算,然后将逐位逻辑运算后的 二进制数转换为十进制数输出。
位逻辑运算函数有:bitand(位与)、bitor(位或)、bitcmp(位非)和bitxor(位 异或)。
1.2.3符号运算
1. 创建符号对象 【例1_12】创建符号常量、表达式和矩阵。 >> a1=sin(1); >> sa1=sym(a1,'d') %创建符号变量按十进制格式 sa1 = 0.84147098480789650487565722869476 >> sa2=sym(a1,'r') %创建符号变量按有理数格式 sa2 = 3789648413623927/4503599627370496 >> syms a b c x >> sy1=a*x^2+b*x+c %创建符号表达式 sy1 = a*x^2 + b*x + c >> sy2=('y^2+2*y+1') %创建符号方程 sy2 = y^2+2*y+1 >> syms d e f g >> A=[d,e;f,g] %创建符号矩阵 A= [ d, e] [ f, g]