matlab实验报告(二)矩阵和数组操作

  • 格式:doc
  • 大小:122.50 KB
  • 文档页数:8

下载文档原格式

  / 8
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、实验目的

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 矩阵结构变化产生新矩阵

3.数组(矩阵)操作

对数组或矩阵的基本操作有插入、重新排列、提取、按列拉长、置空(去掉某行或某列)、置零、用单信下标操作一个矩阵,用逻辑数组操作一个矩阵、按指定条件求子数组,求数组的规模等,下面一一举例说明(对数组和矩阵不加区别)。

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的第2 列

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.用三种方法创建一个3×3矩阵,然后利用矩阵编辑器,将其扩充为4×5矩阵,并保存,试着调用它。

⑴直接输入法

如在命令区输入A=[3,2,1;4,5,6;7,8,9]。

⑵直接利用MATLAB提供的函数创建一个3×3矩阵

如在命令区输入rand(3,3)即得到一个3×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(data为我们给变量文件起的名称,系统会自动沿设定好的路径以“.mat”格式存储文件),即可保存上面例子中创建的矩阵A。

步骤6 在命令区输入load data即可把保存在文件中的矩阵读到MATLAB的工作区的内存中来。

建立一个等差数列,然后由它产生一个对角阵。

步骤1 在命令区输入a=linspace(0,1.5,5)产生一个等差数列。