文档详情

MATLAB的矩阵和数组

豆浆
实名认证
店铺
PPT
488KB
约52页
文档ID:50876852
MATLAB的矩阵和数组_第1页
1/52

MATLAB的矩阵和数组运算电子科技大学 王 洪§2.1 MATLAB的数值1.MATLAB的数据类型2. 数值型:双精度型、单精度型、整数3. 字符串型4. 元胞型5. 结构型6.整数类又分为有符号型和无符号型( uint8 uint16 int8 int16 int64)2. MATLAB的数据类型采用十进制表示,数值范围10e-309~10e309小数表示:-2, 7.83, -4.215科学计数法:2.34e-32, 4.56e273. 矩阵和数组的概念标量:是指1×1的矩阵,即为只含一个数的矩阵 向量:是指1×n或n×1的矩阵,只有一行或一列的矩阵矩阵:是一个矩形的数组,即二维数组 数组:是指n维的数组,为矩阵的延伸4. 复数MATLAB用特殊变量“i”和“j”表示虚数的单位 复数可以有几种表示: z=a+b*i或z=a+b*j z=a+bi或z=a+bj(当b为标量时) z=r*exp(i*theta) 计算复数的实部、虚部、幅值和相角: a=real(z) %计算实部 b=imag(z) %计算虚部 r=abs(z) %计算幅值 theta=angle(z) %计算相角,缺省为弧度 (角度单位转换问题!!)¨矩阵的生成¨向量的生成¨矩阵的元素操作¨矩阵的运算¨矩阵的输出与载入§2.2矩阵运算一、矩阵的生成•直接输入法•函数生成法•文件载入法1. 直接输入法例:s=[1 2 3;4 5 6;7 8 9]; 结果:s=1 2 34 5 67 8 9¨矩阵元素用[ ]括住;¨矩阵行与行之间用分号或Enter键分隔;¨行内元素用逗号或空格分隔;¨矩阵元素可以用任何表达方式来描述的数值 或表达式,但不可包含未知变量;¨空阵:没有任何元素的矩阵,当一项操作无结 果时,返回空阵。

¨复数矩阵的两种创建方法例:s=[1,2,3;4,5,6;7,8,9];s1=[-1,sqrt(3),2+3i];s2=[];2. 函数生成法¨zeros ——全部元素都为0的矩阵¨ones ——全部元素都为1的矩阵¨randn—— 正态分布的随机矩阵¨rand —— 均匀分布的随机矩阵¨eye —— 单位矩阵¨对角阵、魔方矩阵、伴随矩阵、稀疏矩阵、 范德蒙等A=zeros(n) 生成 n×n 的全0矩阵A=zeros(m,n) 生成m×n的全0矩阵A=zeros(size(B)) 生成与矩阵B大小相同的全0 矩阵例: >> A=zeros(3,4)A =0 0 0 00 0 0 00 0 0 0ones 的用法与zeros相同A=randn(n) 生成 n×n 的随机矩阵A=randn(m,n) 生成m×n的随机矩阵A=eye(n) 生成 n×n 的单位矩阵A=eye(m,n) 生成 m×n的矩阵,子矩 阵为单位阵例: >> randn(3) >> eye(3,4)ans = ans =-0.4326 0.2877 1.1892 1 0 0 0-1.6656 -1.1465 -0.0376 0 1 0 00.1253 1.1909 0.3273 0 0 1 0 >> A=0.5+sqrt(0.1)*randn(3)rand的用法与randn相同。

注意:1、 matlab 严格区分大小写字母!2、 matlab 函数名必须小写!A=magic(n) ; 生成n×n 的魔方矩阵A=diag(B); 若B为矩阵,取其对角线构成 向量;若B为向量,以此构成矩阵>>a=magic(3) >>s=diag(a)a = s =8 1 6 83 5 7 54 9 2 2二、向量的生成1. 利用冒号生成向量Øx=i:j 如果ij,生成空向量Øx=i:j:k 以j为增量生成等分向量,如增 量不能由i到达k,生成空向量例:>> a=1:6a =1 2 3 4 5 6>> b=1:2:6b =1 3 5“end”的作用2. 利用linspace(a,b)生成等差向量 Ø x=linspace(a,b) 生成100个 元素的行向量,其元素在a,b之间 线性分布。

