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:6x=456①插入通过对x进行插入运算创建矩阵AA=[x-3;x;x+3]A=123456789②重新排列以逆序重排A的各行形成矩阵BB=A(3:-1:1,1:3)B=789456123③提取提取A的前两行的后两列形成矩阵CC=A(1:2,2:3)C=2356④按列拉长对C按列拉长形成矩阵DD=C(:)D=2536⑤置空删除B的第2列B(:,2)=[]B=794613⑥置零将矩阵B的第2行第2列的元素置为1B[2,2]=0B=794013⑦用单个下标操作一个矩阵MATLAB对矩阵中的元素赋予一个序号,序号值按列从第1列第1行到第1列第2行到第2列第1行到第2列第2行,直至最后一列最后一行的顺序计数。B(3)ans=1B(5)ans=0B(2:4)ans=419⑧用逻辑数组操作一个矩阵x=-4:4x=-4–3–2–101234%判断数组中的元素的绝对值大于3的情况,绝对值大于3的元素置为1,否则为0。abs(x)3ans=100000001对矩阵可进行同样操作:A=[1,2,3;4,5,6;7,8,9]A=123456789abs(A)3ans=000111111⑨按指定条件求子数组首先由条件表达式生成一个逻辑数组,然后使用系统提供的函数即可,函数在已知数组中按逻辑数组的元素值查找所需的元素下标。a=abs(x)2a=110000011b=find(a)b=1289y=x(b)y=-4–334函数find也可用于矩阵。A=[1:3;4:6;7:9]A=123456789B=A4B=000011111[r,s]=find(B)r=3s=122322333三、实验内容与步骤1.用三种方法创建一个3×3矩阵,然后利用矩阵编辑器,将其扩充为4×5矩阵,并保存,试着调用它。⑴直接输入法如在命令区输入A=[3,2,1;4,5,6;7,8,9]。⑵直接利用MATLAB提供的函数创建一个3×3矩阵如在命令区输入rand(3,3)即得到一个3×3的随机矩阵。⑶利用MATLAB提供的“MatrixEditor”完成输入步骤1在命令区输入A=1。步骤2用鼠标单击工具栏的工作区浏览器,MATLAB弹出变量浏览器,选中变量A,鼠标左键双击A,打开矩阵编辑器。步骤3在左下脚的两个文本框中分别输入希望得到的矩阵的行数和列数:3行3列,即得到一个3×3矩阵。步骤4要将上面矩阵改为一个4×5矩阵,只需改变矩阵的行数和列数即可。如将3行3列改为4行5列,即可得到一个4×5矩阵。若想修改其中的元素,只需用鼠标选中表格中我们想要修改的元素,将原来的元素修改为我需要的值。步骤5要命令区输入savedataA(data为我们给变量文件起的名称,系统会自动沿设定好的路径以“.mat”格式存储文件),即可保存上面例子中创建的矩阵A。步骤6在命令区输入loaddata即可把保存在文件中的矩阵读到MATLAB的工作区的内存中来。建立一个等差数列,然后由它产生一个对角阵。步骤1在命令区输入a=linspace(0,1.5,5)产生一个等差数列。步骤2在命令区输入B=diag(a)产生一个对角阵。3.利用MATLAB的函数inv(A)求方阵A的逆矩阵。步骤1在命令区输入A=[1,2;5,6]得到一个2×2的方阵。步骤2再输入B=inv(A)求出A的逆矩阵。四、练习创建一个5×5矩阵,提取主对角线以上的部分。A=rand(3),B=magic(3),C=rand(3,4),计算A×B×C创建一个3×3矩阵,并求其转置,逆矩阵。用两种方法求Ax=b的解(A为4阶随机矩阵,b为4阶列向量)。创建一个4阶随机矩阵A,计算3A。五、实验分析矩阵和数组操作实验比较麻烦,容易搞混,尤其是它的各种运算六、实验总结矩阵和数组是比较相似,容易搞混的两个概念,特别是它的一些运算,但矩阵和数组操作是非常有用的在MATLAB中,它们可以直接解决一些简单的问题。

1 / 8
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功