《MATLAB语言及其应用》教案(2)

2019-08-30 20:33

第2章 MATLAB数据及其运算

本章重点:变量、格式、矩阵、运算、字符串 课时安排:4课时 内容安排:

1、MATLAB数据的特点

(1)矩阵是MATLAB最基本、最重要的数据对象。 例如: ??1357? ??2345?(2) 向量可以看成是仅有一行或一列的矩阵。

例如:[1 2 3],[28 3 9]

(3)单个数据(标量)可以看成是矩阵的特例。单个数据看着也看着矩阵。例如:10=[10] (4)数据类型

MATLAB定义了15种数据类型:

Char,float,double,int8,int16,int32,int64,uint8,uint16,uint32,uint64,cell,structure,java类,函数句柄,用户定义类型

一般情况下,矩阵的每个元素必须具有相同的数据类型,在实际应用中,有时需要将不同类型的数据构成矩阵的元素,也就是结构体(Structure)和元胞(Cell)数据类型。

?'LIYANG'22'M'??'LIYANG'22'M'??'WANG'31'W'?,?'WANG'31'W'?

????????'TANG'18'M'???'TANG18'M'?

2、变量及其操作 2.1变量命名:

以字母开头(不是数字、汉字开头)后接字母、数字、下划线的最多63个字符,区分大小写。

2.2 变量赋值操作 (1)变量=表达式 例如:a=123;b=?ok?

(2)表达式;%把表达式值赋值给预定义变量ans 例如:123456

7?sin(30?) 例如:将写成MATLAB表达式

log(5)e0.3?ln(5?cos(3))将写成MATLAB表达式 312tg(20)(3)预定义变量:ans,eps,pi,i,j,inf,Inf,NaN,nan,nargin,nargout,realmax,realmin,lasterr,lastwarn 例如:2+6i,3+pi

(4)变量管理:内存变量的显示与删除,who,whos,clear. (5)工作空间浏览器

3

(6)变量编辑器: (7)内存变量文件:

save 文件名 [变量名表] [-append][-ascii] load 文件名 [变量名表] [-ascii] 2.3 数据输出格式:

采用十进制数表示一个常数,可用日常记数法和科学记数法,format format short format long format short e format long e format rat format hex format compact format loose

3、MATLAB矩阵表示

矩阵:n×m的数据存储空间 向量:单行或单列的矩阵 标量:1×1的矩阵

数组:矩阵是数组的特例,矩阵是二维数组,向量是一维数组。 空矩阵:[]表示无任何元素 3.1矩阵建立 1.直接输入法

矩阵元素应用方括号([])括住

每行内的元素间用逗号(,)或空格隔开 行与行之间用分号(;)或回车键隔开; 元素可以是数值或表达式。 例如:a=[2,3;5,6;8,9] cB=[4,2+3i;5i,6i] xp=[2 3;4 5] 复数矩阵

2.利用M文件建立矩阵

(1)启动有关编辑程序或MATLAB文本编辑器,并输入待建矩阵. (2)把输入的内容以纯文本方式存盘(设文件名为mymatrix.m)。

(3) load 文件名,就会自动建立一个名为MYMAT的矩阵,可供以后使用。 3.建立大矩阵

大矩阵可由方括号中的小矩阵建立起来。例如

A=[1 2 3;4 5 6;7 8 9]; C=[A,eye(size(A));ones(size(A)),A]

4.冒号表达式:

(1)使用冒号表达式生成向量 冒号表达式的一般格式: e1:e2:e3

其中e1为初始值, e2为步长, e3为终止值。冒号表达式可产生一个由e1开始到e3

4

结束,以步长e2自增的行向量。

在冒号表达式中如果省略e2不写,则步长为1。 当e2省略或e2>0,e1>e3; e2<0, e1

a、b、n三个参数分别表示开始值、结束值和元素个数; linspace函数生成从a到b之间线性分布的n个元素的行向量,n如果省略则默认值为100; linspace(a,b,n)与a:(b-a)/(n-1):b等价。

logspace函数生成从10a到10b之间按对数等分的n个元素的行向量,n如果省略则默认值为50。

3.2矩阵的拆分: 1.矩阵元素访问

MATLAB允许用户对一个矩阵的单个元素进行赋值和操作。而不影响其它元素的值。例如 A=ones(4);A(3,2)=200 只改变该元素的值,而不影响其他元素的值。如果给出的行下标或列下标大于原来矩阵的行数和列数,则MATLAB将自动扩展原来的矩阵,并将扩展后未赋值得矩阵元素置为0 A(4,6)=10

也可以采用矩阵元素的序号来引用矩阵元素。矩阵元素按列编号,先第一列,再第二列,依次类推。 A(6)

显然,下标(subscrip)与序号(index)是一一对应的。以m×n矩阵A为例,矩阵元素A(i,j)的序号为 (j-1)*m+i。其相互转换关系也可利用sub2ind和ind2sub函数求得 sub2ind(size(A),2,3) [c,d]=ind2sub(size(A),6) 2.利用冒号获得子矩阵

