1.1.3 MATLAB语言的主要特点(续) (3)可以直接处理声言和图形文件。 声言文件。如:WAV文件(例: wavread, sound等)。 图形文件。如:bmp、gif、px、fif、jpeg等文件。 (4)具有若干功能强大的应用工具箱。 如: SIMULINK、COMM、DsP、 SIGNAL等16种工具箱 (5)使用方便,具有很好的扩张功能。 使用 MATLAB语言编写的程序可以直接运行,无需编译。 可以M文件转变为独立于平台的EXE可执行文件。 MATLAB的应用接口程序API是 MATLAB提供的十分重要 的组件,由一系列接口指令组成。用户就可在 FORTRAN 或C中,把 MATLAB当作计算引擎使用 (6)具有很好的帮助功能 提供十分详细的帮助文件(PDF、HIML、demo文件 联机查询指令;help指令(例: help elfun, help exp,hel 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)如同银行里的保险箱库一样。 该数组的基本组分是元胞(Cel),以下标来区分。 元胞可以存放任何类型、任何大小的数组。 同一个元胞数组中各元胞的内容可以不同 构架数组( 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有强大的函数库。(常用的基本 函数库和常用的三角函数库等) 矩阵运算及数组运算 矩阵运算符:+加法,-减法,*乘法,幂,\左除, /右除,‘转置。 数组运算符:+加法,,-减法,乘法,^幂, 左除,右除,,共轭。 例123:已知t的采样数据是(nxm)维数组。 要计算y=esi(5)对一般的计算语言来说,必须采用 两层循环才能得到结果。 MATLAB处理这类问题则简洁快 捷得多,它只需直截了当的一条指令y=exp(-2*t)*sin(5*t), 就可获得同样是(m×m)维的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变换和拉氏变 换(Tap1ace)中,常有两个多项式之比, 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的符号计算 符号计算的两大特点:符号解和任意精度解。 MATLAB的符号计算借助符号工具箱( Symbolic)实现。 符号表达式和符号矩阵。 定义基本符号对象的指令有两个:sym,syms 符号表达式:y=m(2*sn(x)*cos(x 符号矩阵: msy= symc[l/a+x), sin( x),(b-x/a+x): l, exp(x),x 2) 符号矩阵的基本运算。 两个符号矩阵的和:smad(A,B) 两个符号矩阵的差: symsub(A,B) 两个符号矩阵的积: sammul(A,B) 符号矩阵的求逆: inverse(B) 两个符号矩阵的除: syndic(A
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)