Ø x=linspace(a,b,n) 生成n个元 素的行向量,其元素在a,b之间线 性分布3.利用logspace生成向量 Ø x=logspace(a,b),生成50个 元素的等比向量,起点 ,终点 Ø x=logspace(a,b,n),生成n个 元素的等比向量,起点终点同上矩阵元素的标识矩阵的子矩阵通过向量、标量的标识来引用和 赋值全下标方式:A(u, v) 用行、列位置标识,“:”的用法单下标方式:以m×n的矩阵a为例,若元素a(i,j)则对应的“单 下标”为s= (j-1)×m+i 列优先原则 三、矩阵的元素操作1、单一元素的修改与引用>>s(1,2)=15; >>x=s(2,3); s = x=1 15 3 64 5 67 8 92、用矩阵编辑器修改矩阵在workspace中将显示出所有变量,双击要编辑的矩阵弹出矩阵编辑器可修改各元素值和 矩阵维数,关闭编辑器后即生效workspaceArray Editor3、子矩阵的获取例 设矩阵A是已知的66矩阵A(:,2) A的第2列元素构成的列向量A(5,:) A的第5行元素构成的行向量A(1:3,2:5) A的前3行,及第2到5列元素构成的子矩阵A([1 3 5],[2 4]) A的第1、3、5行,第2、4列元素构成的子矩阵(1)全下标方式(2)单下标方式例:设a = 1 2 03 4 05 6 9 则a([1 3;2 6]) 表示:ans =1 53 6 (3)逻辑矩阵方式 l1=logical([1 0 1]) %给出逻辑向量l1 l2=logical([1 1 0]) %给出逻辑向量l2a(l1,l2) %取出1、3行且1、2列的元素ans =1 25 64、矩阵的删除删除操作就是简单地将其赋值为空矩阵(用[]表示) a(:,3)=[] %删除一列元素 a =1 23 45 6 a(1)=[] %删除一个元素,则矩阵变为行向量 a =3 5 2 4 6 5.矩阵的拼接例:>> [zeros(3);s] >> [zeros(3)+2,s] ans = ans =0 0 0 2 2 2 1 2 30 0 0 2 2 2 4 5 60 0 0 2 2 2 7 8 91 2 34 5 67 8 96. 矩阵的翻转 函数名功能 triu(X)产生X矩阵的上三角矩阵,其 余元素补0。

tril(X)产生X矩阵的下三角矩阵,其 余元素补0 flipud(X)使矩阵X沿水平轴上下翻转fliplr(X)使矩阵X沿垂直轴左右翻转flipdim(X,dim)使矩阵X沿特定轴翻转 dim=1,按行维翻转; dim=2,按列维翻转 rot90(X)使矩阵X逆时针旋转900•矩阵加、减、乘运算•矩阵的除运算•矩阵的乘方运算•常用的运算函数矩阵运算时,其维数必须满足相应运算的要求 !四、矩阵运算1. 矩阵加、减、乘运算矩阵的加、减、乘运算按线性代数的规 则进行,若运算的对象之一是常数时, 所有元素都参与运算例:>> s+eye(3) >> 2*sans = ans =2 2 3 2 4 64 6 6 8 10 127 8 10 14 16 182. 矩阵的除运算¨矩阵左除:A\BX=A\B AX=B¨矩阵右除:B/AX=B/A XA=B3. 矩阵乘方A ^ p ¨只有方阵才可以进行矩阵的乘方运算。

¨当p为负整数时,表示方阵自乘p次后的逆 例:>> s^2ans =30 36 4266 81 96102 126 1504. 常用的矩阵函数运算¨’ ——矩阵转置¨inv —— 矩阵求逆¨det —— 行列式的值¨eig —— 矩阵的特征值和特征向量¨rank —— 矩阵的秩¨trace ——矩阵的迹 例:A=[2 3;4 9]>> det(A)ans = 6>> inv(A)ans =1.5000 -0.5000-0.6667 0.3333 >> [V D]=eig(A) >> A'V = ans =-0.9033 -0.3355 2 40.4289 -0.9421 3 9D = >> rank(A)0.5756 0 ans =0 10.4244 2常用的矩阵运算函数函数名称功能和含义义 cond(A)求矩阵阵A的条件数 det(A)求方阵阵A的行列式值值 dot(A,B)求矩阵阵A和B的点积积 eig(A)求矩阵阵A的特征值值和特征 向量 norm(A,1)求矩阵阵A的1-范数 norm(A)或norm(A,2)求矩阵阵A的2-范数 norm(A,inf)求矩阵阵A的无穷穷大-范数 norm(A,’fro’)求矩阵阵A的F-范数Rank(A)求矩阵阵A的秩 Rcond(A)求矩阵阵A的倒条件数 svd(A)求矩阵阵A的奇异值值分解 Trace(A)求矩阵阵A的迹 Expm(A)求矩阵阵A的指数 Expm1(A)用pade法求矩阵阵A的指 数 Expm2(A)用taylor级级数法求矩阵阵 A的指数 Expm3(A)用。

下载提示
相似文档
正为您匹配相似的精品文档