Matlab实验报告(2)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本科实验报告
课程名称:《Matlab电子信息应用》
实验项目:矩阵和数组的操作
实验地点:多学科楼一层机房
实验时间:2013.04.23
专业班级:通信1101班学号:********** 学生姓名:
同组成员:
指导教师:
实验报告
一、实验环境
计算机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、通过矩阵的结构变换,获得新矩阵
对数组或矩阵的基本操作有插入、重新排列、提取、按列拉长、置空(去掉某行或某列)、置零、用单信下标操作一个矩阵,用逻辑数组操作一个矩阵、按指定
条件求子数组,求数组的规模等,下面一一举例说明(对数组和矩阵不加区别)。x=4:6 x = 4 5 6
①插入通过对x进行插入运算创建矩阵A
A=[x-3;x;x+3] A = 1 2 3
4 5 6
7 8 9
②重新排列以逆序重排A的各行形成矩阵B
B=A (3:-1:1,1:3) B = 7 8 9
4 5 6
1 2 3
③提取提取A的前两行的后两列形成矩阵C
C=A (1:2,2:3) C = 2 3
5 6
④按列拉长对C按列拉长形成矩阵D
D=C (:) D = 2
5
3
6
⑤置空删除B的第二列
B (:,2)=[] B = 7 9
4 6
1 3
⑥置零将矩阵B的第2行第2列的元素置为1
B (2,2)=0 B = 7 9
4 0
1 3
⑦用单个下标操作一个矩阵
MATLAB对矩阵中的元素赋予以个序号,序号值按列从第1列第1行到第1列第2行到第2列第1行到第2列第2行,直至最后一列最后一样的顺序计数。
B(3) ans =1
B(5) ans =0
B(2:4) ans =4 1 9
⑧用逻辑数组操作一个矩阵
x=-4:4
x= -4 -3 -2 -1 0 1 2 3 4
判断数组中的元素的绝对值大于3 的情况,绝对值大于3的元素置为1,否则为0
abs(x>3
ans = 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 9
abs 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 1 b=find(a) b = 1 2 8 9
y=x(b) y = -4 -3 3 4
函数find也可用于矩阵。
A= [1:3;4:6;7:9] A = 1 2 3
4 5 6
7 8 9
B=A>4 B = 0 0 0
0 1 1
1 1 1
[r,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列,即得到一个3×3矩阵。
步骤4 要将上面矩阵改为一个4×5矩阵,只需改变矩阵的行数和列数即可。如将3行3列改为4行5列,即可得到一个4×5矩阵。若想修改其中的元素,只需用鼠标选中表格中我们想要修改的元素,将原来的元素修改为我需要的值。
步骤5 要命令区输入save data A,即可保存上面例子中创建的矩阵A.
步骤6 在命令区输入load data 即可把保存在文件中的矩阵读到MATLAB 的工作区的内存中来。
2.建立一个等差数列,然后由它产生一个对角阵。
步骤1 在命令区输入a=linspace(0,1.5,5)产生一个等差数列