1.1.3 MATLAB语言的主要特点(续) (3)可以直接处理声言和图形文件。 声言文件。如:wAV文件(例: wavread, sound等)。 图形文件。如:bmp、gif、pcx、tif、jpeg等文件。 (4)具有若干功能强大的应用工具箱。 如: SMMULINK、COMM、DSP、 SIGNAL等16种工具箱。 (5)使用方便,具有很好的扩张功能。 使用 MATLAB语言编写的程序可以直接运行,无需编译。 可以M文件转变为独立于平台的EXE可执行文件 MATLAB的应用接口程序AP是 MATLAB提供的十分重要 的组件,由一系列接口指令组成。用户就可在 FORTRAN 或C中,把 MATLAB当作计算引擎使用 (6)具有很好的帮助功能 提供十分详细的帮助文件(PDF、HIML、demo文件)。 联机查询指令;help指令(例: help elfun, help exp,help simulink), lookfor关键词(例: lookfor fourier)
6 1.1.3 MATLAB语言的主要特点(续) (3)可以直接处理声言和图形文件。 (4)具有若干功能强大的应用工具箱。 (5)使用方便,具有很好的扩张功能。 ▪ 声言文件。如: WAV文件(例:wavread,sound等)。 ▪ 图形文件。如:bmp 、gif 、 pcx 、tif 、jpeg等文件。 ▪ 如:SIMULINK、COMM、DSP、 SIGNAL等16种工具箱。 (6)具有很好的帮助功能 ▪ 可以M文件转变为独立于平台的EXE可执行文件。 ▪ 使用MATLAB语言编写的程序可以直接运行,无需编译。 ▪ 提供十分详细的帮助文件(PDF 、HTML 、demo文件)。 ▪ 联机查询指令:help指令(例:help elfun,help exp,help simulink),lookfor关键词(例:lookfor fourier )。 ▪ MATLAB的应用接口程序API是MATLAB提供的十分重要 的组件 ,由 一系列接口指令组成。用户就可在FORTRAN 或C中 , 把MATLAB当作计算引擎使用
1.2 MATLAB简介 1.2.1 MATLAB的计算功能 (1) MATLAB的数据类型 现有四种基本数据类型:双精度数组、字符串数组、元胞 数组、构架数组。 元胞数组( Cell array)如同银行里的保险箱库一样。 该数组的基本组分是元胞(Ce),以下标来区分。 元胞可以存放任何类型、任何大小的数组。 同一个元胞数组中各元胞的内容可以不同。 构架数组( Structure Array)也能存放各类数据 该数组的基本组分是构架( Structure),以下标来区分。 构架必须在划分“域”后才能使用。 数据不能存放于构架,只能存放在域中。 构架的域可以存放任何类型、任何大小的数组。 不同构架的同名域中存放的内容可不同。(例122
7 1.2 MATLAB简介 1.2 .1 MATLAB的计算功能 (1) MATLAB的数据类型 ▪ 现有四种基本数据类型:双精度数组、字符串数组、元胞 数组、构架数组。 ▪ 元胞数组(Cell Array)如同银行里的保险箱库一样。 • 该数组的基本组分是元胞(Cell),以下标来区分。 • 元胞可以存放任何类型、任何大小的数组。 ▪ 构架数组(Structure Array)也能存放各类数据。 • 该数组的基本组分是构架(Structure ),以下标来区分。 • 构架必须在划分“域”后才能使用。 • 数据不能存放于构架,只能存放在域中。 • 构架的域可以存放任何类型、任何大小的数组。 • 不同构架的同名域中存放的内容可不同。(例1_2_2 ) • 同一个元胞数组中各元胞的内容可以不同。(例1_2_1)
(2) MATLAB的基本数值计算功能 基本计算功能: MATLAB有强大的函数库。(常用的基本 函数库和常用的三角函数库等) 矩阵运算及数组运算。 矩阵运算符:+加法,-减法,*乘法,A幂,\左除, /右除,“转置。 数组运算符:+加法,减法,*乘法,幂, 左除,,/右除,.“共轭。 例123:已知t的采样数据是(mxm)维数组。 要计算y=esm(51)对一般的计算语言来说,必须采用 两层循环才能得到结果。 MATLAB处理这类问题则简洁快 捷得多,它只需直截了当的一条指令y=exp(-2*,*in(5*t), 就可获得同样是(nxm)维的y数组。 数组函数和矩阵函数
8 (2) MATLAB的基本数值计算功能 ▪ 基本计算功能:MATLAB有强大的函数库。(常用的基本 函数库和常用的三角函数库等) ▪矩阵运算及数组运算。 •矩阵运算符:+ 加法,- 减法,* 乘法,^ 幂,\ 左除, / 右除,‘转置。 •数组运算符:.+ 加法,.-减法,.* 乘法,.^ 幂,.\ 左除,./ 右除,.‘ 共轭。 ▪数组函数和矩阵函数。 例 1_2_3:已知 的采样数据是 维数组。 要计算 。对一般的计算语言来说,必须采用 两层循环才能得到结果。MATLAB处理这类问题则简洁快 捷得多,它只需直截了当的一条指令y = exp(-2*t).*sin(5*t) , 就可获得同样是 维的 数组。 t (nm) sin( 5 ) 2 y e t − t = (nm) y
(3) MATLAB的高级数值计算功能 关系运算和逻辑运算。 多项式:多项式的求根、分解、求导数以及多项式的拟合。 例124:在付立叶变换( Fourier)、Z变换和拉氏变 换( Laplace)中,常有两个多项式之比, MATLAB中提 供函数 residue执行部分分式展开 数据分析函数:对数据集合进行统计分析。例如:求最大 值、最小值、平均值、标准偏差、相关系数等。 数值分析函数:求函数极值、函数零点和极点、数值积分 数值微分、微分方程的数值解等 付立叶变换和付立叶逆变换。 例125:应用数值积分,求时间函数w(t)的 Fourier级数 展开系数。 例126:应用FFT,求时间函数w(t)的 Fourier级数展开 系数
9 (3) MATLAB的高级数值计算功能 ▪关系运算和逻辑运算。 ▪多项式:多项式的求根、分解、求导数以及多项式的拟合。 ▪数据分析函数:对数据集合进行统计分析。例如:求最大 值、最小值、平均值、标准偏差、相关系数等。 ▪数值分析函数:求函数极值、函数零点和极点、数值积分、 数值微分、微分方程的数值解等。 ▪付立叶变换和付立叶逆变换。 例 1_2_4:在付立叶变换(Fourier)、 Z 变换和拉氏变 换(Laplace)中,常有两个多项式之比,MATLAB中提 供函数 residue 执行部分分式展开。 例 1_2_5:应用数值积分,求时间函数w(t)的Fourier级数 展开系数。 例 1_2_6:应用FFT,求时间函数w(t)的Fourier级数展开 系数
(4) MATLAB的符号计算 符号计算的两大特点:符号解和任意精度解。 MATLABI的符号计算借助符号工具箱( Symbolic)实现。 符号表达式和符号矩阵。 定义基本符号对象的指令有两个:sym,syms 符号表达式:y=m(2*sin(x)*cosx)。 符号矩阵: msy=sym([(a+x), sn(x), (b-x/(a+x), 1, exp(x),x/2I 符号矩阵的基本运算。 两个符号矩阵的和: symadd(A,B) 两个符号矩阵的差: symsub(A,B) 两个符号矩阵的积: sammul(A,B) 两个符号矩阵的除: symdiⅳv(A,B) 符号矩阵的求逆: Inverse(B)
10 (4) MATLAB的符号计算 ▪ 符号表达式和符号矩阵。 ▪ 符号矩阵的基本运算。 ▪ 符号计算的两大特点:符号解和任意精度解。 ▪ MATLAB的符号计算借助符号工具箱(Symbolic)实现。 • 定义基本符号对象的指令有两个:sym,syms。 • 符号表达式: y = sym('2*sin( x)*cos(x)') 。 • 符号矩阵: msy = sym('[1/(a + x),sin( x),(b − x)/(a + x);1,exp( x), x^2]') • 两个符号矩阵的和:symadd(A,B) • 两个符号矩阵的差:symsub(A,B) • 两个符号矩阵的积:symmul(A,B) • 两个符号矩阵的除:symdiv(A,B) • 符号矩阵的求逆:inverse(B)