MATLAB矩阵及运算南京信息工程大学MATLABPPT课件_第1页
MATLAB矩阵及运算南京信息工程大学MATLABPPT课件_第2页
MATLAB矩阵及运算南京信息工程大学MATLABPPT课件_第3页
MATLAB矩阵及运算南京信息工程大学MATLABPPT课件_第4页
MATLAB矩阵及运算南京信息工程大学MATLABPPT课件_第5页
已阅读5页,还剩87页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 本章学习内容 变量和数据操作矩阵的建立 拆分及特殊矩阵算术运算 关系运算 逻辑运算矩阵分析字符串结构数据和单元数据稀疏矩阵 2 本章学习目标 掌握变量的使用和管理方法 了解数据类型掌握矩阵的建立和拆分 了解常用特殊矩阵掌握算术运算 关系运算 逻辑运算掌握常用的矩阵分析操作掌握matlab中字符串的使用方法了解结构数据和单元数据了解稀疏矩阵及用法 3 变量与赋值预定义变量内存变量的管理MATLAB常用数学函数数据的输出格式 1 变量和数据操作 nextpart go go go go go 4 变量与赋值 return 1 实例 2 MATLAB中的变量 3 赋值的两种格式 view view view 5 1 实例 return 例2 1表达式求值 P15 x 1 2i y 3 sqrt 17 z cos abs x y sin 78 pi 180 x abs y 6 2 MATLAB中的变量 return MABLAB中标识符 变量名 函数名 的命名规则 几点说明 a 字母 数字 下划线组成 以字母开头 b 区分大小写 a 变量包括 用户自定义变量和系统预定义变量 b MATLAB中变量直接使用 不需要预先说明 也不需要指定类型 系统根据其值和操作自动确定 c 系统提供的标准函数名及命令名必须使用小写字母 7 3 赋值的两种格式 return 变量 表达式 表达式 此时 系统使用预定义变量ans保存中间结果 8 预定义变量 return 表2 1常用的预定义变量 P15 使用注意事项见教材P15 9 内存变量的管理 return 1 通过workspace窗口查看 修改 导出 导入 2 常用命令 clear who whos save load 操作演示 10 MATLAB常用数学函数 详见P17 19 return 实例1 求余 实例2 取整 11 数据的输出格式 return 1 默认情况下 MATLAB用十进制数表示一个常数 具体可采用日常记数法和科学记数法两种表示方法 2 在一般情况下 MATLAB内部每一个数据元素都是用双精度数来表示和存储的 3 可以用format命令设置数据输出格式 format格式符 格式符详见教材P19 操作演示 12 矩阵的建立矩阵的拆分特殊矩阵 2 MATLAB矩阵 nextpart go go go 13 return 矩阵的建立 1 在命令窗口直接输入建立 2 利用冒号表达式建立向量 3 通过矩阵拼接建立更大的矩阵 example example example 1 在命令窗口直接输入建立 return a 1 2 3 4 5 6 a 123456 a 123 456 a 123456 a 1 2 3 4 5 6 a 123456 写法1 写法2 写法3 2 利用冒号表达式建立向量 return a 1 5 a 12345 a 1 2 10 a 13579 b 1 2 10 2 2 10 b3 通过矩阵拼接建立更大的矩阵 return a1 12 34 a1 1234 a a1 a1 a1 a1 a 1212343412123434 17 return 矩阵的拆分 1 矩阵元素的引用 2 利用冒号表达式获得子矩阵 3 利用空矩阵删除矩阵的元素 4 改变矩阵形状 example example example example a 1 3 4 6 a 123456 next 1 矩阵元素的引用 注 MATLAB中 矩阵元素按列存储 return a 1 3 4 6 a 123456 i j ind2sub size a 3 i 1j 2 x sub2ind size a 1 2 x 3 说明 函数ind2sub 和sub2ind 可实现矩阵元素索引和下标的转换 return 2 利用冒号表达式获得子矩阵 a 1212343412123434 c a 1 c 1313 d a 1 3 2 3 d 214321 b a 1 b 1212 return 3 利用空矩阵删除矩阵的元素 a 4 a 121343121343 a 1212343412123434 return 4 改变矩阵形状 a 1 4 a 1234 reshape a 2 2 ans 1324 注意 MATLAB中 矩阵元素按列存储 reshape 只改变逻辑结构 不改变存储结构 23 return 特殊矩阵 1 通用的特殊矩阵 2 用于专门学科的特殊矩阵 3 特殊矩阵的应用举例 view view view 1 通用的特殊矩阵 return zeros 生成零矩阵 元素全为0 ones 生成幺矩阵 元素全为1 eye 生成单位矩阵 主对角线全为1 rand 生成随机矩阵 元素在0 1间均匀分布 randn 生成随机矩阵 元素值呈标准正太分布 均值为0 方差为1 用法 实例演示 return rand ans 0 8029 rand 2 ans 0 91540 07380 67790 8543 rand 2 3 ans 0 71620 13910 77260 86440 60680 2315 A 135 rand size A ans 0 94500 68880 7435 2 用于专门学科的特殊矩阵 return magic 生成魔方矩阵 vander 生成范德蒙矩阵 hilb invhilb 生成希尔伯特矩阵及其逆矩阵 toeplitz 生成托普利兹矩阵 compan 生成伴随矩阵 pascal 生成帕斯卡矩阵 用法 实例演示 pascal 6 ans 111111123456136101521141020355615153570126162156126252 return return 3 特殊矩阵应用举例 教材P26 27 1 例2 4建立随机矩阵 在区间 20 50 内均匀分布的5阶随机矩阵 均值为0 6 方差为0 1的5阶正态分布随机矩阵 2 例2 5将101 125等25个数填入一个5行5列的表格中 使其每行每列及对角线的和均为565 3 补充实例 用matlab编程实现杨辉三角形 M 100 magic 5 view 111121133114641 111121133114641 return 30 3 MATLAB运算 算术运算关系运算逻辑运算关系运算与逻辑运算函数 nextpart go go go 应用实例1 go 应用实例2 31 算术运算 return 1 基本算术运算 2 点运算 example 注意 对运算分量的要求 如 矩阵的维数 奇异性 方阵与否 运算规则 如 点运算是矩阵的对应元素进行运算 x 123 456 x 123456 y 12 34 56 y 123456 z x yz 22284964 next a 123 426 749 a 123426749 b 432 751 12792 b 43275112792 c1 a bc1 0 5000 0 500044 50001 00000 000046 00000 50001 1667 44 8333 c2 b ac2 0 1667 3 33332 5000 0 8333 7 66675 500012 833363 6667 36 5000 4 3ans 0 7500 3 4ans 0 7500 next 对于矩阵 一般A B与B A结果不同 x 149 141 941 x 149141941 y x 0 5y 1 5560 1 4142i0 7950 0 0000i1 5560 1 4142i0 1988 0 0000i1 9194 0 0000i0 1988 0 0000i1 5560 1 4142i0 7950 0 0000i1 5560 1 4142i z x 0 5z 123121321 return 35 关系运算 return x 134 x 3ans 011 x 1ans 100 x 134 y 215 x yans 010 36 逻辑运算 return x 134 y 021 x yans 011 x yans 111 return 表2 4关系运算与逻辑运算函数 详见教材P34 return 随机生成10个学生的分数 统计及格总数 并输出及格的分数 score round rand 1 10 100 随机生成10个分数count sum score 60 统计及格总数passno find score 60 查找及格分数的下标pass score passno 输出及格分数 notselected 5 8 25 33 34 39 42 43 46 51 56 57 60 未选修学号fori 1 5no i unidrnd 65 whileany no i notselected no i unidrnd 65 endend return 从学号1 65中任意抽取5个 不能是未选修的学号 40 对角阵与三角阵矩阵的转置与旋转矩阵的逆与伪逆方阵的行列式矩阵的秩与迹向量和矩阵的范数矩阵的条件数矩阵的特征值与特征向量 4 矩阵分析 nextpart go go 41 对角阵与三角阵 return 1 对角阵 2 三角阵 view view 应用实例 杨辉三角形 42 1 对角阵 return 只有对角线上有非0元素的矩阵 对角线上全为1的对角阵称为单位矩阵 提取矩阵的对角线元素diag A k 构造对角矩阵diag V k example example return A magic 3 A 816357492 k0 diag A k0 852 k1 diag A 1 k1 17 k2 diag A 1 k2 39 return A diag 121 A 100020001 B diag 1 3 1 B 0000100002000030 45 2 三角阵 return 上三角矩阵 矩阵对角线以下的元素全为0 下三角矩阵 矩阵对角线以上的元素全为0 提取上三角矩阵triu A k 提取下三角矩阵tril A k example return A magic 3 A 816357492 B triu A B 816057002 B triu A 1 B 016007000 return 111121133114641 杨辉三角形 48 矩阵的转置与旋转 return 1 转置 2 以90 为单位逆时针旋转 3 左右翻转 4 上下翻转 example 应用实例 图片旋转 return Y4 flipud X Y4 492357816 X magic 3 X 816357492 Y1 X Y1 834159672 Y2 rot90 X 1 Y2 672159834 Y3 fliplr X Y3 618753294 return A imread 1 jpg figure 1 imshow A 在图形窗口中显示图像ApauseB rgb2gray A 把rgb图像转换成灰度图像figure 2 imshow B 在新图形窗口显示图像BpauseC rot90 B 把图像B逆时针旋转90 figure 3 imshow C 在新图形窗口显示图像C 图片旋转 51 matlab中字符串的表示字符串的操作 5 字符串 nextpart go go 52 matlab中字符串的表示 return 1 一维的情形 2 二维的情形 3 注意事项 view view view str1 Summerisgone str1 Summerisgone whosstr1NameSizeBytesClassstr11x1530chararrayGrandtotalis15elementsusing30bytes str2 Summerisgone Autumniscoming str2 Summerisgone Autumniscoming whosstr2NameSizeBytesClassstr21x3264chararrayGrandtotalis32elementsusing64bytes return 1 一维的情形 next str Summerisgone Autumniscoming str Summerisgone Autumniscoming whosstrNameSizeBytesClassstr2x1768chararrayGrandtotalis34elementsusing68bytes 注 采用此种写法时 要求各行字符数相等 2 二维的情形 str char Summerisgone Autumniscoming str SummerisgoneAutumniscoming whosstrNameSizeBytesClassstr2x1768chararrayGrandtotalis34elementsusing68bytes 通过char 函数可自动实现添加空格 使串长度相同 return 3 注意事项 return disp Oh myGod Oh myGod disp What swrongwithyou What swrongwithyou 57 字符串的操作 return 1 字符串元素的访问 2 字符串的基本变换 3 常用的字符串处理函数 go go go next 1 字符串元素的访问 str1 Summerisgone str1 Summerisgone str1 1 ans S str1 1 6 ans Summer return str char Summerisgone Autumniscoming str SummerisgoneAutumniscoming str 1 ans Summerisgone str 2 1 6 ans Autumn return 2 字符串的基本变换 str1 abcd str1 abcd str2 abs str1 str2 979899100 str3 char str2 str3 abcd str1 1234 str1 1234 str2 abs str1 str2 49505152 str3 char str2 str3 1234 将字符串转化为对应数值 将对应数值转化为字符串 return 3 常用的字符串处理函数 参见教材P45表2 5 example stuno1 strcat 201013450 59 stuno1 20101345059 stuno2 strcat 201013450 66 stuno2 20101345066 list strvcat stuno1 stuno2 list 2010134505920101345066 实例 字符串水平连接和垂直连接 next no 59no 59 nostr num2str no nostr 59 stuno1 strcat 201013450 nostr stuno1 20101345059 next str1 ilikelightmusic str1 ilikelightmusic strfind str1 i ans 14917 str2 strrep str1 i I str2 IlIkelIghtmusIc str3 strrep str1 i I str3 Ilikelightmusic 实例 字符串查找和替换 next return disp hi hi m disp hi m disp hi eval m hi 实例 把字符串当成matlab语句执行 66 6 结构数据和单元数据 结构数据单元数据 元胞数据 nextpart go go 67 1 结构数据的创建 结构变量的创建 结构变量构成的向量的创建 2 结构数据的基本操作 访问结构中的成员 在结构中添加 删除成员 获取 设置结构成员的信息 结构数据 return go go go go go next 结构变量的创建 方法一 直接指定结构的成员名称及值 student no 20101345090 student name 张宇轩 student sex 男 student grade 928890 studentstudent no 20101345090 name 张宇轩 sex 男 grade 928890 return 方法二 使用struct 函数 student2 struct no 20101345090 name 张宇轩 sex 男 grade 928890 student2 no 20101359090 name 张宇轩 sex 男 grade 928890 结构变量的创建 结构变量构成的向量的创建 next 方法一 直接指定结构的成员名称及值 student 1 no 20101345090 student 1 name 张宇轩 student 1 sex 男 student 1 grade 928890 student 2 no 20101345096 student 2 name 李静 student 2 sex 女 student 2 grade 908296 studentstudent 1x2structarraywithfields nonamesexgrade return 方法二 使用struct 函数 结构变量构成的向量的创建 STUDENT struct no 20101345090 20101345096 name 张宇轩 李静 sex 男 女 grade 928890 908296 return 访问结构中的成员 student 1 nameans 张宇轩 student 1 grade 2 ans 88 return 在结构中添加 删除成员 student 1 interests football student 1x2structarraywithfields nonamesexgradeinterests student rmfield student interests 获取 设置结构成员的信息 fields fieldnames student fields no name sex grade 获取结构中成员名称 next score getfield student 1 grade score 928890 获取结构中某成员的值 return 获取 设置结构成员的信息 setfield student 1 no 20101345091 ans no 20101345091 name 张宇轩 sex 男 grade 928890 设置结构中某成员的值 76 1 基本概念 单元矩阵 2 单元矩阵的建立 3 常用的处理函数 单元数据 元胞数据 return go go go 应用举例 1 基本概念 单元矩阵 return 一种特殊的矩阵 其元素是特定的单元 这些单元可以包含其它的MATLAB矩阵 2 单元矩阵的建立 直接建立 使用cell函数 go go return 直接建立 方法1 使用 直接建立单元矩阵 a 110 119 120 95599 a 3x3char 95599 cellplot a a 1 2 ans 95599 next 直接建立 方法2 使用 和下标直接指定每个单元内容 a 1 1 110 119 120 a 1 2 95599 a 2 1 a 2 2 cellplot a next a 1 1 110 119 120 a 1 2 95599 a 2 1 2 cellplot a 直接建立 方法3 使用 下标和 直接指定每个单元内容 return 使用cell函数 a cell 2 2 a a

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论