Matlab实验报告(2)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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)产生一个等差数列

相关文档
最新文档