①A(:,j)表示取A矩阵的第j列全部元素;A(i,:)表示A矩阵第i行的全部元素;A(i,j)表示取A矩阵第i行、第j列的元素。

②A(i:i+m,:)表示取A矩阵第i~i+m行的全部元素;A(:,k:k+m)表示取A矩阵第k~k+m列的全部元素,A(i:i+m,k:k+m)表示取A矩阵第i~i+m行内,并在第k~k+m列中的所有元素。 A=[1,2,3,4,5;11,12,13,14,15;21,22,23,24,25;31,32,33,34,35]; A(2:3,4:5) A(2:3,1:2:5)

此外,还可利用一般向量和end运算符等来表示矩阵下标,从而获得子矩阵。end表示某一维的末尾元素下标。

A=[1,2,3,4,5;11,12,13,14,15;21,22,23,24,25;31,32,33,34,35]; A(end,:)%取A最后一行元素

A([1,4],3:end)%取A第1、4行中第3列到最后一列元素

3.利用空矩阵删除矩阵元素

在MATLAB中,定义[]为空矩阵。给变量X赋空矩阵的语句为X=[]。

注意:X=[]与clear X不同,clear是将X从工作空间中删除,而空矩阵则存在于工作空间,只是维数为0。

5

将某些元素从矩阵中删除,采用将其置为空矩阵的方法就是一种有效的方法。 A=[1,2,3,4,5;11,12,13,14,15;21,22,23,24,25;31,32,33,34,35]; A(:,[2,4])=[]%删除A的第2列和第4列元素 4 矩阵合并

矩阵的合并就是把两个以上的矩阵连接起来得到一个新矩阵,“[]”符号可以作为矩阵合并操作符,命令格式如下: c=[a b] %将矩阵a和b水平方向合并为c c=[a;b] %将矩阵a和b垂直方向合并为c 5、MATLAB数据运算: 算术运算:+,-,*,/,\\,^ 点运算:.*,./,.\\,

MATLAB常用函数:sin,asin,cos,,acos,tan,atan,sqrt,log,abs,rem,exp,mod,round,gcd,fix 关系运算(返回真1或假0):<,<=,>,>=,==,!= 逻辑运算((返回真1或假0)):&,|,~ 位运算:bitand,bitor,bitxor,bitshift

关系与逻辑运算函数:all,any,exit,find,isempty,issparse,xor 6、字符串:

创建:s=?please?

字符串函数:setstr,mat2str,int2str,num2str,str2num,strcat,strcmp 7、结构数据和单元数据:

结构数据:建立、引用、修改、结构函数 单元(cell)数据:建立、引用、函数

6

第3章 MATLAB矩阵分析与处理

本章重点:特殊矩阵、矩阵变换、矩阵求值 课时安排:4课时 内容安排:

1.特殊矩阵的建立

1.1通用特殊矩阵:zeros,ones,eye,rand,randn 几个产生特殊矩阵的函数:

zeros 产生全0矩阵(零矩阵) ones 产生全1矩阵 (么矩阵) eye 产生单位矩阵

rand 产生0~1间均匀分布的随机矩阵 randn 产生0~1间正态分布的随机矩阵

这几个函数的调用格式相似,下面以产生零矩阵的zeros函数为例进行说明。其调用格式是:

zeros(m) 产生m×m零矩阵 zeros(m,n) 产生m×n零矩阵。

zeros(size(A)) 产生与矩阵A同样大小的零矩阵 相关的函数有:

size(A) 返回包含2个元素的向量,分别是A的行数、列数 length(A) 给出行数和列数中的较大者,即 length(A)=max(size(A)); ndims(A) 给出A的维数。

reshape(A,m,n) 它在矩阵总元素保持不变的前提下,将矩阵A重新排成m×n的二维矩阵。

例2.3 分别建立3×3、3×2和与矩阵A同样大小的零矩阵。 (1)建立一个3×3零矩阵:zeros(3) (2)建立一个3×2零矩阵:zeros(3,2)

(3)建立与矩阵A同样大小零矩阵:zeros(size(A)) (4)将矩阵xv重新排成2×5、5×2矩阵 xv=[23,34,65,67,54,38,78,76,32,56]; ym=reshape(xv,2,5) newym=reshape(xv,5,2)

1.2专门学科特殊矩阵:magic,vander,hilb,toeplitz,compan,pascal

magic矩阵的每行、每列、及两条对角线的元素之和都相等。用法:magic(n)

vander矩阵的最后一列全为1,倒数第二列为一个指定的向量,其他各列是其后列与倒数第二列的点乘。用法:vander(n) Hilb矩阵的每个元素是hij?1,用法:hilb(n)

i?j?1toeplitz矩阵除第一行和第一列外,其他每个元素都与其相邻左上角的元素相同。用法:toeplitz(x,y)或者(x),这里x和y都为向量,生成以x为第一列,y为第一行的toeplitz矩阵 伴随矩阵compan:设多项式p(x)?anx?an?1xnn?1???a1x?a0,则多项式的伴随矩阵

7


《MATLAB语言及其应用》教案(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:活性污泥法和生物膜法的优缺点及其他

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: