matlab矩阵处理实验报告,Matlab实验报告(⼆)矩阵和数组 实验⽬的
1?掌握矩阵和数组的⼀般操作,包括创建、保存、修改和调⽤等。
学习矩阵和数组的加减运算与乘法。
3?掌握对数组中元素的寻访与赋值,会对数组进⾏⼀般的操作。 预备知识
1?常⽤的产⽣特殊矩阵的函数
eye(m, n)单位阵
rand ( m,n)随机矩阵
randn( m, n)正态分布的随机矩阵
zeros(m, n)零矩阵
On es(m, n)全部元素都为1的矩阵
ComPan(A)矩阵A的伴随矩阵
bankel(m,n) n 维 Hankel 矩阵
invhilb(n) n维逆 HiIbert 矩阵
magic(n) n 维 MagiC 矩阵
toeplitz(m, n) Toeplitz矩阵
Wilki nso n(n) n 维Wilk in son特征值测试矩阵
handamard(n) n 维 Handamard矩阵
固化闪电之源hilb(n) n 维 HiIbert 矩阵
kro n(A,B) Kron ecker 张量积
PaSCal(n) n 维 PaSCaI 矩阵
Vander(A)由矩阵 A 产⽣ Vandermonde 矩阵
通过矩阵的结构变换,获得新矩阵
表2矩阵结构变化产⽣新矩阵
L=tril(A)
L主对⾓线及以下兀素取矩阵A的兀素,其余为0
L=tril(A,k)
L及第k条对⾓线及以下兀素取矩阵 A的兀素,其余为
U=triu(A)
U主对⾓线及以上的兀素取矩阵A的兀素,其余为0
5
3
U=triu(A,k)
U第k条对⾓线及以上的兀素取矩阵A的兀素,其余为
B=rot90(A)
矩阵A逆时针旋转90°得到B
B=rot90(A,k)
矩阵A逆时针旋转k*90 °得到B
B=fliplr(A)
矩阵A左右翻转得到B
B=flipud(A)
矩阵A上下翻转得到B
中央空调控制
B=reshape(A,m,
n)
将矩阵A的兀素重新排列,得到m*n的新矩阵(m*n
就等于A的⾏列式之积。若 A为3*4 ,则m n可为2, 6
或4, 3等
数组(矩阵)操作
对数组或矩阵的基本操作有插⼊、重新排列、提取、按列拉长、置空(去掉某⾏或某列)
置零、⽤单信下标操作⼀个矩阵,⽤逻辑数组操作⼀个矩阵、按指定条件求⼦数组,求数组的 规模等,下⾯⼀⼀举例说明(对数组和矩阵不加区别)。
X=4:6 x=4 5 6
插⼊通过对X进⾏插⼊运算创建矩阵A
A=[x-3;x;x+3] A=1 2 3
5 6
7 8 9
重新排列以逆序重排A的各⾏形成矩阵B
B=A(3:-1:1,1:3)B=7 8 9
TOC \o "1-5" \h \z 5 6自动润滑
系统 2 3
提取提取A的前两⾏的后两列形成矩阵C
C=A(1:2,2:3)C=2 3
按列拉长对C按列拉长形成矩阵 D
D=C(:) D=2
6
6
⑤置空删除
⑤置空
删除 B 的第 2 列
B(:,2)=[] B=7 9
4 6
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=fin d(a)b=1 2 8 9
y=x(b) y=-4- 3 3 4
函数find也可⽤于矩阵。
A=[1:3;4:6;7:9] A=I 2 3
4 5 6
7 8 9
B=A>4B=O 0 0
0 1 1
1 1 1
TOC \o "1-5" \h \z [r,s]=fi nd(B)r=3s=1
2
2
3
3
爆闪灯管
三、实验内容与步骤
⽤三种⽅法创建⼀个 3× 3矩阵,然后利⽤矩阵编辑器,将其扩充为4× 5矩阵,并保存,试着调⽤它。
⑴直接输⼊法
TOC \o "1-5" \h \z ⼥⼝在命令区输⼊ A=[3,2,1;4,5,6;7,8,9]。
[33‰1Bj6;LeJffJ
A =
21
56
789
⑵ 直接利⽤MATLABl供的函数创建⼀个3× 3矩阵
如在命令区输⼊rand(3,3)即得到⼀个3× 3的随机矩阵。
>> rand (3, 3)
ans -
O. Sl?7O.Θ1340.2785
Oi 905E0. 63240.5469
0. 12700. 09750.9575
⑶利⽤MATLAB^供的“ MatriX Editor”完成输⼊
步骤1在命令区输⼊A=1。
步骤2⽤⿏标单击⼯具栏的⼯作区浏览器,MATLA眸出变量浏览器,选中变量A,⿏标左
键双击A,打开矩阵编辑器。
步骤3在左下脚的两个⽂本框中分别输⼊希望得到的矩阵的⾏数和列数:3⾏3列,即得
到⼀个3 × 3矩阵。
步骤4要将上⾯矩阵改为⼀个 4× 5矩阵,只需改变矩阵的⾏数和列数即可。如将3⾏3
列改为4⾏5列,即可得到⼀个 4×5矩阵。若想修改其中的元素,只需⽤⿏标选中表格中我们 想要修改的元素,将原来的元素修改为我需要的值。
步骤5要命令区输⼊SaVe data A(data为我们给变量⽂件起的名称,系统会⾃动沿设定好
的路径以“ .mat ”格式存储⽂件),即可保存上⾯例⼦中创建的矩阵AO
步骤6在命令区输⼊load data即可把保存在⽂件中的矩阵读到MATLA啲⼯作区的内存中
来。
灯头量规IDad data
A
FH 3χ3 double
1
2
3
1
1
2
3
A =
123
456
769
2
4
5
&
3
4
7
3
g
5