第1章 矩阵及其基本运算 MATLAB6.0数学手册
- 格式:doc
- 大小:2.96 MB
- 文档页数:61
MATLAB矩阵操作教程第一章:MATLAB中的矩阵介绍1.1 什么是矩阵矩阵是由数个行和列组成的矩形数组,可以用于表示数据和进行数值计算。
1.2 创建矩阵在MATLAB中,可以使用矩阵生成算符进行矩阵的创建,如使用方括号,分号和逗号分隔元素。
1.3 矩阵索引MATLAB中的矩阵索引从1开始,可以使用括号和索引访问矩阵中的元素。
1.4 矩阵运算MATLAB提供了丰富的矩阵运算函数,如加法、减法、乘法、除法等,可用于执行矩阵操作。
第二章:MATLAB矩阵的基本操作2.1 矩阵转置可以使用单引号将矩阵转置,即将矩阵的行变为列,列变为行。
使用方括号和逗号将矩阵进行水平或垂直合并。
2.3 矩阵切片可以使用冒号运算符和索引,对矩阵进行切片操作,提取出所需的子矩阵。
2.4 矩阵重塑使用reshape函数可以改变矩阵的形状,重新组织矩阵元素的排列顺序。
2.5 矩阵求逆使用inv函数求矩阵的逆矩阵,如果矩阵不可逆,则会报错。
第三章:MATLAB矩阵的高级操作3.1 特征值与特征向量使用eig函数可以计算矩阵的特征值和特征向量,以进行其他相关计算。
3.2 矩阵分解MATLAB中提供了多种矩阵分解函数,如LU分解、QR 分解、奇异值分解等,可用于求解线性方程组、矩阵逆等问题。
使用左除运算符(\)和右除运算符(/)可以求解形如AX=B的线性方程组。
3.4 矩阵迭代可以使用循环结构和条件判断,在MATLAB中实现矩阵的迭代计算。
第四章:MATLAB中的矩阵应用4.1 数据处理与分析使用MATLAB可以进行各种数据处理和分析,如平均值计算、数据拟合、统计分析等。
4.2 信号处理利用MATLAB中的矩阵操作函数,可以进行信号滤波、频谱分析、波形生成等信号处理操作。
4.3 图像处理MATLAB中的矩阵操作函数可用于图像的载入、处理、显示和保存,如图像滤波、边缘检测、图像分割等。
4.4 机器学习利用MATLAB中的矩阵操作与机器学习算法相结合,可以进行分类、回归、聚类等机器学习任务。
第1章 MATLAB入门MATLAB是一种用于数值计算、可视化及编程的高级语言和交互式环境。
使用MATLAB,用户可以分析数据、开发算法、创建模型和应用程序。
MATLAB借助编程、工具和内置数学函数,可以探求多种方法,比电子表格或其他传统编程语言更快地求取结果。
它是一种功能强大的科学计算软件。
在使用之前,读者应该对它有一个整体的了解。
本章主要介绍MA TLAB的基本知识,如主要特点、系统安装、基本操作等。
学习目标:1.理解MATLAB的特点。
2.熟悉MATLAB各种平台的窗口。
3.熟练掌握MATLAB的各种基本操作。
4.熟悉MATLAB中M文件的操作。
1.1 MATLAB概述MATLAB是由美国MathWorks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。
它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案。
1.1.1 什么是MATLABMATLAB提供了一个高性能的数值计算和图形显示的科学和工程计算软件环境。
这种易于使用的MATLAB环境,是由数值分析、矩阵运算、信号处理和图形绘制等组成。
在这种环境下,问题和解答的表达形式(程序)几乎和它们的数学表达式完全一样,而不像传统的编程那样繁杂。
MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C、FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使其成为一个强大的数学软件。
MATLAB在新的版本中也加入了对C、FORTRAN、C++、Java的支持。
用户可以直接调用它们,也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用。
此外,许多的MATLAB爱好者还编写了一些经典的程序,用户可以直接进行下载使用。
matlab程序设计矩阵及其运算1. 矩阵的定义和表示在matlab中,矩阵是一种常用的数据结构,用于存储和处理多维数据。
矩阵由行和列组成,每个元素都有一个唯一的位置。
在matlab中,可以通过方括号[ ]来定义和表示矩阵。
以下是一些常见的矩阵定义:一维行向量:matlabA = [1 2 3 4 5];一维列向量:matlabB = [1; 2; 3; 4; 5];二维矩阵:matlabC = [1 2 3; 4 5 6; 7 8 9];可以使用size()函数获取矩阵的维度信息,例如:matlab[m, n] = size(C); % m为行数,n为列数2. 矩阵的运算matlab中的矩阵可以进行各种运算,包括基本的加减乘除运算、转置运算、矩阵乘法运算等。
2.1 加法和减法矩阵的加法和减法可以使用+和-运算符进行,例如:matlabA = [1 2 3; 4 5 6; 7 8 9];B = [9 8 7; 6 5 4; 3 2 1];C = A + B; % 矩阵的加法D = A B; % 矩阵的减法2.2 矩阵乘法矩阵乘法在matlab中使用运算符进行,例如:matlabA = [1 2 3; 4 5 6; 7 8 9];B = [9 8 7; 6 5 4; 3 2 1];C = A B; % 矩阵的乘法2.3 转置运算矩阵的转置表示将矩阵的行和列互换,使用'运算符进行,例如:matlabA = [1 2 3; 4 5 6; 7 8 9];B = A'; % A的转置矩阵2.4 矩阵的逆运算矩阵的逆运算是指对于一个可逆矩阵A,存在一个矩阵B,使得A B = B A = I,其中I为单位矩阵。
在matlab中,可以使用inv()函数来求一个矩阵的逆矩阵,例如:matlabA = [1 2; 3 4];B = inv(A); % A的逆矩阵需要注意的是,不是所有的矩阵都有逆矩阵,对于不可逆的矩阵,inv()函数会报错。
第1章矩阵及其基本运算MATLAB,即“矩阵实验室”,它是以矩阵为基本运算单元。
因此,本书从最基本的运算单元出发,介绍MATLAB的命令及其用法。
1.1 矩阵的表示1.1.1 数值矩阵的生成1.实数值矩阵输入MATLAB的强大功能之一体现在能直接处理向量或矩阵。
当然首要任务是输入待处理的向量或矩阵。
不管是任何矩阵(向量),我们可以直接按行方式输入每个元素:同一行中的元素用逗号(,)或者用空格符来分隔,且空格个数不限;不同的行用分号(;)分隔。
所有元素处于一方括号([ ])内;当矩阵是多维(三维以上),且方括号内的元素是维数较低的矩阵时,会有多重的方括号。
如:>> Time = [11 12 1 2 3 4 5 6 7 8 9 10]Time =11 12 1 2 3 4 5 6 7 8 9 10>> X_Data = [2.32 3.43;4.37 5.98]X_Data =2.433.434.375.98>> vect_a = [1 2 3 4 5]vect_a =1 2 3 4 5>> Matrix_B = [1 2 3;>> 2 3 4;3 4 5]Matrix_B = 1 2 32 3 43 4 5>> Null_M = [ ] %生成一个空矩阵2.复数矩阵输入复数矩阵有两种生成方式:第一种方式例1-1>> a=2.7;b=13/25;>> C=[1,2*a+i*b,b*sqrt(a); sin(pi/4),a+5*b,3.5+1]C=1.0000 5.4000 + 0.5200i 0.85440.7071 5.3000 4.5000第2种方式例1-2>> R=[1 2 3;4 5 6], M=[11 12 13;14 15 16]R =1 2 34 5 6M =11 12 1314 15 16>> CN=R+i*MCN =1.0000 +11.0000i2.0000 +12.0000i3.0000 +13.0000i4.0000 +14.0000i5.0000 +15.0000i6.0000 +16.0000i1.1.2 符号矩阵的生成在MATLAB中输入符号向量或者矩阵的方法和输入数值类型的向量或者矩阵在形式上很相像,只不过要用到符号矩阵定义函数sym,或者是用到符号定义函数syms,先定义一些必要的符号变量,再像定义普通矩阵一样输入符号矩阵。
Matlab工程数学Matlab是“Matrix Laboratory”的缩写,意为“矩阵实验室”,是当今很流行的科学计算软件。
它的主要功能是给人们提供一个方便的数值计算平台。
Matlab的基本运算单元是不需指定维数的矩阵,系统提供了大量的矩阵及其它运算函数,可以方便的进行一些很复杂的计算,而且运算效率极高。
Matlab的命令和数学中的符号、公式非常接近,可读性强,容易掌握,还可利用它所提供的编程语言进行编程,完成特定的工作。
除基本部分外,Matlab还根据各专门领域中的特殊需要提供了许多可选的工具箱,在很多时候能够给予我们极大的帮助。
以下简单介绍一下Matlab软件的基本使用方法,并结合本讲义内容介绍如何使用Matlab软件解决一些常见的数值问题。
第1章使用方法入门1.1 操作方法1.1.1 启动和退出从Windows中双击Matlab图标,会出现Matlab命令窗口(Command Window),在一段提示信息后,出现系统提示符“>>”,这时你就可以输入命令了。
Matlab是一个交互式的系统,输入命令后,系统会马上解释和执行你输入的命令并输出结果。
如果命令有语法错误,系统会给出提示信息。
在当前提示符下,你可以通过上下箭头调出以前输入的命令。
用滚动条可以查看以前的命令及其输入信息。
退出Matlab和退出其它Windows程序一样,可以选择File菜单中的Exit Matlab菜单项,也可以使用Alt-F4热键。
还可以执行Matlab的Exit命令退出。
1.1.2. 变量和表达式Matlab命令的通常形式为:变量= 表达式表达式由操作符或其它特殊字符,函数和变量名组成。
Matlab执行表达式并将执行结果显示于命令后,同时存在变量中以留用。
如果变量名和“=”省略,即不指定返回变量,则名为ans的变量将自动建立。
例如:键入命令:A = [ 1.2 3.4 5.6 sin(2) ]系统将产生4维向量A,输出结果为:A =1.2000 3.4000 5.6000 0.9093键入1900/81结果为:ans =23.4568Matlab保留本次运行中建立的所有变量的信息。
第一讲Matlab 基本数值计算一、矩阵在Matlab中,一个矩阵可以使数学意义上的矩阵,也可以是标量或者向量。
对于一个标量(一个数)可以将之作为11⨯的矩阵,而向量(一行或一列)则可以认为是1n⨯⨯或者1n⨯的矩阵。
另外,一个00矩阵在Matlab中被认为是空矩阵,用“[]”表示。
1、矩阵的创建矩阵的创建可以有以下几种形式⑴直接输入>> A=[1 2 3;4 3 7;2 4 1]注意:每行间的元素用逗号或空格分开,行与行之间用分号或回车分开,矩阵标示是一对中括号[ ]。
也可以采用数组编辑器(Array Editor)像在Excel电子表格中据那样输入数据。
⑵通过语句和函数产生常用的特殊矩阵:zeros:全零矩阵,ones:全1矩阵,eye:单位矩阵,rand:随机矩阵,diag:对角阵等。
例:>> A=ones(3,4)>> E=eye(3)>> D=diag([3 5 2])⑶对矩阵进行裁剪或拼接⑷从外部文件装入数据外部数据文件可以是以保存的Matlab工作空间,也可以是文本(.txt)文件,或者是电子表格创建的文件(.xls).例:已知一个文本格式的数据文件E:\Mathmodel\data1.txt>> load e:\Mathmodel\data1.txt得到一个变量名与文件名相同的矩阵(data1)。
注意:文件的扩展名不能省略。
例:已知一个Excel文件的路径为E:\Mathmodel\data2.xlsa. 缺省操作:>> NUMBER=xlsread('E:\Mathmodel\data2.xls')>>[NUMBER,TXT]=xlsread('E:\Mathmodel\data2.xls')默认操作是从第一个工作表(sheet1)中提取数据。
b. 从指定的工作表(而不是第一个)中提取数据:>> NUMBER=xlsread('E:\Mathmodel\data2.xls','S2')或者>> NUMBER=xlsread('E:\Mathmodel\data2.xls',2)c.从指定的工作表中读取指定区域的数据:>> NUMBER=xlsread('E:\Mathmodel\data2.xls',2,'g3:i8')2、Matlab的矩阵运算⑴基本运算矩阵的加(+)、减(-)、乘(*)、乘方(^)运算法则与代数中的定义完全一致。
matlab矩阵的运算Matlab矩阵的运算是Matlab编程语言中重要的基础操作之一。
矩阵运算可以实现对矩阵的加减乘除以及其他一系列运算操作。
本文将介绍Matlab中常见的矩阵运算及其应用。
一、矩阵的定义与创建在Matlab中,可以使用矩阵来表示二维的数值数据。
矩阵的元素可以是数字、变量或者表达式。
我们可以通过以下方式定义和创建一个矩阵:1. 直接赋值可以直接使用方括号表示矩阵,每一行的元素用空格或逗号隔开,每一行之间用分号隔开。
例如:A = [1, 2, 3; 4, 5, 6; 7, 8, 9];2. 函数创建Matlab提供了一些函数来创建特定形状的矩阵。
例如:- zeros(m,n):创建一个m行n列的全零矩阵;- ones(m,n):创建一个m行n列的全一矩阵;- eye(n):创建一个n行n列的单位矩阵;- rand(m,n):创建一个m行n列的随机值矩阵。
二、矩阵的基本运算1. 矩阵加法与减法矩阵加法与减法需要满足相同维度的矩阵才能进行运算。
例如:A = [1, 2, 3; 4, 5, 6; 7, 8, 9];B = [9, 8, 7; 6, 5, 4; 3, 2, 1];C = A + B;D = A - B;其中,矩阵C和D分别为A与B的加法和减法结果。
2. 矩阵乘法矩阵乘法需要满足左矩阵的列数等于右矩阵的行数。
例如:A = [1, 2, 3; 4, 5, 6];B = [7, 8; 9, 10; 11, 12];C = A * B;其中,矩阵C为A与B的乘法结果。
3. 矩阵除法矩阵除法可以分为左除和右除两种情况。
左除表示解决Ax = B形式的线性方程组,右除表示解决xB = A形式的线性方程组。
例如:A = [1, 2; 3, 4];B = [5, 6; 7, 8];X = A \ B;其中,X为线性方程组Ax = B的解。
三、矩阵的其他运算1. 矩阵转置矩阵转置是将矩阵的行与列进行互换。
前言MATLAB是美国MathWorks公司自20世纪80年代中期推出的数学软件,优秀的数值计算能力和卓越的数据可视化能力使其很快在数学软件中脱颖而出。
到目前为止,其最高版本6.0版已经推出。
随着版本的不断升级,它在数值计算及符号计算功能上得到了进一步完善。
MATLAB已经发展成为多学科、多种工作平台的功能强大的大型软件。
在欧美等高校,MATLAB已经成为线性代数、自动控制理论、概率论及数理统计、数字信号处理、时间序列分析、动态系统仿真等高级课程的基本教学工具,是攻读学位的大学生、硕士生、博士生必须掌握的基本技能。
MATLAB的主要特点是:•有高性能数值计算的高级算法,特别适合矩阵代数领域;•有大量事先定义的数学函数,并且有很强的用户自定义函数的能力;•有强大的绘图功能以及具有教育、科学和艺术学的图解和可视化的二维、三维图;•基于HTML的完整的帮助功能;•适合个人应用的强有力的面向矩阵(向量)的高级程序设计语2前言言;•与其它语言编写的程序结合和输入输出格式化数据的能力;•有在多个应用领域解决难题的工具箱。
本教程提供了使用MATLAB的实践性指导,它基于MATLAB6.0版,内容由浅入深,特别是本书对每一条命令的使用格式都作了详细而又简单明了的说明,并配备了例题加以说明其用法,因此,对于初学者自学是很有帮助的;同时,又对数学中的一些深入问题如数值分析、稀疏矩阵、优化理论以及模糊数学等问题进行了较为详细的论述,因此,该书也可作为科技工作者的科学计算工具书。
本教程的具体特点是:•它是以简明方法写就的一本易于掌握的数学手册;•编写逻辑性强,内容由浅入深,对于初学者能很快掌握MATLAB的用法;•易于查找命令和问题,给读者灵感与启迪,以解决实际问题;•对每一条命令,都进行了详细论述;•对于每一条命令,几乎都有易懂的实例;•内容按数学分类进行描述。
本教程的光盘内容详尽、实例丰富:包含了MATLAB实例的源文件,函数/命令及注解,程序实例。
MATLAB矩阵及其运算MATLAB是一种强大的数学软件,广泛应用于科学和工程领域。
其中,矩阵及其运算是MATLAB中的重要部分,对于数据处理、线性代数和统计分析等方面都起着至关重要的作用。
本文将介绍MATLAB中矩阵的基本操作和运算,以及一些常用的矩阵函数和工具。
矩阵的创建和操作是MATLAB中的基本功能之一。
在MATLAB中,可以使用一对方括号来创建矩阵,例如:A = [1 2 3; 4 5 6; 7 8 9]这将创建一个3×3的矩阵A,其中包含1到9的数字。
此外,MATLAB还提供了一些快捷方式来创建特定类型的矩阵,比如零矩阵、单位矩阵和随机矩阵等。
例如,可以使用zeros函数创建一个全零矩阵:B = zeros(3, 4)。
这将创建一个3×4的全零矩阵B。
类似地,可以使用eye函数创建一个单位矩阵,rand函数创建一个随机矩阵等。
一旦创建了矩阵,就可以对它进行各种运算。
MATLAB中支持矩阵的加法、减法、乘法和除法运算,以及转置和逆运算等。
例如,可以使用加号和减号来进行矩阵的加法和减法运算:C = A + B。
D = A B。
这将分别计算矩阵A和B的加法和减法,并将结果分别存储在矩阵C和D中。
此外,还可以使用乘号来进行矩阵的乘法运算:E = A B。
这将计算矩阵A和B的乘法,并将结果存储在矩阵E中。
需要注意的是,在MATLAB中,矩阵的乘法运算是按照线性代数的定义进行的,即矩阵A的列数必须等于矩阵B的行数才能进行乘法运算。
除了基本的矩阵运算外,MATLAB还提供了许多内置的矩阵函数和工具,用于进行更复杂的矩阵操作。
例如,可以使用inv函数来计算矩阵的逆:F = inv(A)。
这将计算矩阵A的逆,并将结果存储在矩阵F中。
同样地,可以使用transpose 函数来计算矩阵的转置:G = transpose(A)。
这将计算矩阵A的转置,并将结果存储在矩阵G中。
此外,还可以使用eig函数来计算矩阵的特征值和特征向量,使用svd函数来进行奇异值分解,使用qr函数来进行QR分解等。
第1章矩阵及其基本运算MATLAB,即“矩阵实验室”,它是以矩阵为基本运算单元。
因此,本书从最基本的运算单元出发,介绍MATLAB的命令及其用法。
1.1 矩阵的表示1.1.1 数值矩阵的生成1.实数值矩阵输入MATLAB的强大功能之一体现在能直接处理向量或矩阵。
当然首要任务是输入待处理的向量或矩阵。
不管是任何矩阵(向量),我们可以直接按行方式输入每个元素:同一行中的元素用逗号(,)或者用空格符来分隔,且空格个数不限;不同的行用分号(;)分隔。
所有元素处于一方括号([ ])内;当矩阵是多维(三维以上),且方括号内的元素是维数较低的矩阵时,会有多重的方括号。
如:>> Time = [11 12 1 2 3 4 5 6 7 8 9 10]Time =11 12 1 2 3 4 5 6 7 8 9 10>> X_Data = [2.32 3.43;4.37 5.98]X_Data =2.433.434.375.98>> vect_a = [1 2 3 4 5]vect_a =1 2 3 4 5>> Matrix_B = [1 2 3;>> 2 3 4;3 4 5]Matrix_B = 1 2 32 3 43 4 5>> Null_M = [ ] %生成一个空矩阵2.复数矩阵输入复数矩阵有两种生成方式:第一种方式例1-1>> a=2.7;b=13/25;>> C=[1,2*a+i*b,b*sqrt(a); sin(pi/4),a+5*b,3.5+1]C=1.0000 5.4000 + 0.5200i 0.85440.7071 5.3000 4.5000第2种方式例1-2>> R=[1 2 3;4 5 6], M=[11 12 13;14 15 16]R =1 2 34 5 6M =11 12 1314 15 16>> CN=R+i*MCN =1.0000 +11.0000i2.0000 +12.0000i3.0000 +13.0000i4.0000 +14.0000i5.0000 +15.0000i6.0000 +16.0000i1.1.2 符号矩阵的生成在MATLAB中输入符号向量或者矩阵的方法和输入数值类型的向量或者矩阵在形式上很相像,只不过要用到符号矩阵定义函数sym,或者是用到符号定义函数syms,先定义一些必要的符号变量,再像定义普通矩阵一样输入符号矩阵。
1.用命令sym定义矩阵:这时的函数sym实际是在定义一个符号表达式,这时的符号矩阵中的元素可以是任何的符号或者是表达式,而且长度没有限制,只是将方括号置于用于创建符号表达式的单引号中。
如下例:例1-3>> sym_matrix = sym('[a b c;Jack,Help Me!,NO WAY!],')sym_matrix =[a b c][Jack Help Me! NO WAY!]>> sym_digits = sym('[1 2 3;a b c;sin(x)cos(y)tan(z)]')sym_digits =[1 2 3][a b c][sin(x)cos(y)tan(z)]2.用命令syms定义矩阵先定义矩阵中的每一个元素为一个符号变量,而后像普通矩阵一样输入符号矩阵。
例1-4>> syms a b c ;>> M1 = sym('Classical');>> M2 = sym(' Jazz');>> M3 = sym('Blues')>> syms_matrix = [a b c;M1,M2,M3;int2str([2 3 5])]syms_matrix =[ a b c][Classical Jazz Blues][ 2 3 5]把数值矩阵转化成相应的符号矩阵。
数值型和符号型在MATLAB中是不相同的,它们之间不能直接进行转化。
MA TLAB提供了一个将数值型转化成符号型的命令,即sym。
例1-5>> Digit_Matrix = [1/3 sqrt(2)3.4234;exp(0.23)log(29)23^(-11.23)]>> Syms_Matrix = sym(Digit_Matrix)结果是:Digit_Matrix =0.3333 1.4142 3.42341.2586 3.3673 0.0000Syms_Matrix =[ 1/3,sqrt(2),17117/5000][5668230535726899*2^(-52),7582476122586655*2^(-51),5174709270083729*2^(-103)]注意:矩阵是用分数形式还是浮点形式表示的,将矩阵转化成符号矩阵后,都将以最接近原值的有理数形式表示或者是函数形式表示。
1.1.3 大矩阵的生成对于大型矩阵,一般创建M文件,以便于修改:例1-6 用M文件创建大矩阵,文件名为example.mexm=[ 456 468 873 2 579 5521 687 54 488 8 1365 4567 88 98 21 5456 68 4589 654 5 9875488 10 9 6 33 77]在MA TLAB窗口输入:>>example;>>size(exm) %显示exm的大小ans=5 6 %表示exm有5行6列。
1.1.4 多维数组的创建函数cat格式A=cat(n,A1,A2,…,Am)说明n=1和n=2时分别构造[A1;A2]和[A1,A2],都是二维数组,而n=3时可以构造出三维数组。
例1-7>> A1=[1,2,3;4,5,6;7,8,9];A2=A1';A3=A1-A2;>> A4=cat(3,A1,A2,A3)A4(:,:,1) =1 2 34 5 67 8 9A4(:,:,2) =1 4 72 5 83 6 9A4(:,:,3) =0 -2 -42 0 -24 2 0或用另一种原始方式可以定义:例1-8>> A1=[1,2,3;4,5,6;7,8,9];A2=A1';A3=A1-A2;>> A5(:,:,1)=A1, A5(:,:,2)=A2, A5(:,:,3)=A3A5(:,:,1) =1 2 34 5 67 8 9A5(:,:,2) =1 4 72 5 83 6 9A5(:,:,3) =0 -2 -42 0 -24 2 01.1.5 特殊矩阵的生成命令全零阵函数zeros格式 B = zeros(n) %生成n×n全零阵B = zeros(m,n) %生成m×n全零阵B = zeros([m n]) %生成m×n全零阵B = zeros(d1,d2,d3…) %生成d1×d2×d3×…全零阵或数组B = zeros([d1 d2 d3…]) %生成d1×d2×d3×…全零阵或数组B = zeros(size(A)) %生成与矩阵A相同大小的全零阵命令单位阵函数eye格式Y = eye(n) %生成n×n单位阵Y = eye(m,n) %生成m×n单位阵Y = eye(size(A)) %生成与矩阵A相同大小的单位阵命令全1阵函数ones格式Y = ones(n) %生成n×n全1阵Y = ones(m,n) %生成m×n全1阵Y = ones([m n]) %生成m×n全1阵Y = ones(d1,d2,d3…) %生成d1×d2×d3×…全1阵或数组Y = ones([d1 d2 d3…]) %生成d1×d2×d3×…全1阵或数组Y = ones(size(A)) %生成与矩阵A相同大小的全1阵命令均匀分布随机矩阵函数rand格式Y = rand(n) %生成n×n随机矩阵,其元素在(0,1)内Y = rand(m,n) %生成m×n随机矩阵Y = rand([m n]) %生成m×n随机矩阵Y = rand(m,n,p,…) %生成m×n×p×…随机矩阵或数组Y = rand([m n p…]) %生成m×n×p×…随机矩阵或数组Y = rand(size(A)) %生成与矩阵A相同大小的随机矩阵rand %无变量输入时只产生一个随机数s = rand('state') %产生包括均匀发生器当前状态的35个元素的向量rand('state', s) %使状态重置为srand('state', 0) %重置发生器到初始状态rand('state', j) %对整数j重置发生器到第j个状态rand('state', sum (100*clock)) %每次重置到不同状态例1-9 产生一个3³4随机矩阵>> R=rand(3,4)R =0.9501 0.4860 0.4565 0.44470.2311 0.8913 0.0185 0.61540.6068 0.7621 0.8214 0.7919例1-10 产生一个在区间[10, 20]内均匀分布的4阶随机矩阵>> a=10;b=20;>> x=a+(b-a)*rand(4)x =19.2181 19.3547 10.5789 11.388917.3821 19.1690 13.5287 12.027711.7627 14.1027 18.1317 11.987214.0571 18.9365 10.0986 16.0379命令正态分布随机矩阵函数randn格式Y = randn(n) %生成n×n正态分布随机矩阵Y = randn(m,n) %生成m×n正态分布随机矩阵Y = randn([m n]) %生成m×n正态分布随机矩阵Y = randn(m,n,p,…) %生成m×n×p×…正态分布随机矩阵或数组Y = randn([m n p…]) %生成m×n×p×…正态分布随机矩阵或数组Y = randn(size(A)) %生成与矩阵A相同大小的正态分布随机矩阵randn %无变量输入时只产生一个正态分布随机数s = randn('state') %产生包括正态发生器当前状态的2个元素的向量s = randn('state', s) %重置状态为ss = randn('state', 0) %重置发生器为初始状态s = randn('state', j) %对于整数j重置状态到第j状态s = randn('state', sum(100*clock)) %每次重置到不同状态例1-11 产生均值为0.6,方差为0.1的4阶矩阵>> mu=0.6; sigma=0.1;>> x=mu+sqrt(sigma)*randn(4)x =0.8311 0.7799 0.1335 1.05650.7827 0.5192 0.5260 0.48900.6127 0.4806 0.6375 0.79710.8141 0.5064 0.6996 0.8527命令 产生随机排列函数 randperm格式 p = randperm(n) %产生1~n 之间整数的随机排列例1-12>> randperm(6)ans =3 2 1 54 6命令 产生线性等分向量函数 linspace格式 y = linspace(a,b) %在(a, b)上产生100个线性等分点y = linspace(a,b,n) %在(a, b)上产生n 个线性等分点命令 产生对数等分向量函数 logspace格式 y = logspace(a,b) %在( )之间产生50个对数等分向量y = logspace(a,b,n)y = logspace(a,pi)命令 计算矩阵中元素个数n = numel(a) %返回矩阵A 的元素的个数命令 产生以输入元素为对角线元素的矩阵函数 blkdiag格式 out = blkdiag(a,b,c,d,…) %产生以a,b,c,d,…为对角线元素的矩阵例1-13>> out = blkdiag(1,2,3,4)out =1 0 0 00 2 0 00 0 3 00 0 0 4命令 友矩阵函数 compan格式 A = compan(u) %u 为多项式系统向量,A 为友矩阵,A 的第1行元素为 -u (2:n)/u(1),其中u (2:n)为u 的第2到第n 个元素,A 为特征值就是多项式的特征根。