资源描述:
《MATLAB02矩阵与数组》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第二章矩阵与数组MATLAB的运算事实上是以矩阵(matrix)及数组(array)方式在做运算,而这二者在MATLAB中的基本运算性质不同,矩阵采用线性代数的运算方式,而数组强调元素对元素的运算。矩阵和数组在MATLAB中的表达形式是同样的。当一个变量为矩阵或是数组时,如果是要个别键入元素,须用中括号[]将元素置于其中。MATLAB以矩阵为基本的运算单位,向量和标量作为特殊的矩阵处理:向量看作只有一行或一列的矩阵;标量看作是只有一个元素的矩阵。12.1矩阵1.矩阵的创建(1)用直接输入法创建矩阵当需要的矩阵维数比较小时,从键盘上直接输入一系列矩阵
2、元素是最直接、数值矩阵的创建方法。直接输入法需遵循以下基本规则:整个矩阵应以“[]”为首尾,即整个输入矩阶必须包含在方括号中;矩阵中,行与行之间必须用分号(;)或Enter键(按Enter键)符分隔;每行中的元素用逗号(,)或空格分隔;矩阵中的元素可以是数字或表达式,但表达式中不可包含未知的变量,MATLAB用表达式的值为该位置的矩阵元素赋值。当矩阵中没有任何元素时,该矩阵被称作“空阵”(EmptyMatrix)。2[例2-1]用直接输入法创建一个4×4的A矩阵。只要在MATLAB上作窗口中直接输入下列矩阵元素即可:A=[2345;3456;456
3、7;78910]%键盘输入内容,元素之间用空格分开A=[23453456456778910]%键盘输入内容,行与行之间用Enter键分隔3注意:一旦创建了矩阵,它将被自动存储在MATLAB工作空间。矩阵中的元素可以用它的行和列表示,如A(3,2)表示矩阵A的第三行第二列的元素。可以用对矩阵元素直接赋值的方法对矩阵进行修改。由于MATLAB的矩降定义在复数域上,因此矩阵元素可以是复数。通常用书写复数的方法输入复数元素,或者用一个矩阵表示复数矩阵的实部,用另一个矩阵表示复数矩阵的虚部,最后将两个矩阵相加,即可得到所需的复数矩阵。(2)由矩阵编辑器创建和
4、修改矩阵当需要建立的矩阵很大,不适合手工自接输入时,可以使用矩阵编辑器(MatrixEditor)来创建和修改。其操作步骤如下。①预先定义变量调用矩阵编辑器之前,需要预先定义一个变量,数值变量和矩阵变量均可。A=[5,6,7;8,9,10;2,3,4]%定义并创建一个矩阵变量4②打开工作空间窗口③打开矩阵编辑器选中变量A,双击或利用快捷菜单,启动矩阵编辑器(ArrayEditor)。链接④改变矩阵元素值用户可以通过鼠称选中上图左上方文本框中的矩阵元素,输入要改变的值即可。⑤改变矩阵的维数左上角的两个文本框分别表示矩阵的行和列,用户可以通过输入数值来
5、改变距的行和列。此项功能可以方便地创建和修改矩阵,既可以将原来的矩阵扩展为更大的矩阵,又可以将原来的矩阵裁剪为它的左上方的子矩阵。⑥确认所有元素符合要求后,关闭该对话框,这时,便创建了一个新矩阵。在工作窗口中重新键入矩阵名,可以发现原来的矩阵已经改变。5(3)由函数创建和修改矩阵MATLAB提供了大量的函数用于创建一些特殊的矩阵及其派生矩阵。①zeros生成全部元素为0的零距阵(ZerosArray)A=zeros(n)生成n×n零矩阵。A=zeros(m,n)或者A=zeros([m,n])生成m×n的零矩阵。A=zeros(m,n,p,…)或者
6、A=zeros([mnp…])生成m×n×p×…的零矩阵。B=zeros(size(A))生成和矩阵A大小相等的全零矩阵。②ones生成全部元素为1的距阵A=ones(n)生成n×n全1矩阵。A=ones(m,n)或者A=ones([m,n])生成m×n的全1矩阵。A=ones(m,n,p,…)或者A=ones([mnp…])生成m×n×p×…的全1矩阵。B=ones(size(A))生成和矩阵A大小相等的全1矩阵。③eye生成单位距阵A=eye(n)生成n×n单位矩阵。A=eye(m,n)或者A=eye([m,n])生成m×n的单位矩阵。B=ey
7、e(size(A))生成和矩阵A大小相等的单位矩阵。6④rand生成均匀分布的随机矩阵A=rand(n)生成n×n随机矩阵。A=rand(m,n)或者A=rand([m,n])生成m×n的随机矩阵。A=rand(m,n,p,…)或者A=rand([mnp…])生成m×n×p×…的随机矩阵。B=rand(size(A))生成和矩阵A大小相等的随机矩阵。A=rand不带任何参数将产生一个随机数。提示:rand函数产生一个矩阵元素在0和1之间均匀分布的随机数的随机矩阵。⑤diag生成一个对角阵或由对角线元素组成的向量A=diag(V)当V为n维向量时,产
8、生一个以向量V的元素为对角线的n维数组。A=diag(V)当V为n维矩阵时,产生一个以V矩阵的主对角线元素为元素的n维数组