2022年matlab数组的创建 .pdf
数组的创建(matlab)1、向量的创建1)直接输入:行向量:a=1,2,3,4,5 列向量:a=1;2;3;4;5 2)用“:”生成向量 a=J:K 生成的行向量是a=J,J+1,K a=J:D:K 生成行向量 a=J,J+D,J+m*D,m=fix(K-J)/D)3)函数 linspace 用来生成数据按等差形式排列的行向量 x=linspace(X1,X2):在 X1和 X2间生成 100个线性分布的数据,相邻的两个数据的差保持不变。构成等差数列。x=linspace(X1,X2,n):在 X1和 X2间生成 n 个线性分布的数据,相邻的两个数据的差保持不变。构成等差数列。4)函数 logspace 用来生成等比形式排列的行向量 X=logspace(x1,x2)在 x1 和 x2 之间生成 50个对数等分数据的行向量。构成等比数列,数列的第一项x(1)=10 x1,x(50)=10 x2 X=logspace(x1,x2,n)在 x1 和 x2 之间生成 n 个对数等分数据的行向量。构成等比数列,数列的第一项x(1)=10 x1,x(n)=10 x2 注:向量的的转置:x=(0,5)2、矩阵的创建1)直接输入:将数据括在 中,同一行的元素用空格或逗号隔开,每一行可以用回车或是分号结束如:a=1,2,3;3,4,5,运行后:a=1 2 3 3 4 5 2)函数 eye,生成单位矩阵eye(n):生成 n*n 阶单位 E eye(m,n):生成 m*n的矩阵 E,对角线元素为1,其他为 0 eye(size(A):生成一个矩阵大小相同的单位矩阵eye(m,n,classname):对角线上生成的元素是1,数据类型用 classname 指定。其数据类型可以是:duoble、single、int8、uint8、int16、uint16、int32 名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 5 页 -、uint32。3)函数 ones 用 ones 生成全 1 的矩阵ones(n):生成 n*n 的全 1 矩阵ones(m,n):生成 m*n的全 1 矩阵ones(size(A):生成与矩阵 A大小相同的全 1 矩阵ones(m,n,p,)生成 m*n*p*,.的全 1 的多维矩阵ones(m,n,classname)制定数据类型为 classname 4)函数 zeros 函数 zeros 生成全 0 矩阵zeros(n):生成 n*n 的全 0 矩阵zeros(m,n:)生成 m*n的全 0 矩阵zeros(size(A):生成与矩阵 A大小相同的全 0 矩阵zeros(m,n,p,)生成 m*n*p*,.的全 0 的多维矩阵zeros(m,n,classname)指定数据类型为classname 5)函数 rand 函数 rand 用来生成 0,1 之间均匀分布的随机函数,其调用格式是:Y=rand:生成一个随机数Y=rand(n):生成 n*n 的随机矩阵Y=rand(m,n):生成 m*n的随机矩阵Y=rand(size(A):生成与矩阵 A大小相同的随机矩阵Y=rand(m,n,p,):生成 m*n*p*,的随机数多维数组6)函数 randn 函数 rand 用来生成服从正态分布的随机函数,其调用格式是:Y=randn:生成一个服从标准正态分布的随机数Y=randn(n):生成 n*n 的服从标准正态分布的随机矩阵Y=randn(m,n):生成 m*n的服从标准正态分布的随机矩阵Y=randn(size(A):生成与矩阵 A大小相同的服从标准正态分布的随机矩阵Y=randn(m,n,p,):生成 m*n*p*,的服从标准正态分布的随机数多维数组3、矩阵元素的提取与替换1)单个元素的提取如:a=1,2,3;3,4,5,运行后:a=1 2 3 3 4 5 输入 b=a(1,2)b=2 2)提取矩阵中某一行的元素,如:a=1,2,3;3,4,5,运行后:名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 5 页 -a=1 2 3 3 4 5 输入 b=a(1,:)b=1 2 3 3)提取矩阵中某一列:如:a=1,2,3;3,4,5,运行后:a=1 2 3 3 4 5 输入 b=a(:,1)b=1 3 4)提取矩阵中的多行元素如:a=1,2,3;3,4,5,运行后:a=1 2 3 3 4 5 输入 b=a(1,2,:)b=1 2 3 3 4 5 5)提取矩阵中的多列元素如:a=1,2,3;3,4,5,运行后:a=1 2 3 3 4 5 输入 b=a(:,1,3)b=1 3 3 5 6)提取矩阵中多行多列交叉点上的元素如:a=1,2,3;3,4,5,运行后:a=1 2 3 3 4 5 输入 b=a(1,2,1,3)b=名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 5 页 -1 3 3 5 7)单个元素的替换:如:a=1,2,3;3,4,5,运行后:a=1 2 3 3 4 5 输入:a(2,3)=-1 a=1 2 3 3 4 -1 4、矩阵元素的重排和复制排列1)矩阵元素的重排B=reshape(A,m,n):返回的是一个 m*n矩阵 B,矩阵 B的元素就是矩阵 A的元素,若矩阵 A的元素不是 m*n个则提示错误。B=reshape(A,m,n,p):返回的是一个多维的数组B,数组 B中的元素个数和矩阵A 中的元素个数相等B=reshape(A,):可以默认其中的一个维数B=reshape(A,siz):由向量 siz 指定数组 B的维数,要求 siz 的各元素之积等于矩阵 A的元素个数2)矩阵的复制排列函数是 repmat B=repmat(A,n):返回 B是一个 n*n 块大小的矩阵,每一块矩阵都是A B=repmat(A,m,n):返回值是由 m*n个块组成的大矩阵,每一个块都是矩阵A。B=repmat(A,m,n,p,):返回值 B是一个多维数组形式的块,每一个块都是矩阵 A 5、矩阵的翻转和旋转1)矩阵的左右翻转左右翻转函数是fliplr,调用格式:B=fliplr(A):将矩阵 A左右翻转成矩阵B。输入:A=1,2,3;3,4,2 A=1 2 3 3 4 2 输入:B=fliplr(A)B=3 2 1 名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 5 页 -2 4 3 2)矩阵上下翻转函数:flipud,调用格式:B=flipud(A):把矩阵 A上下翻转成矩阵B 3)多维数组翻转函数:flipdim,调用格式:B=flipdim(A,dim):把矩阵或多维数组A沿指定维数翻转成B 4)矩阵的旋转函数:rot90,调用格式:B=rot90(A):矩阵 B是矩阵 A沿逆时针方向旋转90。得到的B=rot90(A,k):矩阵 B是矩阵 A沿逆时针方向旋转k*90。得到的(要想顺时针旋转,k 取-1)6、矩阵的生成与提取函数1)对角线函数对角线函数 diag 既可以用来生成矩阵,又可以来提取矩阵的对角线元素,其调用格式:a)A=diag(v,k):当 v 是有 n 个元素的向量,返回矩阵A是行列数为n+|k|的方阵。向量 v 的元素位于 A的第 k 条对角线上。K=0 对应主对角线,k0 对应主对角线以上,k0 对应主对角线以上,k0对应主对角线以上,k0 对应主对角线以下名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 5 页 -