word文档Matlab学习心得系列——003. 矩阵操作

内容

003.矩阵操作Matlab的基本数据元素就是矩阵,可以是2维、1维(向量)、3维或更多维。一、矩阵创建与表示Matlab不用提前声明或定义变量,直接【起变量名、赋值、使用】(注1)。1.特殊向量:(注2)k=1:1:10%创建行向量k,起始值1,步长1,终止值10%默认步长是1,即k=1:10%步长可以是负数(起始值>终止值)运行结果:k=123456789102.一般矩阵:(字符串为元素的矩阵建议用元胞数组,下次内容)A=[12,3;45,6]%创建2行3列矩阵A,矩阵大小不用预先定义%矩阵元素必须放在“[]”内%同行元素间用“,或空格”隔开%行与行间用“;”隔开%矩阵元素可以是数值、变量、字符、函数表达式运行结果:A=1234563.特殊矩阵:ones(m,n)%生成m×n维的全“1”矩阵zeros(m,n)%生成m×n维的全“0”矩阵eye(m,n)%生成m×n维的单位矩阵(多余的行或列全为0)diag(k或A)%生成或提取对角矩阵triu(A)%提取矩阵A的上三角部分生成上三角矩阵tril(A)%提取矩阵A的下三角部分生成下三角矩阵rand(m,n)%生成m×n维的(0,1)区间均匀分布的随机矩阵randn(m,n)%生成m×n维均值为0,方差为1的标准正态分布随机矩阵fiplr(A)%矩阵A左右翻转fipud(A)%矩阵A上下翻转fipdim(A,dim)%矩阵A特定维度dim(1,2)翻转sparse()%生成稀疏矩阵full()%将稀疏矩阵化为普通矩阵4.矩阵的维度、大小、长度A=[12,3;45,6];a=ndims(A)%返回矩阵A的维度(几维矩阵)[I,J]=size(A)%返回矩阵A各维度维数的大小(几行,几列)L=length(A)%返回矩阵A各维度维数的最大值(行数,列数的最大值)运行结果:a=2I=2J=3L=3注:length()通常用于测量向量的大小。5.矩阵拼接、扩充、变形C=[A,B]%水平拼接C=[A,B]%水平拼接D=[A;B]%垂直拼接E=repmat(A,[1,2])%排成1×2的两块A,同[A,A]F=repmat(A,[2,1])%排成2×1的两块A,同[A;A]X=1:24;%1×24的一维行向量reshape(X,3,8);%把X变形为3×8的二维矩阵reshape(X,3,8);%把X变形为3×8的二维矩阵二、矩阵元素的寻址和访问1.访问2维矩阵(m×n)各元素的位置有两种方式:①行列下标索引A(i,j)——第i行,第j列的元素②线性索引,也是矩阵存放元素的顺序,reshape()变形保持该顺序A(1),A(2),„,A(m*n)——元素依次取自第1列,再第2列,„„故A(i,j)=A((j-1)*m+i)两种索引间的转换函数:[I,J]=ind2sub(size(A),IND)[IND]=sub2ind(size(A),I,J)find()函数常用来查找矩阵中满足一定条件的元素A=[12,3;45,6];ind=find(A>2);%返回A中大于2的元素的线性索引值[m,n]=find(A>2);%返回A中大于2的元素的行列下标索引值[I,J]=ind2sub(size(A),ind)%线性索引转行列下标索引IND=sub2ind(size(A),I,J)%行列下标索引转线性索引运行结果:I=2J=1IND=22241352362.用冒号“:”获取矩阵的一些元素A(i,:)——矩阵A的第i行,所有列A(:,j)——矩阵A的第j列,所有行A(:,i:j)——矩阵A的第i到第j列,所有行A(i:j,k:end)——矩阵A的第i到第j行,第k到最后一列A(:,[1,3])——矩阵A的第1、第3列,所有行A(:)——按线性索引返回矩阵A的所有元素(向量)3.利用空矩阵删除矩阵元素A(i,:)=[];%删除矩阵A的第i行A(:,j)=[];%删除矩阵A的第j列A(i:j,:)=[]%删除矩阵A的第i到第j行A(:,i:j)=[]%删除矩阵A的第i到第j列A(sub2ind(size(A),i,j))=[]%删除矩阵A的第i行第j列的元素(注3)三、矩阵运算与矩阵函数1.矩阵运算(1)通常的矩阵间运算加、减、乘、幂:+-*^左除\:AX=B→X=A-1B→X=A\B右除/:YA=C→Y=CA-1→Y=C/A(2)点运算——同型矩阵各个对应位置的元素做该运算点乘、点左除、点右除、点幂:.*.\./.^.+.-同+-(3)矩阵运算转置:A’方阵的逆:inv(A)非方阵的广义逆:pinv(A)%ABA=A,BAB=B矩阵或向量的范数:norm(A)=norm(A,2);norm(A,1);norm(A,inf)方阵的行列式:det(A)矩阵的秩:rank(A)矩阵的迹:trace(A)基础解系(矩阵的零空间):null(A)标准正交化:orth(A)化行最简型(初等行变换解线性方程组):rref(A)两个子空间的夹角(两个向量的夹角):subspace(A,B)方阵的特征值(对角阵d)与特征向量(v的列向量):[v,d]=eig(A)2.矩阵函数min(A,dim)按维度求矩阵A最小值,min(A)=min(A,1)按列max(A)=max(A,1)求矩阵A各列的最大值mean(A)=mean(A,1)求矩阵A各列的平均值sort(A)矩阵各列按递增顺序排序sort(A,'descend')矩阵各列按递减顺序排序sum(A)矩阵A各列元素求和prod(A)矩阵A各列元素求积dot(A,B)A,B(同型)各列做内积(点积)

浏览:33
下载量:-
下载币:5
日期:2021-04-30
7
收藏
         投诉 / 报错