




已阅读5页,还剩92页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
MATLAB矩阵的基本操作 第八章Excel与Matlab在测绘工程中的应用 8 2 1表达式8 2 2矩阵基础8 2 3矩阵产生和操作8 2 4逻辑和关系运算8 2 5操作符和特殊字符 8 2 6基本矩阵和矩阵操作8 2 7基本数学函数8 2 8逻辑函数 8 2 1Matlab表达式 matlab表达式由变量 函数和操作符构成 一 变量 由字母 数字和下划线构成 最长31个字符 区分大小写字母 A a变量完全不同 特殊变量 matlab固定变量 可看作关键字 一般包括 1 ans 系统默认结果变量 2 eps 容许误差 在一些需要提供误差的函数时使用 3 pi 3 1416 4 Inf 正无穷大 当出现1 0时 5 NaN 不确定 当出现0 0时 8 2 1Matlab表达式 8 2 1Matlab表达式 二 数值 常数及常数矩阵如 5 39 0 025 7 8e153 0i 5 1 7 8i 780 3 2e2j 100 1 2i2 3i0101 2i4i 001 等等 8 2 1Matlab表达式 三 操作符 包括算术 逻辑 关系 位操作符等等算术操作符 加减乘除幂指对注意 矩阵点乘 点除和不带点的乘除法的区别 逻辑运算 与 或 非 异或xor比如相关运算时就常用到异或逻辑 注意 逻辑运算时 任何非零值均判为 1 关系操作符 大于 小于 不大于 小于等于 不小于 大于等于 等于 不等于 注意 关系运算的结果是0 1构成的矩阵 关系成立结果为1 不成立为0 等等位操作符 按位与 或等 8 2 1Matlab表达式 8 2 1Matlab表达式 四 函数 matlab函数包括 1 matlab内部函数 2 各种工具箱中m文件提供的大量实用函数 3 用户自己增加的函数 注意 函数的特殊用法 1 函数的嵌套x sqrt log z 8 2 1Matlab表达式 2 多输入函数theta atah2 y x 3 多输出函数 v d eig a y I max x 注意 有关函数的具体用法 可通过Help命令得到 如 helpeig MATLAB软件中部分常用函数表 8 2 1Matlab表达式 五 表达式将变量 数值 函数用操作符连接起来 就构成了表达式 如 a 1 sqrt 10 2b abs 3 5i c sin exp 2 3 注意 的作用带 则不显示表达式结果 不带则显示表达式结果 规则 矩阵元素必须用 括住 矩阵元素必须用逗号或空格分隔 在 内矩阵的行与行之间必须用分号分隔或按Enter键分割 8 2 2矩阵基础 矩阵元素可以是数字或任何matlab表达式 表达式不可包含未知的变量 可以是实数 也可以是复数 复数可用特殊函数i j输入 例 1 a 123 456 2 b 2pi 2 sqrt 3 3 5i 3 x 9 y pi 6 定义x y变量A 35sin y cos y x 27x 251 产生矩阵A说明 为Matlab注释的开始标志 后面的文字不进行计算 矩阵元素 矩阵的修改 直接修改可用 键找到所要修改的矩阵 用 键移动到要修改的矩阵元素上即可修改 指令修改可以用A 来修改 例如 a 120 305 789 a 120305789 a 3 3 0a 120305780 用matlab函数创建和修改矩阵 Matlab提供了大量的函数来创建一些常用的特殊矩阵 例如对角阵 单位阵和零矩阵 例 0 1分布的随机矩阵 利用rand函数产生任意行列的随机矩阵 a rand 5 5 例利用diag产生对角阵diag M M为矩阵或向量 对于矩阵 取对角元产生一个列向量 对于向量则产生一个对角阵 a rand 5 5 a 0 70270 79480 97970 13650 66140 54660 95680 27140 01180 28440 44490 52260 25230 89390 46920 69460 88010 87570 19910 06480 62130 17300 73730 29870 9883 D diag d 向量产生矩阵D 0 7027000000 9568000000 2523000000 1991000000 9883 d diag a 矩阵产生列向量d 0 70270 95680 25230 19910 9883 Matlab中用于产生特殊矩阵的函数 zeros m n m n的零矩阵 全部元素都为0ones m n 全部元素都为1的m n的矩阵rand m n 随机矩阵eye m n 单位矩阵magic n n维magic方阵空阵 matlab允许输入空阵 当一项操作无结果时 返回空阵 还有伴随矩阵 稀疏矩阵 范德蒙等矩阵的创建等等注意 matlab严格区分大小写字母 因此a与A是两个不同的变量 matlab函数名必须小写 2 矩阵标识和子矩阵 子阵的序号向量标识方式a m n m n大于等于1小于矩阵的维数 a L1 a L2 a L1 L2 B magic 5 B 17241815235714164613202210121921311182529 B1 B 1 2 1 3 5 B1 1711523716 B 1 3 2 4 zeros 2 B 170101523571416401302210121921311182529 B2 B 1 3 B2 1724181546132022 3 矩阵的运算 3 1 矩阵加 减 运算规则 相加 减的两矩阵必须有相同的行和列两矩阵对应元素相加减 允许参与运算的两矩阵之一是标量 标量与矩阵的所有元素分别进行加减操作 矩阵乘 运算规则 A矩阵的列数必须等于B矩阵的行数 例 a 123 456 780 b 1 2 3 c a bc 143223标量可与任何矩阵相乘 例 d 1 0 2 f pi df 3 141606 2832 在matlab中矩阵除的运算有两种矩阵除运算 MATLAB用 代表右除 常用除法 和 左除运算 这两种运算的差别如下 例如 2 5表示0 4 2 5表示2 5 对于矩阵 A B表示AB 1 即A inv B B A表示B 1A 即inv B A 矩阵除法可以看作矩阵乘法的逆运算 3 3 矩阵除运算 8 2 2矩阵基础 MATLAB矩阵输入 1 输入元素列表例如 a 123 456 789 又如 b 1 3 4 6 7 9 c 1 6 0 5 注意 关于 的使用相当灵活 大家可随着学习的不断深入对 的使用逐步加深灵活 8 2 2矩阵基础 2 从外部数据文件读取loadscore dat 3 利用matlab内部函数产生矩阵例如 b eye 3 单位阵c ones 2 5 全一阵d zeros 3 2 全零阵e rand 2 3 随机阵 4 用户编写m文件产生矩阵如 score2 m则在命令行直接键入score2就可产生score2矩阵 Matlab中用于产生特殊矩阵的函数 zeros m n m n的零矩阵 全部元素都为0ones m n 全部元素都为1的m n的矩阵rand m n 随机矩阵eye m n 单位矩阵magic n n维magic方阵空阵 matlab允许输入空阵 当一项操作无结果时 返回空阵 8 2 2矩阵基础 二 矩阵转置b a 可应用于行向量转成列向量矩阵元素求和例 sum a 按矩阵列求和 sum a 按矩阵行求和 sum sum a 求矩阵总和 8 2 2矩阵基础 四 矩阵下标 1 相当重要 灵活 等同于c语言的指针地位例 b a 1 2 a 2 3 b a 8 a 4 注意 matlab是按列存取的 8 2 2矩阵基础 2 利用下标修改矩阵元素 更是方便例 a 2 3 15 a 2 1 3 51015 这时a的第二行变成51015 其他行不变也可利用end表示最后一个元素a 2 1 end 表示矩阵的第二列 8 2 2矩阵基础 3 访问超出矩阵范围时 产生Indexexceedsmatrixdimentions存储超出矩阵范围时 矩阵自动调节大小 指定位置元素置入 其他没指定数的位置默认为零 注意 随时调整矩阵大小是以付出执行时间为代价的 8 2 2矩阵基础 五 矩阵连接例 a 12 34 b aa 5 a 5zeros size a 将小矩阵嵌套入大矩阵 作为矩阵分割 实现矩阵连接 8 2 2矩阵基础 六 矩阵行列删除利用空矩阵可从矩阵中删除指定的行或列 如 要删除第二行b 2 要删除第二列b 2 注意 将矩阵某元素附空值与赋零值完全不同b 1 2 出错 b 1 2 0可以 8 2 3矩阵产生和操作 一 矩阵产生矩阵可通过输入每个元素来直接产生也可以通过读取由其他软件产生的数据生 除此之外 还可以由标准M函数产生矩阵 例如 要产生5 5的单位阵 可输入A eye 5 8 2 3矩阵产生和操作 要产生15 2的全零阵和全1阵 可输入c1 zeros 15 2 产生全零阵c2 ones 15 2 产生全一阵这样很容易产生元素等值的矩阵 c3 8 ones 8 9 8 2 3矩阵产生和操作 MATLAB提供的rand和randn可分别产生均匀分布和正态分布的随机数 例如要产生 0 1 之间均匀分布的随机向量R 100 1 可输入R rand 100 1 如果要产生 a a a为正数 之间均匀分布的随机数则应输入R1 a 2 a rand 100 1 利用diag函数可产生对角矩阵 8 2 3矩阵产生和操作 二 矩阵操作矩阵产生后可以通过一些变换函数变换 如rot90 tril triu fliplr等例如 A fix 10 rand 2 4 A 96842470B1 tril A 1 B2 triu A 1 inv 矩阵求逆size 矩阵的大小 行列数 det 行列式的值eig 矩阵的特征值rank 矩阵的秩 矩阵转置sqrt 矩阵开方svd 矩阵的奇异值分解 矩阵的其它运算 8 2 3矩阵产生和操作 B1 96002470B2 06840070利用reshape函数可将矩阵元素重新排列例如对上述产生的A 可输入 D reshape A 4 2 D 98276440 8 2 3矩阵产生和操作 注意 矩阵元素按列存储 因此重新排列时其元素按列顺序选取 另外 利用repmat函数可将小矩阵产生大矩阵 利用cat函数可将矩阵连接起来 8 2 4逻辑和关系运算 一 逻辑操作符MATLAB提供了三个逻辑操作符 同时又存在三个相应的M文件 逻辑运算符 与 and 或 or 非 not 在逻辑操作中 所有输入元素的非零值都当作1处理 例如 x 23 5 00 001 xans 0010 a 2345678 t a 4 不大于4的元素t 1110000 t a 2 a 6 找出2 a 6的元素t 0111000 MATLAB关系与逻辑函数 测试函数 部分常用逻辑函数和测试函数 all函数 当某列的元素都为真时 返回值为1 否则返回0 最终运算结果为一个0 1行向量 any函数 当向量中至少有一个元素为真时 返回值为1 否则返回0 最终运算结果为一个0 1行向量 find函数 用于查找向量中的真元素的下标 返回由所有真元素下标构成的列向量 例 X 104 300086 indices find X 非零元素的下标indices 13489find X 2 ans 389 8 2 4逻辑和关系运算 二 关系操作符MATLAB提供了六种关系操作符 这些操作符与逻辑运算配合使用 可使程序设计更加灵活 例如 ifand a 1 b 5 end则当a 1且b 5时执行指定的语句 8 2 4逻辑和关系运算 三 MATLAB还提供了许多测试用的逻辑函数 1 all函数测定矩阵中是否全为非零元素例如 a 12 04 b all a b 01c all all a c 0 8 2 4逻辑和关系运算 2 any函数测试出矩阵中是否有非零值a 120 400 050 any a ans 110这说明矩阵a中第1 2列包含有非零值 而第3列不包含非零值 关系运算 运算法则两个变量是标量a和b时 则如果关系成立 结果为1 否则为0 两个维数相同的数组A和B时 比较相同位置的元素 按标量运算规则逐个进行 维数相同的数组A和标量b时 把标量b与数组中的每一个元素逐个比较 优先级 高到低为算术运算 关系运算 逻辑运算 8 2 4逻辑和关系运算 3 find函数可找出矩阵中的非零元素及其下标a zeros 5 20 a 3 7 0 5 a 4 15 0 4 i j v find a i 34j 715v 0 5000 0 4000 关系运算符 a 2345678 b 6543210 t a 4t 0001111 t1 a b t1 0010000说明 和 的不同 比较两个变量 相等时返回1 否则 返回0 示将结果赋给一个变量 8 2 5操作符和特殊字符 8 2 5操作符和特殊字符 1 算术运算符功能 矩阵和阵列的算术运算 格式 A BA BA BA BA BA BA BA BA BA BA A 以上这些矩阵或阵列的算术运算是MATLAB的基本运算 他们还具有相应的M文件 从而在适当场合可直接调用这些命令来完成 对应的关系见P45表2 2 8 2 5操作符和特殊字符 2 kron功能 kronecker张量积 格式 k kron X Y k kron X Y 可得到X和Y的kronecker张量积 其结果是由X和Y所有元素可能的积形成的大型阵列 如果X为m n Y为p q则kron X Y 为m p n q 8 2 5操作符和特殊字符 3 冒号 功能 建立向量 阵列的下标或用于迭代 冒号使用有两种格式 详见P45表2 3和P46表2 4 8 2 5操作符和特殊字符 4 特殊字符功能 特殊字符 格式 应该注意有些特殊字符的使用具有等效的M文件函数 如水平串连 A B C 等效于horzcat A B C 8 2 5操作符和特殊字符 5 关系操作符功能 关系操作运算 格式 A BA BA BA BA BA B关系操作符的优先级介于逻辑操作符和算术操作符之间 8 2 5操作符和特殊字符 6 逻辑操作符功能 逻辑操作运算 格式 A BA B A注意逻辑操作有相应的M文件 A B等效于and A B A B等效于or A B A等效为not A 8 2 5操作符和特殊字符 7 xor功能 异或操作 格式 C xor A B C xor A B 完成阵列A和B对应元素的异或操作 如 A 00pieps B 0 241 2 C xor A B C 0101 8 2 7基本数学函数 一 三角函数sin sinh正弦和双曲正弦asin asinh反正弦和反双曲正弦cos cosh余弦和双曲余弦 8 2 7基本数学函数 acos acosh反余弦和反双曲余弦tan tanh正切和双曲正切atan atanh反正切和反双曲正切 8 2 7基本数学函数 atan2四象限反正切cot coth余切和双曲余切acot acoth反余切和反双曲余切sec sech正割和双曲正割 8 2 7基本数学函数 asec asech反正割和反双曲正割csc csch余割和双曲余割acsc acsch反余割和反双曲余割注意 三角函数都是面向阵列中的元素操作的 其角度的单位是弧度 8 2 7基本数学函数 二 指数和对数函数1 exp指数函数exp函数是面向阵列元素的操作 例如 X 12 Y exp x 8 2 7基本数学函数 2 Log自然对数例如 X 21 1 2 Y log X 3 log10常用对数格式 Y log10 X 8 2 7基本数学函数 4 log2以2为底的对数和将浮点数分解成指数和尾数部分 F E log2 X 可将X表示成二进制形式 F为小数部分 E为2的整数次幂 即X i F i 2 E i 例如X 34 12657 32 56 450 00345 F E log2 X 8 2 7基本数学函数 5 pow22的幂和组合成浮点数pow2函数是log2的逆函数 例如 X pow2 F E 8 2 7基本数学函数 6 nextpow22的下一个整数幂 p nextpow2 A 可得到大于或等于abs A 的最小2次幂 例如 p nextpow2 56 7 sqrt平方根B sqrt A 可求出阵列A中每个元素的平方根 8 2 7基本数学函数 三 复数函数abs绝对值和复数模angle相角 P angle Z 可得复数Z的相角 利用Z R exp i theta 可恢复复数Z conj复共轭 求复数的复共轭 8 2 7基本数学函数 imag复数虚部 求复数的虚部 real复数实部 求复数实部 cplxpair将复数排列成共轭对 B cplxpair A 可对A中各位上的复数排序 B cplxpair A tol 采用了指定的容限rol B cplxpair A dim 表示沿着由标量dim指定维进行排序 B cplxpair A tol dim 表示采用指定的容限tol 8 2 7基本数学函数 四 取整和求余函数1 fix朝零方向取整 根据接近于0的原则对A中的元素取整 例如 b1 fix 0 99 b2 fix 1 01 8 2 7基本数学函数 2 floor朝负无穷大方向取整 根据接近于负无穷大的原则 对A中的元素取整 例如 b3 floor 0 5 b4 floor 0 5 8 2 7基本数学函数 3 ceil朝正无穷大方向取整 根据接近于正无穷大的原则 对A中的元素取整 例如 b5 ceil 0 5 b6 ceil 0 6 8 2 7基本数学函数 4 round朝最近整数取整 四舍五入 根据四舍五入的原则对A中的元素取整 例如 b7 round 0 5 b8 round 0 4 8 2 7基本数学函数 5 mod模数 即有符号数的除后余数 例如 M mod 16 3 6 rem除后余数 例如 rem 11 4 7 sign符号函数 Y sign X 可得到X的符号阵列 8 2 8逻辑函数 8 2 8逻辑函数 一 all测试矩阵所有元素是否为非零 B all A 用于测试矩阵A的所有元素是否非零或是否为逻辑真 1 B all A dim 可测试沿着指定维dim上的逻辑条件 例如 A 0 530 470 810 3 0 12 0 91 8 2 8逻辑函数 B A 0 5B 101001ifall A 0 5 dosomething1elsedosomething2end 8 2 8逻辑函数 二 anyB any A 可测试沿着阵列的各个维中的任意元素是否有非零值或逻辑真 1 B any A dim 可测试指定维dim的逻辑条件 例如 A 0 530 470 810 3 0 12 0 91 8 2 8逻辑函数 ifany a 0 5 dosomething1elsedosomething2end 8 2 8逻辑函数 三 findk find X 可在阵列X中找出非零元素下标 i j find X 可在矩阵X中找出非零元素的行列下标 i j v find X 可得到非零值的列向量v 8 2 8逻辑函数 四 exista exist item 可得到变量或文件item的状态 ident exist item kind 当在item中找到了指定的kind 则得到逻辑真 1 否则得到逻辑假
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 德州历史期末考试题目及答案
- 可用性测试方法创新-洞察及研究
- 2025年公需科目考试试卷考试参考答案
- 2025秋季开学典礼小学校长致辞:让“加减乘除”伴我们快乐成长
- 2025年高级会计师考试题目+参考答案
- 新疆政史考试题库及答案
- 人行金库账户管理办法
- 《警衔管理办法》违法
- 营业外收入管理办法
- 课程成绩管理办法江西
- 无人机测绘中职教学计划
- 2025至2030中国水电工程监理行业发展趋势分析与未来投资战略咨询研究报告
- 小学生队形队列班会课件
- 2025至2030中国婚介服务行业产业运行态势及投资规划深度研究报告
- 绿色系古风类中国传统文化漆扇介绍模板
- 协会工资薪酬管理制度
- 办公烟酒领用管理制度
- 淀粉大型设备管理制度
- 职业技术学院运动健康指导专业人才培养方案
- 离婚后小孩学费协议书
- 初中学校学科竞赛策划工作计划
评论
0/150
提交评论