《Matlab笔记之六---- 矩阵运算》由会员分享,可在线阅读,更多相关《Matlab笔记之六---- 矩阵运算(6页珍藏版)》请在金锄头文库上搜索。
1、矩阵除法运算 矩阵除法的运算符有两种:“”和“/”,它们分别表示左除和右除。AB=inv(A)*BB/A=B*inv(A)所以只有当矩阵 A 可逆时,方可实现此运算。对于矩阵算术右除相当于求 x*A=B 的解;而算术左除相当于 A*x=B 的解。a,b 为数值时a/b=a 除 b ab=b 除 aA=2 1 -3;3 -2 2;5 -3 -1B=5;5;16X=AB矩阵的转置的运算符是“”。B=A %b 是 A 的转置。如果矩阵中有复数元素,则转置后得到的是它的复共轭。A. % 非共轭转置。相当于 conj(A)permute %广义非共轭转置 squeeze %撤消长度为 1 的“孤维”,使
2、数组降维rand %产生均匀分布随机数组exp(A) 以自然数 e 为底,分别以 A 的元素为指数,求幂sqrt(A) 对 A 的各元素求平方根 log(A) 对 A 的各元素求对数 expm(A) A 的矩阵指数函数 logn(A) A 的矩阵对数函数sqrtm(A) A 的矩阵平方根函数A#B A、B 阵对应元素间的关系运算。#代表关系运算符 AB A、B 阵对应元素间的关系运算。代表逻辑运算符求方阵的行列式的值及逆的函数是:det(A)和 inv(A)求方阵的特征值及特征向量的函数是:eig(A)在调用格式V,D=eig(A)中,A 的特征向量以列向量的形式存放在 V 中,D 是对角元,
3、它表示对应的特征值。V,D=eig(A)均匀采样生成一维“行”数组 : x=linspace(a,b,n)定数对数采样法: x=logspace( a, b, n )即: x=10a, 10a+s 10a+2*s 10b (其中 s = (ba)/(n1)二维数组的创建:直接输入法1 整个输入数组必须以方括号“ ”为其首尾; 2 数组的行与行之间必须用分号“;”或回车键 Enter 隔离; 3 数组元素必须由逗号“,”或空格分隔。ones(m,n), 元素全为 1diag (m,n) 对角阵eye(m,n) 单位阵zeros(m,n) 元素全为 0size(C) %函数 size 给出矩阵 C
4、 的行和列A=diag(C) % 取矩阵 C 的对角元素,此时它是一个列向量“逻辑 1”标识A=zeros(2,5) % 预生成一个(25)全零数组A(:)=-4:5 % 运用“全元素”赋值法获得 AL=abs(A)3 % 产生与 A 同维的“0-1”逻辑值数组islogical(L) % 判断 L 是否是逻辑值数组。输出若为 1,则是X=A(L) % 把 L 中逻辑值 1 对应的 A 元素取出%所谓“逻辑 1”标识法是:通过与 A 同样大小的逻辑值数组 L 中“逻辑值 1”所在的位置,指出 A 中元素的位置。A(r,c) 它由 A 的“r 指定行”和“c 指定列”上的元素组成 A(r,:)
5、它由 A 的“r 指定行”和“全部列”上的元素组成 A(:,c) 它由 A 的“全部行”和“c 指定列”上的元素组成A(:) “单下标全元素”寻访。它由 A 的各列按自左到右的次序, 首尾相接而生成“一维长列”数组 A(s) “单下标”寻访。生成“s 指定的”一维数组。s 若是“行数组”(或“列数组”),则 A(s)就是长度相同的“行数组”(或“列数组”) A(L) “逻辑 1”寻访,生成“一维”列数组:由与 A 同样大小的“逻辑数组”L 中的“1”元素选出 A 的对应元素;按“单下标”次序排成长列组成 A(r,c)=Sa 以“双下标”方式,对子数组 A(r,c)进行赋值:Sa 的“行宽、列长
6、”必须与 A(r,c)的“行宽、列长”相同 A(:)=D(:) 全元素赋值方式。结果:保持 A 的“行宽、列长”不变。条件:A、D 两个数组的总元素相等,但“行宽、列长”不一定相同A(s)=Sa 按“单下标”方式,对 A 的部分元素重新赋值。结果:保持 A 的“行宽、列长”不变。条件:s 单下标数组的长度必须与“一维数组”Sa 的长度相等,但是 s、Sa 不一定同是“行数组”或“列数组”A(:)=1:8s=2 3 5Sa=10 20 30A(s)=Saacos 反余弦 asinh 反双曲正弦 csch 双曲余割 acosh 反双曲余弦 atan 反正切 sec 正割 acot 反余切 atan
7、2 四象限反正切 sech 双曲正割 acoth 反双曲余切 atanh 反双曲正切 sin 正弦 acsc 反余割 cos 余弦 sinh 双曲正弦 acsh 反双曲余割 cosh 双曲余弦 tan 正切 asec 反正割 cot 余切 tanh 双曲正切 asech 反双曲正割 coth 双曲余切 asin 反正弦 csc 余割exp 指数 log10 常用对数 pow2 2 的幂 log 自然对数 log2 以 2 为底的对数 sqrt 平方根abs 模,或绝对值 conj 复数共轭 real 复数实部 angle 相角(弧度) imag 复数虚部ceil 向+圆整函数 rem 求余数
8、fix 向 0 圆整函数 round 向圆整函数 floor 向-圆整函数 sign 符号函数 mod 模余求余cart2sphl 直角坐标变为球坐标 pol2cart 柱(或极)坐标变为直角坐标 cartpol 直角坐标变为柱(或极)坐标 sph2cart 球坐标变为直角坐标X,Y = POL2CART(TH,R) % The arrays TH and R must the same size (or either can be scalar).TH must be in radians.X,Y,Z = POL2CART(TH,R,Z)函数 meshgrid。设 a=a1 a2 a3 a4
9、,b=b1 b2 b3 b4,则A,B=meshgrid(a,b) 可生成两个(34)的矩阵 A 及 B.数量积: 求数量积的命令是: dot(a, b, dim) 此函数表示求向量 a 与 b 在维数为 dim 的点乘值。如果 dim 缺省,则返回两个同维向量 a 与 b 的数量积。向量积: 求向量积的命令是: cross (a, b, dim) 此函数表示求向量 a 与 b 在维数为 dim 的叉乘值。如果 dim 缺省,则返回两个同维向量 a 与 b 的向量积。注意向量 a 与 b 的维数不能大于三维。 混合积: 我们可以由前面的两个命令来求三个向量的混合积:dot (a, cross
10、(b, c) sum 函数: sum(A) 当 A 是向量时,sum 函数将计算向量中所有元素之和,并返回此值。当 A 是向矩阵时,sum 函数将矩阵中的元素按列相加,并返回一个长度等于矩阵 A 的列数的行向量。dim=1 为列向量 dim=2 为行向量cat: 把“大小”相同的若干数组,沿“指定维”方向,串接成高维数组 diag: 提取对角元素,或生成对角阵 flipud: 以数组“水平中线”为对称轴,交换上下对称位置上的数组元素 fliplr: 以数组“垂直中线”为对称轴,交换左右对称位置上的数组元素 kron: 按 Kronecker 乘法规则产生“积”数组 repmat: 按指定的“行
11、数、列数”铺放模块数组,以形成更大的数组 reshape: 在总元素数不变的前提下,改变数组的“行数、列数”A=reshape(1:9,3,3)逻辑函数的运用示例:randn(state,1),R=randn(3,6) % 创建正态随机阵L=abs(R)1.5 % 不等式条件运算,结果给出逻辑数组R(L)=0 % “逻辑 1”对应的元素赋 0 值s=(find(R=0) % 利用 find 获得符合关系等式条件的元素“单下标”R(s)=111 % 利用“单下标”定位赋值ii,jj=find(R=111) % 利用 find 获得符合关系等式条件的元素“双下标”高维数组cat(3,ones(2,
12、3),ones(2,3)*2,ones(2,3)*3)cat 指令第一个输入宗量填写的数字“表示串接方向的维号”。repmat(ones(2,3),1,1,3)repmat 指令的第一个输入宗量是“模块数组”。第二个输入宗量指定“各维方向”铺放“模块数组”的数目。指令中1,1,3表示:在“行维方向”和“列维方向”各铺一块,而在“页维方向”铺 3 块。reshape(1:12,2,2,3)1 reshape 的第一个输入宗量是“待重组”的数组;第二、三、四输入量是要生成的数组的“行数、列数、页数”。 2 “将生成数组的总元素数”必须与“待重组”数组的总元素相等。 3 重组时,元素放置遵循“单下标
13、”编号规则:第一页第一列下接该页的第二列,下面再接第三列,依次类推。第一页的最后列接着第二页第一列,如此进行,直至结束。NaN 的性质: 1 NaN 参与运算所得的结果也是 NaN,即具有传递性。2 非数没有“大小”概念,因此不能比较两个非数的大小。isnan(R) %判断一个变量是否是 NaN“空”数组which,who,whos,以及变量浏览器都可以验证它的存在。判断一个数组是否“空”数组的指令:isempty。关系、逻辑函数all(A) 当向量 A 的元素全非 0 时,结果才是 1;否则结果是 0 isequal(A,B) A,B 对应元素相等时,相应元素位置取 1,否则取 0 any(A) 只要向量 A 中有非 0 元素,结果就是 1;否则结果是 0 xor(A,B) A,B 对应元素同为 0,或非 0 时,相应位置元素取 0,否则取 1isfinite(x) 对应 x 中有限大小元素的位置取 1,其余均为 0 isprime(x) 对应 x 中质数元素的位置取 1,其余均为 0 isinf(x) 对应 x 中无穷大小元素的位置取 1,其余均为 0 isreal(x) 对应 x 中实数元素的位置取 1,其余均为 0 isletter(x) 对应 x 中英文字母的元素的位置取 1,其余均为 0 isspace(x) 对应 x 中空格的元素的位置取 1,其余均为 0