《Matlab矩阵及其运算课件》由会员分享,可在线阅读,更多相关《Matlab矩阵及其运算课件(25页珍藏版)》请在金锄头文库上搜索。
1、第2章 Matlab矩阵及其运算,2.1 Matlab变量和数据操作 2.2 Matlab矩阵及其操作 2.3 Matlab运算与矩阵分析 2.4 字符串、结构数据和单元数据 2.5 Matlab稀疏矩阵及其操作,2.1 Matlab变量和数据操作,2.1.1 变量与语句 变量命名 字母开头,包括字母、数字、下划线,区分大小写,如myvar12 和MYVAR12 不声明,不定义,拿来即用 语句 回车表示一句话结束,末尾无分号,则输出该句执行结果,末尾有分号,只执行不输出 注释以%开头 一行写不开,用续行,2.1 Matlab变量和数据操作,2.1.1 变量与语句 赋值 变量=表达式(将右边表达
2、式的值赋给左边的变量) 表达式(将表达式的值赋给预定义变量ans) 例2-1 计算表达式的值,并显示结果(P15) x=1+2i; y=3-sqrt(17); z=(cos(abs(x+y)-sin(78*pi/180)/(x+abs(y),2.1 Matlab变量和数据操作,2.1.2 预定义变量 常用的预定义变量(P15) ans 计算结果的默认赋值变量 pi:圆周率的近似值; i,j:虚数单位; inf:无穷大; nargin:函数输入参数个数; nargout:函数输出的参数个数; realmax:最大正实数; realmin:最小正实数.,2.1 Matlab变量和数据操作,2.1.
3、3 变量管理 工作空间中驻留的变量查看 工作空间窗口显示 命令方式 Who Whos 清除变量 Clear命令,2.1 Matlab变量和数据操作,2.1.3 变量管理 保存变量 利用MAT文件可以把当前Matlab工作空间中的一些有用变量长久地保留下来,扩展名是.mat。 在工作空间窗口中进行保存操作 命令方式 save命令(生成.mat文件) save 文件名 变量名表 -append-ascii load命令 (载入.mat文件) load 文件名 变量名表 -ascii,2.1 Matlab变量和数据操作,2.1.4 常用数学函数 Matlab提供了许多数学函数,函数的自变量规定为矩阵
4、变量,运算法则是将函数逐项作用于矩阵的元素上,因而运算的结果是一个与自变量同维数的矩阵。如P17 表2-2 和 P288 索引表,2.1 Matlab变量和数据操作,2.1.5 数据输出 数据输出格式控制 format函数使用 语法:format 格式符 只影响数据输出格式,不影响计算和存储 默认输出格式:short格式 例:,2.2 Matlab矩阵及其操作,2.2.1 矩阵建立 直接输入法 从键盘直接输入矩阵元素 将矩阵元素用方括号括起来,按行输入元素,同一行各元素用空格或逗号分隔,不同行用分号隔开 M文件建立矩阵 用于建立比较大且比较复杂的矩阵 新建M文件,输入矩阵元素,输入要求与前者类
5、似,2.2 Matlab矩阵及其操作,2.2.1 矩阵建立 冒号表达式建立向量 冒号表达式可产生行向量,其语法为: e1:e2:e3 linspace建立行向量,其语法为: linspace(a,b,n) 已建立的矩阵建立更大的矩阵 大矩阵可由已建好的小矩阵拼接而成 例:,步长,a:(b-a)/(n-1):b,2.2 Matlab矩阵及其操作,2.2.2 矩阵拆分 矩阵元素引用方式 下标(Subscript) 序号(Index) 利用sub2ind和ind2sub函数相互转换 冒号表达式获得子矩阵 子矩阵是指由矩阵中一部分元素构成的矩阵 矩阵A(i,j) A(i,:), A(:,j), A(i
6、:i+m,k:k+m), A(i:i+m,:), A(:,k:k+m) end表示某一维的末尾元素下标,一一对应,以mn矩阵A为例, 矩阵元素A(i,j)的序号为(j-1)*m+i,2.2 Matlab矩阵及其操作,2.2.2 矩阵拆分 空矩阵删除矩阵元素 定义 为空矩阵,x= x= 与clear x的区别 将某些元素从矩阵中删除可设置为空矩阵 改变矩阵形状 reshape(A,m,n)函数 例:x=23,45,56,67,78,34,98,65,43,76,12,46 y=reshape(x,3,4) y1=reshape(x,2,6),2.2 Matlab矩阵及其操作,2.2.3 特殊矩阵
7、 通用特殊矩阵 zeros:产生全0矩阵(零矩阵) ones:产生全1矩阵(幺矩阵) eye:产生单位矩阵 rand:产生01间均匀分布的随机矩阵 randn:产生均值为0,方差为1的标准正态分布随机矩阵,2.2 Matlab矩阵及其操作,2.2.3 特殊矩阵 用于专门学科的特殊矩阵 魔方矩阵:magic(n) 范得蒙矩阵: vander(V) 希尔伯特矩阵: hilb(n)和invhilb(n) 托普利兹矩阵: toeplitz(x,y) 伴随矩阵: compan(p) 帕斯卡矩阵: pascal(n),2.3 Matlab运算与矩阵分析,2.3.1 Matlab运算 算术运算 基本算术运算
8、:(加)、(减)、*(乘)、/(右除)、(左除)、(乘方) 点运算:.*、./、.和. (两矩阵对应元素进行相关运算,且二者的维参数相同) (Ex2_7) 关系运算:(大于)、=(大于或等于)、=(等于)、=(不等于) (Ex2_8) 逻辑运算: c=(f-32)/1.8; disp(Room temperature is ,num2str(c),degrees C.),2.4 字符串、结构和单元数据,2.4.2 结构和单元数据 结构数据 构建:a=struct(field1,field2,), 如: a=struct(x1,10 12 14,x2,liu wang cai,x3,1 2;3
9、4 4 5;5 6 7 8;9 10) 引用: a(1) .x1 修改结构体成员 增加: a(1) .x4=15; 删除:rmfield函数,a=rmfield(a(1) ,x4); 关于结构的函数 P47 表2-6 (Ex2_13),2.4 字符串、结构和单元数据,2.4.2 结构和单元数据 单元数据 构建:利用大括号建立, 如: b=10,liu,1 2;3 4;12,wang,4 5;5 6; 14,cai,7 8;9 10 引用:利用大括号下标形式,如 b3,3 修改单元元素 增加: b3,4=34 56 删除:b(4)= 关于单元的函数 P48 表2-7 (Ex2_13),2.5 M
10、atlab稀疏矩阵及其操作,2.5.1 矩阵存储方式 完全存储方式 矩阵全部元素按列存储 稀疏存储方式 仅存储矩阵所有的非零元素的值及其位置,即行号和列号 稀疏存储方式也是按列存储的,2.5 Matlab稀疏矩阵及其操作,2.5.2 稀疏存储方式的产生 完全 稀疏 sparse函数:A= sparse(S) find函数: u,v,S=find(A) Full函数:full(A) 产生稀疏存储矩阵 spconvert函数:B= spconvert(A) 带状稀疏存储矩阵 spdiags函数:B= spconvert(A,d,m,n) 单位矩阵的稀疏存储 speye函数:B= speye(m,n),2.5 Matlab稀疏矩阵及其操作,2.5.3 稀疏矩阵应用举例 稀疏矩阵只是存储方式不同,可直接参与计算 如: A=0,0,3;0,5,0;0,0,9 B=sparse(A) B*B rand(3)*B P53 例题2-16,Thank You!,