已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本科实验报告课程名称: Matlab电子信息应用 实验项目: 矩阵和数组的操作 实验地点: 多学科楼一层机房 实验时间: 2013.04.23 专业班级:通信1101班 学号:2011001366 学生姓名: 同组成员: 指导教师: 实验报告一、实验环境计算机 MATLAB软件二、实验目的1.掌握矩阵和数组的一般操作,包括创建、保存、修改和调用等。2.学习矩阵和数组的加减运算与乘法。3.掌握对数组中元素的寻访与赋值,会对数组进行一般的操作。三、预备知识1.常用的产生特殊矩阵的函数*eye(m,n) 单位阵*rand(m,n) 随机矩阵*randn(m,n) 正态分布的随机矩阵*zeros(m,n) 零矩阵*ones(m,n) 全部元素为1的矩阵*compan(A) 矩阵A的伴随矩阵*bankel(m,n) n维Hankel矩阵*invhilb(n) n维逆Hilbert矩阵*magic(n) n维Magic矩阵*toeplitz(m,n) Toeplitz矩阵*wilkinson*(n) n维Wilkinson特征值测试矩阵*handamard(n) n维Handamard矩阵*hilb(n) n维Hilbert矩阵*kron(A,B) Kronecker张量级*pascal(n) n维Pascal矩阵*vander(A) 由矩阵A产生Vandermonde矩阵2、通过矩阵的结构变换,获得新矩阵表2矩阵结构变化产生新矩阵L=tril(A)L主对角线及以下元素取矩阵A的元素,其余为0L=tril(A,k)L及第k条对角线及以下元素取矩阵A的元素,其余为0U=triu(A)U主对角线及以上的元素取矩阵A的元素,其余为0U= triu(A,k)U及第k条对角线及以上元素取矩阵A的元素,其余为0B=rot90(A)矩阵A逆时针旋转90得到BB=rot90(A,k)矩阵A逆时针旋转k*90得到BB=fliplr(A)矩阵A左右翻转得到BB=flipud(A)矩阵A上下翻转得到BB=reshape(A,m,n)将矩阵A的元素重新排列,得到m*n的新矩阵(m*n就等于A的行列式之积。若A为3*4,则m,n可为2,6或4,3等)3数组(矩阵)操作对数组或矩阵的基本操作有插入、重新排列、提取、按列拉长、置空(去掉某行或某列)、置零、用单信下标操作一个矩阵,用逻辑数组操作一个矩阵、按指定条件求子数组,求数组的规模等,下面一一举例说明(对数组和矩阵不加区别)。x=4:6 x = 4 5 6插入 通过对x进行插入运算创建矩阵AA=x-3;x;x+3 A = 1 2 3 4 5 6 7 8 9重新排列 以逆序重排A的各行形成矩阵BB=A (3:-1:1,1:3) B = 7 8 9 4 5 6 1 2 3提取 提取A的前两行的后两列形成矩阵CC=A (1:2,2:3) C = 2 3 5 6按列拉长 对C按列拉长形成矩阵DD=C (:) D = 2 5 3 6置空 删除B的第二列B (:,2)= B = 7 9 4 6 1 3 置零 将矩阵B的第2行第2列的元素置为1B (2,2)=0 B = 7 9 4 0 1 3 用单个下标操作一个矩阵MATLAB对矩阵中的元素赋予以个序号,序号值按列从第1列第1行到第1列第2行到第2列第1行到第2列第2行,直至最后一列最后一样的顺序计数。B(3) ans =1B(5) ans =0B(2:4) ans =4 1 9用逻辑数组操作一个矩阵x=-4:4x= -4 -3 -2 -1 0 1 2 3 4判断数组中的元素的绝对值大于3 的情况,绝对值大于3的元素置为1,否则为0abs(x3ans = 1 0 0 0 0 0 0 0 1对矩阵可进行同样操作:A=1,2,3;4,5,6;7,8,9 A =1 2 3 4 5 6 7 8 9abs A)3 ans = 0 0 0 1 1 1 1 1 1按指定条件求子数组首先由条件表达式生成一个逻辑数组,然后使用该系统提供的函数即可,函数在已知数组中按逻辑数组的元素值查找所需的元素下标。a=abs(x)2 a = 1 1 0 0 0 0 0 1 1b=find(a) b = 1 2 8 9y=x(b) y = -4 -3 3 4函数find也可用于矩阵。A= 1:3;4:6;7:9 A = 1 2 3 4 5 6 7 8 9B=A4 B = 0 0 0 0 1 1 1 1 1r,s=find(B) r =3 s = 1 2 2 3 2 2 3 3 3四、实验内容与步骤1. 用三种方法创建一个3x3矩阵,利用矩阵编辑器将其扩充为4x5的矩阵,并保存。1) 直接输入法 如在命令输入A=3,2,1;4,5,6;7,8,9。2) 直接利用MATLAB提供的函数创建一个3x3矩阵 如在命令区输入rand(3,3)即得到一个3x3的随机矩阵。3) 利用MATLAB提供的“Matrix Editor”完成输入。步骤1 在命令区输入A=1。 步骤2 用鼠标单击工具栏的工作区浏览器,MATLAB弹出变量浏览器,选中变量A,鼠标左键双击A,打开矩阵编辑器。步骤3 在左下脚的两个文本框中分别输入希望得到的矩阵的行数和列数:3行3列,即得到一个33矩阵。步骤4 要将上面矩阵改为一个45矩阵,只需改变矩阵的行数和列数即可。如将3行3列改为4行5列,即可得到一个45矩阵。若想修改其中的元素,只需用鼠标选中表格中我们想要修改的元素,将原来的元素修改为我需要的值。 步骤5 要命令区输入save data A,即可保存上面例子中创建的矩阵A. 步骤6 在命令区输入load data 即可把保存在文件中的矩阵读到MATLAB的工作区的内存中来。2. 建立一个等差数列,然后由它产生一个对角阵。 步骤1 在命令区输入a=linspace(0,1.5,5)产生一个等差数列 步骤2 在命令区输入B=diag(a)产生一个对角阵 a=linspace(0,1.5,5)a = 0 0.3750 0.7500 1.1250 1.5000 B=diag(a)B = 0 0 0 0 0 0 0.3750 0 0 0 0 0 0.7500 0 0 0 0 0 1.1250 0 0 0 0 0 1.50003. 利用MATLAB的函数inv(A)求方阵A的逆矩阵。步骤1 在命令区输入 A=1,2;5,6得到一个22的方阵 步骤2 再输入B=inv(A)求出A的逆矩阵。 A=1,2;5,6A = 1 2 5 6 B=inv(A)B = -1.5000 0.50001.2500 -0.2500五、实验练习题目、过程、结果及分析1.创建一个55矩阵,提取主对角线以上的部分。 A=rand(5)A = 0.8147 0.0975 0.1576 0.1419 0.6557 0.9058 0.2785 0.9706 0.4218 0.0357 0.1270 0.5469 0.9572 0.9157 0.8491 0.9134 0.9575 0.4854 0.7922 0.9340 0.6324 0.9649 0.8003 0.9595 0.6787 B=triu(A,1)B = 0 0.0975 0.1576 0.1419 0.6557 0 0 0.9706 0.4218 0.0357 0 0 0 0.9157 0.8491 0 0 0 0 0.9340 0 0 0 0 0先创建一个5阶随机矩阵,然后提取时不包括主对角线,需要键入triu(A,1)。2.A=rand(3),B=magic(3),C=rand(3,4),计算ABC。 A=rand(3),B=magic(3),C=rand(3,4),D=A*B*CA = 0.7577 0.6555 0.0318 0.7431 0.1712 0.2769 0.3922 0.7060 0.0462B = 8 1 6 3 5 7 4 9 2C = 0.0971 0.3171 0.4387 0.7952 0.8235 0.9502 0.3816 0.1869 0.6948 0.0344 0.7655 0.4898D = 10.7422 7.0095 12.2688 11.7981 8.4195 6.5009 9.6354 9.8232 9.2340 6.1018 9.6979 8.75543.创建一个33矩阵,并求其转置,逆矩阵。 A=rand(3)A = 0.4456 0.7547 0.6551 0.6463 0.2760 0.1626 0.7094 0.6797 0.1190 B=AB = 0.4456 0.6463 0.7094 0.7547 0.2760 0.6797 0.6551 0.1626 0.1190 C=inv(A)C = -0.5047 2.3095 -0.3775 0.2498 -2.6748 2.2801 1.5821 1.5105 -2.37004.用两种方法求Ax=b的解(A为4阶随机矩阵,b为4阶列向量)。 A=rand(4)A = 0.6979 0.5936 0.6449 0.2897 0.3784 0.4966 0.8180 0.3412 0.8600 0.8998 0.6602 0.5341 0.8537 0.8216 0.3420 0.7271 b=1;2;3;4b = 1 2 3 4(1) x=b/A? Error using = mrdivideMatrix dimensions must agree. x=Abx = -3.7828 4.0446 -0.62355.6652由于矩阵之间维数的关系,b/A不能得出结果,需要键入x=Ab得出结果。(2) B=inv(A)B = 5.5841 -1.5631 -4.4313 1.7633 -6.0656 -1.0402 9.2146 -3.8633 1.2126 1.6437 -1.7053 -0.0019 -0.2722 2.2375 -4.4079 3.6715 x=B*bx = -3.7828 4.0446 -0.62355.66525.创建一个4阶随机矩阵A,计算A的三次幂。 A=rand(4)A = 0.3093 0.7027 0.6213 0.8801 0.8385 0.5466 0.7948 0.1730 0.5681 0.4449 0.9568 0.9797 0.3704 0.6946 0.5226 0.2714 B=A3B = 3.1558 3.4377 4.4070 3.5635 3.1635 3.5662 4.4434 3.5408 3.7880 4.1643 5.2663 4.1574 2.4193 2.6992 3.4251 2.82206.求100-999之间能被21整除的数的个数。 x=100:999;y1=rem(x,21);y2=y1=0;y3=find(y2); y4=length(y3)y4 =43求x除以21的余数赋予y1,然后y2=y1=0(若y1=0,输出1),返回y2非0元素下表赋予y3,最后将y3的长度赋予y4,y4即为结果。7.设有矩阵A和BA = 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25B = 3 0 16 17 -6 9 0 23 -4 9 7 0 4 13 11(1).求它们的乘积C=AB。(2).将矩阵C的右下角32子矩阵赋给D。(1) A=1:5;6:10;11:15;16:20;21:25;B=3,0,16;17,-6,9;0,23,-4;9,7,0;4,13,11;C=A*BC = 93 150 77 258 335 237 423 520 397 588 705 557 753 890 717(2) D=C(3:5,2:3)D = 520 39
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 干热风灾害应对(课件)
- 机械制造安全操作规程(课件)
- 某铝业产品质量监控制度
- 2025-2026学年德州市高三第二次调研化学试卷(含答案解析)
- AI在设施农业生产技术中的应用
- 某石油开采公司勘探作业办法
- 乳制品加工设备检修规程
- 研究生英语试题及答案
- 潜水泵检修规程
- 工业管道安装工程监理合理化建议
- 挖掘机安全生产培训课件
- 公园应急预案范本(3篇)
- 2025年水利水电工程质量检测员继续教育系统基础考试试题及答案
- 石材护理合同范本
- 山东省肠道微生态诊疗技术规范
- 2026湖北水发集团校园招聘笔试考试参考试题及答案解析
- 有源医疗器械9706.1-2020风险管理报告
- 血管周细胞瘤病理课件
- 支气管哮喘护理查房L课件
- 反流性食管炎简易课件
- 中考英语复习专题主谓一致教案(2025-2026学年)
评论
0/150
提交评论