Matlab数值数组和其运算.ppt
文本预览下载声明
3.6.3 数组运算和矩阵运算的对照 A=zeros(2,3); A(:)=1:6; A=A*(1+i) A_A=A.‘ A_M=A A = 1.0000 + 1.0000i 3.0000 + 3.0000i 5.0000 + 5.0000i 2.0000 + 2.0000i 4.0000 + 4.0000i 6.0000 + 6.0000i A_A = 1.0000 + 1.0000i 2.0000 + 2.0000i 3.0000 + 3.0000i 4.0000 + 4.0000i 5.0000 + 5.0000i 6.0000 + 6.0000i A_M = 1.0000 - 1.0000i 2.0000 - 2.0000i 3.0000 - 3.0000i 4.0000 - 4.0000i 5.0000 - 5.0000i 6.0000 - 6.0000i A. 非共轭转置 A 共轭转置 s.*A 标量s分别与A元素之积(需位数一致) s*A 标量s与A每个元素之积 s./B s分别被B的元素除 s*inv(B) B阵的逆乘 A.^n A的每个元素自乘n次 A^n A阵为方阵时,自乘n次 A.^p 对A各元素求非整数幂 A^p 方阵A的非整数乘方 p.^A 以p为底,分别以A的元 素为指数求幂值 p^A A阵为方阵时,标量的矩 阵乘方 A.*B 对应元素相乘 A*B 内维相同矩阵的乘积 A./B A的元素被B的对应元素除 A/B A右除B exp(A) 以自然指数为底,分别以 A的元素为指数,求幂 expm(A) A的矩阵指数函数 log(A) 对A的各元素求对数 logm(A) A的矩阵对数函数 sqrt(A) 对A的各元素求平方根 sqrtm(A) A的矩阵平方根函数 3.6.4 标准数组生成函数 指令 含义 指令 含义 diag 产生对角形数据 rand 产生均匀分布随机数组 eye 产生单位数组 randn 产生正态分布随即数组 magic 产生魔方数组 zeros 产生全0数组 ones 产生全1数组 ones(3) ans = 1 1 1 1 1 1 1 1 1 ones(1,2) ans = 1 1 magic(3) ans = 8 1 6 3 5 7 4 9 2 a=[1 2 3 4] a = 1 2 3 4 diag(a) ans = 1 0 0 0 0 2 0 0 0 0 3 0 0 0 0 4 diag(a,2) ans = 0 0 1 0 0 0 0 0 0 2 0 0 0 0 0 0 3 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 3.6.5 数组操作函数 cat 把“大小”相同的若干数组,沿“指定维”方向,串 接成高维数组 diag 提取对角元素,或生成对角阵 flipud 以数组“水平中线”为对称轴,交换上下对称位 置上的数组元素 fliplr 以数组“垂直中线”为对称轴,交换左右对称位 置上的数组元素 kron 按Kronecker乘法规则产生“积”数组 repmat 按指定的“行数、列数”铺放模块数组,以形成 更大的数组 reshape 在总元素数不变的前提下,改变数组的“行数、 列数” a=-4:4 a = -4 -3 -2 -1 0 1 2 3 4 A=reshape(a,3,3) A = -4 -1 2 -3 0 3 -2 1 4 flipud(A) ans = -2 1 4 -3 0 3 -4 -1 2 fliplr(A) ans = 2 -1 -4 3 0
显示全部