文档视界 最新最全的文档下载
当前位置:文档视界 › MATLAB矩阵运算函数

MATLAB矩阵运算函数

MATLAB矩阵运算函数
MATLAB矩阵运算函数

MATLAB矩阵运算函数表

函数名函数功能

abs()绝对值、负数的模、字符串的ASCII码值都可用来求字符串矩阵所

对应的ASCII码数值矩阵double()

char()可以把ASCII码数值矩阵转换为字符串矩阵

fix()向零方向取整

floor()不大于自变量的最大整数

ceil()不小于自变量的最小整数

round()四舍五入到最邻近的整数

rem(x,y)求余函数

mod(x,y)%

exp()指数函数

[]空操作符

format格式符设置或改变数据输出格式(其中格式符决定数据的输出格式)

e1:e2:e3冒号表达式可以产生一个行向量

(其中e1为初始值,e2为步长,e3为终止值)

linspace(a,b,n)产生一个行向量

(其中a和b是生成向量的第一个和最后一个元素,n是元素总数) [注:linspace(a,b,n)与a:(b-a)/(n-1):b等价]

A(:,j)表示取A矩阵的第j列全部元素

A(i,:)表示A矩阵第i行的全部元素

A(i,j)表示取A矩阵第i行、第j列的元素

A(i:i+m,:)表示取A矩阵第i~i+m行的全部元素

A(:,k:k+m)表示取A矩阵第k~k+m列的全部元素

A(i:i+m,k:k+m)表示取A矩阵第i~i+m行内,并在第k~k+m列中的所有元素

zeros产生全0矩阵(零矩阵)

ones产生全1矩阵(幺矩阵)

eye产生单位矩阵

rand产生0~1间均匀分布的随机矩阵

randn产生均值为0,方差为1的标准正态分布随机矩阵

zeros(size(A))建立一个与矩阵A同样大小的零矩阵

reshape(A,m,n)在矩阵总元素保持不变的前提下,将矩阵A重新排成m×n的二维矩阵magic(n)生成一个n阶魔方矩阵(其每行、每列及两条对角线上的元素和都相等)

vander(V)生成以向量V为基础向量的范得蒙矩阵(最后一列全为1,倒数第二列为一个指定的向量,其他各列是其后列与倒数第二列的点乘积)

hilb(n)生成希尔伯特矩阵

invhilb(n)求n阶的希尔伯特矩阵的逆矩阵

(用一般方法求逆会因原始数据的微小扰动而产生不可靠的计算结果)

toeplitz(x,y)生成一个以x为第1列,y为第1行的托普利兹矩阵(除第1行第1列外,

其他每个元素都与左上角的元素相同)[注:这里x,y均为向量,两者不必等长。toeplitz(x)用向量x生成一个对称的托普利兹矩阵]

compan(p)生成伴随矩阵

(其中p是一个多项式的系数向量,高次幂系数排在前,低次幂排在后)

pascal(n)生成一个n阶帕斯卡矩阵(由杨辉三角形表组成的矩阵)A\B A矩阵左除B矩阵(等效于A的逆左乘B矩阵,即inv(A)*B)A/B A矩阵右除B矩阵(等效于B的逆右乘A矩阵,即A*inv(B))A^x矩阵的乘方运算(A为方阵,x为标量)

find()找位置

diag(A)用于提取矩阵A主对角线元素,产生一个具有min(m,n)个元素的列向量(其中A为m×n矩阵)

diag(A,k)提取矩阵A的第k条对角线的元素

triu(A)求矩阵A的上三角阵

triu(A,k)求矩阵A的第k条对角线以上的元素

tril(A)求矩阵A的下三角阵

tril(A,k)求矩阵A的第k条对角线以下的元素

rot90(A,k)将矩阵A旋转90o的k倍

fliplr(A)对矩阵A实施左右翻转

flipud(A)对矩阵A实施上下翻转

inv(A)求A矩阵的逆矩阵

pinv(A)求A矩阵的伪逆(也称为广义逆矩阵)

det(A)求方阵A所对应的行列式的值

(把一个方阵看作一个行列式,并对其按行列式规则求得的值)

rank(A)求矩阵A的秩(矩阵线性无关的行数与列数称为矩阵的秩)

trace(A)求矩阵A的迹

(矩阵的迹等于矩阵的对角线元素之和,也等于矩阵的特征值之和)

norm(V)或norm(V,2)计算向量V的2—范数

norm(V,1)计算向量V的1—范数

norm(V,inf)计算向量V的∞—范数

cond(A,1)计算A的1—范数下的条件数

cond(A)或cond(A,2)计算A的2—范数数下的条件数

cond(A,inf)计算A的∞—范数下的条件数

E=eig(A)求A的全部特征值,构成向量E

[V,D]=eig(A)求A的全部特征值,构成对角阵D;并求A的特征向量构成V的列向量。[V,D]=eig(A,‘nobalance’)直接求矩阵A的特征值和特征向量。

sqrtm(A)计算矩阵A的平方根

logm(A)计算矩阵A的自然对数

expm(A)、expm1(A)

求矩阵指数eA

expm2(A)、expm3(A)

funm(A,‘fun’)计算直接作用于矩阵A的由‘fun’指定的超越函数值

funm(A,‘sqrt’)计算矩阵A的平方根,等价于sqrtm(A)

eval(t)把字符串的内容作为对应的MATLAB语句来执行(其中t为字符串)rmfield(A,‘i’)要删除结构A的成员i

2-matlab矩阵的代数运算 (1)

乘法运算乘法运算符为”*”,运算规则和现行代数中矩阵乘法运算相同,即放在前面的矩阵的行元素,分别与放在后面的矩阵的各列元素对应相乘并相加。 1、两个矩阵相乘:必须满足前一矩阵的列数等于后一矩阵的行数。 2、矩阵的数乘:返回数与矩阵中每一个元素相乘后的矩阵 3、向量的点乘(内积):维数相同的两个向量的点乘;A.*B表示A与B对应的元素相乘,返回的是一个向量 4、向量点积: (1)C=dot(A,B) %若A、B为向量,A与B长度相同;若为矩阵,则A与B有相同维数 (2)C=dot(A,B,dim) %在dim维数中给出A与B的点积 5、向量叉乘:在数学上,两向量的叉乘是一个过两向量交点且垂直于两向量所在平面的向量。 (1)C=cross(A,B) %若A、B为向量,则返回A与B的叉乘,即C=AXB;若为矩阵,则返回一个3Xn矩阵,其中列是A与B对应列的叉积,A、B都是3Xn矩阵 (2)C=cross(A,B,dim) %在dim维数中给出向量A与B的叉积注:A与B必须具有相同维数,size(A,dim)和size(B,dim)必须是3 6、矩阵卷积和多项式乘法:w=conv(u,v) (反褶积deconv(u,v))长度为m的向量序列u和长度为n的向量序列v的卷积定义为 ∑ = + = k 1 j j) -1 u(j)v(k )k( w,其中w向量序列长度为(m+n-1) 多项式的乘法实际上是多项式系数向量间的卷积运算,举例如下:展开多项式(s2+2s+2)(s+4)(s+1) >>w=conv([1,2,2],conv([1,4],[1,1])) w = 1 7 16 18 8 >>p=poly2str(w,’s’) %将w表示成多项式 p=s^4 +7 s^3 +16 s^2 +18 s + 8 7、张量积 C=kron(A,B) %A为mxn矩阵,B为pxq矩阵,则C为mpxnq矩阵A与B的张量积定义为: 加、减运算加、减运算符为”+”、”--”。运算规则为对应元素相加、减 pow2函数命令:X=pow2(F,E),表示F*2E;命令:X=pow2(E),表示2E 矩阵的代数 运算

matlab中的矩阵的基本运算命令

1.1 矩阵的表示 1.2 矩阵运算 1.2.14 特殊运算 1.矩阵对角线元素的抽取 函数diag 格式X = diag(v,k) %以向量v的元素作为矩阵X的第k条对角线元素,当k=0时,v为X的主对角线;当k>0时,v为上方第k条对角线;当k<0时,v为下方第k条对角线。 X = diag(v) %以v为主对角线元素,其余元素为0构成X。 v = diag(X,k) %抽取X的第k条对角线元素构成向量v。k=0:抽取主对角线元素;k>0:抽取上方第k条对角线元素;k<0抽取下方第k条对角线元素。 v = diag(X) %抽取主对角线元素构成向量v。 2.上三角阵和下三角阵的抽取 函数tril %取下三角部分 格式L = tril(X) %抽取X的主对角线的下三角部分构成矩阵L L = tril(X,k) %抽取X的第k条对角线的下三角部分;k=0为主对角线;k>0为主对角线以上;k<0为主对角线以下。函数triu %取上三角部分 格式U = triu(X) %抽取X的主对角线的上三角部分构成矩阵U U = triu(X,k) %抽取X的第k条对角线的上三角部分;k=0为主对角线;k>0为主对角线以上;k<0为主对角线以下。3.矩阵的变维 矩阵的变维有两种方法,即用“:”和函数“reshape”,前者主要针对2个已知维数矩阵之间的变维操作;而后者是对于一个矩阵的操作。 (1)“:”变维 (2)Reshape函数变维 格式 B = reshape(A,m,n) %返回以矩阵A的元素构成的m×n矩阵B B = reshape(A,m,n,p,…) %将矩阵A变维为m×n×p×… B = reshape(A,[m n p…]) %同上 B = reshape(A,siz) %由siz决定变维的大小,元素个数与A中元素个数 相同。 (5)复制和平铺矩阵 函数repmat 格式 B = repmat(A,m,n) %将矩阵A复制m×n块,即B由m×n块A平铺而成。 B = repmat(A,[m n]) %与上面一致 B = repmat(A,[m n p…]) %B由m×n×p×…个A块平铺而成 repmat(A,m,n) %当A是一个数a时,该命令产生一个全由a组成的m×n矩阵。 1.3 矩阵分解 1.3.1 Cholesky分解 函数chol 格式R = chol(X) %如果X为n阶对称正定矩阵,则存在一个实的非奇异上三角阵R,满足R'*R = X;若X非正定,则产生错误信息。 [R,p] = chol(X) %不产生任何错误信息,若X为正定阵,则p=0,R与上相同;若X非正定,则p为正整数,R是有序的上三角阵。 1.3.2 LU分解

Matlab常用函数数组及矩阵的基本运算

实验一 Matlab 常用函数、数组及矩阵的基本运算 一、 实验目的 1. 了解Matlab7.0软件工作界面结构和基本操作; 2. 掌握矩阵的表示方法及Matlab 常用函数; 3. 掌握数组及矩阵的基本运算. 二、 实验内容 1. 了解命令窗口(command widow)和变量空间(workspace)的作用,掌握清 除命令窗口(clc )和变量空间(clear)的方法.掌握查询函数(help)的方法. 2. 掌握保存和加载变量的方法. 加载变量:load 变量名. 3. 掌握掌握矩阵的表示方法: 给a,b,c 赋如下数据: ]6,46,23,4,2,6,3,8,0,1[,356838241248 7,278744125431-=??????????--=??????????=c b a 4. 求a+b,a*b,a.*b,a/b,a./b,a^2,a.^2的结果. 5. 将str1=electronic; str2 = information; str3 = engineering; 三个字符串连接 在一起成str = electronic information engineering. 6. 求矩阵a 的逆矩阵a -1,行列式计算。 (inv(a),det(a)) 三、 实验要求 1.上机操作,熟练掌握清除命令窗口和变量空间的方法、查询变量的方法、加载变量的方法。 2.第2道题请写出步骤。 3.对实验内容中第3-6项,写出指令,上机运行. 记录运行结果(数据)。 4.写出实验报告。 四、 实验结果 2. 用save 函数,可以将工作空间的变量保存成txt 文件或mat 文件等. 比如: save peng.mat p j 就是将工作空间中的p 和j 变量保存在peng.mat 中. 用load 函数,可以将数据读入到matlab 的工作空间中. 比如:load peng.mat 就是将peng.mat 中的所有变量读入matlab 工作空间中。

MATLAB矩阵及其运算函数表

MATLAB 矩阵及其运算函数表 函数名函数功能 abs( ) 绝对值、负数的模、字符串的ASCII码值都可用来求字符串矩阵所 对应的ASCII码数值矩阵double( ) char( ) 可以把ASCII码数值矩阵转换为字符串矩阵 fix( ) 向零方向取整 floor( ) 不大于自变量的最大整数 ceil( ) 不小于自变量的最小整数 round( ) 四舍五入到最邻近的整数 rem(x,y) 求余函数 mod(x,y) % exp( ) 指数函数 [ ] 空操作符 format 格式符设置或改变数据输出格式 (其中格式符决定数据的输出格式) e1:e2:e3 冒号表达式可以产生一个行向量 (其中e1为初始值,e2为步长,e3为终止值) linspace(a,b,n) 产生一个行向量 (其中a和b是生成向量的第一个和最后一个元素,n是元素总数) [注:linspace(a,b,n)与a:(b-a)/(n-1):b等价] A(:,j) 表示取A矩阵的第j列全部元素 A(i,:) 表示A矩阵第i行的全部元素 A(i,j) 表示取A矩阵第i行、第j列的元素 A(i:i+m,:) 表示取A矩阵第i~i+m行的全部元素 A(:,k:k+m) 表示取A矩阵第k~k+m列的全部元素 A(i:i+m,k:k+m) 表示取A矩阵第i~i+m行内,并在第k~k+m列中的所有元素 zeros 产生全0矩阵(零矩阵) ones 产生全1矩阵(幺矩阵) eye 产生单位矩阵 rand 产生0~1间均匀分布的随机矩阵 randn 产生均值为0,方差为1的标准正态分布随机矩阵 zeros(size(A)) 建立一个与矩阵A同样大小的零矩阵 reshape(A,m,n) 在矩阵总元素保持不变的前提下,将矩阵A重新排成m×n的二维矩阵magic(n) 生成一个n阶魔方矩阵(其每行、每列及两条对角线上的元素和都相等) vander(V) 生成以向量V为基础向量的范得蒙矩阵(最后一列全为1,倒数第二列为一个指定的向量,其他各列是其后列与倒数第二列的点乘积) hilb(n) 生成希尔伯特矩阵 invhilb(n) 求n阶的希尔伯特矩阵的逆矩阵 (用一般方法求逆会因原始数据的微小扰动而产生不可靠的计算结果) toeplitz(x,y) 生成一个以x为第1列,y为第1行的托普利兹矩阵(除第1行第1列外,

MATLAB中矩阵常用的操作函数

MATLAB中矩阵常用的操作函数 1. zeos : 生成零矩阵 2. ones : 生成1矩阵 3. eye : 生成单位矩阵 4. rand : 返回[0,1]之间的平均分布的随机数(矩阵) 5. randn : 返回标准正态分布的随机数(矩阵) 6. mean : 返回列的均值 7. std : 返回列的方差 8. magic : 返回魔方矩阵,即行、列,对角线元素之和都相等的矩阵 9. hilb : 返回Hilbert矩阵,即H(i,j)=1/(i+j-1) 的矩阵 10. toeplitz : 返回toeplitz矩阵 11. 常用运算: 和:A+B 积:A*B 转置:A',注意:如果A是复矩阵,则A'是共轭转置 行列式:det(A) 逆:inv(A) 内积:dot(a, b) 秩:rank(A) 迹:trace(A) 12. 线性方程组:Ax=b,可以用左除运算:x=A\b;也可以用逆运算:x=inv(A)*b,但效率不如左除运算。 13. Jordan 标准型:jordan(A),返回A的Jordan标准型。或者用两个参数接收结果:[V, J] = jordan(A),那么J是A的Jordan标准型,V是用到的相似变换矩阵,即A=V*J*inv(V)。 14. SVD分解,即奇异值分解:[U, S, V] = svd(A),A=USV'。 15. 特征值:eig(A)返回A的所有特征值。如果用两个参数接收结果:[E, F] = eig(A),那么E 的列是A的特征向量,F是A的特征值。 16. 范数: 1范数:norm(A, 1) 2范数:norm(A, 2) 无穷范数:norm(A, inf) Frobenius范数(也叫Euclid范数,简称F-范数或者E-范数),即A全部元素平方和的平方根:norm(A, 'fro') 17. 矩阵函数:通用方法是funm(A, @fun),即计算矩阵A的fun函数。

常见的matlab的运算函数

三角函数: ()里如果是角度必须是弧度,如果是矩阵的话则为对每个元素执行。cos(),tan()也是一样。 以2为底对数函数:log2(4)=2 以10为底对数函数:log10() 自然对数:log() 绝对值函数:abs(-2)=2 平方根函数:sqrt(2)=1.41 符号函数:sign(正数)=1 sign(负数)=-1 sign(0)=0 天花板函数ceil()向大的方向 地板函数floor()向小的方向 fix()向0的方向 圆整函数round()对数进行4舍5入,负数的话也对对应的正数4舍5入

取模函数 mod(5,3)=2 rem(5,3)=2 区别rem(-5,3)=-2 mod(-5,3)=1 多项式相乘函数:

conv()deconv()是相除 取最大和最小函数: max() min() 图中b为行向量或者是列向量 如果()里为矩阵,则输出每列的最大值(以行向量的形式)如果要求矩阵的最大值max(max(A)) mean(A)输出对应每列的平均值(以行向量的形式)

向量的求和和求积:

整个矩阵的总和sum(sum(A)),求积函数prod同理

多项式乘多项式展开的表达式: [1,1]表示x+1,1 2 1的意思是x^2+2*x+1 复数的函数 real(1+2i)=1(取实部) imag(1+2i)=2(取虚部) abs(1+2i)=2.23 angle(1+2i)=1.107 (在坐标系中对应的角度,即arctan 2=1.107 )取共轭复数: (1+2i)’=1-2i conj(1+2i)=1-2i dot(a,b)向量的内积 det(a)求行列式的值

MATLAB矩阵运算函数

MATLAB矩阵运算函数表 函数名函数功能 abs()绝对值、负数的模、字符串的ASCII码值都可用来求字符串矩阵所 对应的ASCII码数值矩阵double() char()可以把ASCII码数值矩阵转换为字符串矩阵 fix()向零方向取整 floor()不大于自变量的最大整数 ceil()不小于自变量的最小整数 round()四舍五入到最邻近的整数 rem(x,y)求余函数 mod(x,y)% exp()指数函数 []空操作符 format格式符设置或改变数据输出格式(其中格式符决定数据的输出格式) e1:e2:e3冒号表达式可以产生一个行向量 (其中e1为初始值,e2为步长,e3为终止值) linspace(a,b,n)产生一个行向量 (其中a和b是生成向量的第一个和最后一个元素,n是元素总数) [注:linspace(a,b,n)与a:(b-a)/(n-1):b等价] A(:,j)表示取A矩阵的第j列全部元素 A(i,:)表示A矩阵第i行的全部元素 A(i,j)表示取A矩阵第i行、第j列的元素 A(i:i+m,:)表示取A矩阵第i~i+m行的全部元素 A(:,k:k+m)表示取A矩阵第k~k+m列的全部元素 A(i:i+m,k:k+m)表示取A矩阵第i~i+m行内,并在第k~k+m列中的所有元素 zeros产生全0矩阵(零矩阵) ones产生全1矩阵(幺矩阵) eye产生单位矩阵 rand产生0~1间均匀分布的随机矩阵 randn产生均值为0,方差为1的标准正态分布随机矩阵 zeros(size(A))建立一个与矩阵A同样大小的零矩阵 reshape(A,m,n)在矩阵总元素保持不变的前提下,将矩阵A重新排成m×n的二维矩阵magic(n)生成一个n阶魔方矩阵(其每行、每列及两条对角线上的元素和都相等) vander(V)生成以向量V为基础向量的范得蒙矩阵(最后一列全为1,倒数第二列为一个指定的向量,其他各列是其后列与倒数第二列的点乘积) hilb(n)生成希尔伯特矩阵 invhilb(n)求n阶的希尔伯特矩阵的逆矩阵 (用一般方法求逆会因原始数据的微小扰动而产生不可靠的计算结果) toeplitz(x,y)生成一个以x为第1列,y为第1行的托普利兹矩阵(除第1行第1列外,

MATLAB中的矩阵与向量运算

4.1 数组运算和矩阵运算 从外观形状和数据结构来看,二维数组和数学中的矩阵没有区别.但是,矩阵作为一种变换或映射算符的体现,矩阵运算有着明确而严格的数学规则.而数组运算是MATLAB软件所定义的规则,其目的是为了数据管理方面,操作简单,指令形式自然和执行计算有效.所以,在使用MATLAB时,特别要明确搞清数组运算和矩阵运算的区别.表4.1.1列出了两种运算指令形式的实质内涵的异同. 4.1.1 数组运算和矩阵运算指令形式和实质内涵 数组运算矩阵运算 指令含义指令含义 A.'非共轭转置A'共轭转置 A=s把标量s赋给数组A的每个元素 s+B把标量s分别与数组B的每个元素相加s-B, B-s标量s分别与数组B的元素之差 s.*A标量s分别与数组A的元素之积s*A标量s分别与矩阵A的元素之积 s./B, B.\s标量s分别被数组B的元素除s*inv(B)矩阵B的逆乘标量s A.^n数组A的每个元素的n次方A^nA为方阵时,矩阵A的n次方 A+B数组对应元素的相加A+B矩阵相加 A-B数组对应元素的相减A-B矩阵相减 A.*B数组对应元素的相乘A*B内维相同矩阵的乘积 A./BA的元素被B的对应元素除A/BA右除B B.\A一定与上相同B\AA左除B(一般与右除不同) exp(A)以e为底,分别以A的元素为指数,求幂expm(A)A的矩阵指数函数 log(A)对A的各元素求对数logm(A)A的矩阵对数函数 sqrt(A)对A的积各元素求平方根sqrtm(A)A的矩阵平方函数 从上面可以看到,数组运算的运算如:乘,除,乘方,转置,要加"点".所以,我们要特别注意在求"乘,除,乘方,三角和指数函数"时,两种运算有着根本的区别.另外,在执行数组与数组运算时,参与运算的数组必须同维,运算所得的结果数组也是总与原数组同维. 4.2 数组的基本运算 在MATLAB中,数组运算是针对多个数执行同样的计算而运用的.MATLAB以一种非常直观的方式来处理数组. 4.2.1 点转置和共轭转置 . ' ——点转置.非共轭转置,相当于conj(A'). >> a=1:5; >> b=a. ' b = 1 2 3 4 5 >> c=b. ' c = 1 2 3 4 5 这表明对行向量的两次转置运算便得到原来的行向量. ' ——共轭转置.对向量进行转置运算并对每个元素取其共轭.如:

matlab矩阵运算函数

一、Matlab矩阵运算 1.变数也可用来存放向量或矩阵,并进行各种运算.如下面的列向量运算: x=[1 3 5 2]; y=2*x+1 y = 3 7 11 5 2.变数命名的规则 (1)第一个字母必须是英文字母 (2)字母间不可留空格 (3)最多只能有19个字母,MATLAB会忽略多余字母 我们可以随意更改、增加或删除向量的元素: y(3) = 2 %更改第三个元素 y = 3 7 2 5 y(6) = 10 %加入第六个元素 y = 3 7 2 5 0 10 y(4) = [] %删除第四个元素 y = 3 7 2 0 10 MATLAB会忽略所有在百分比符号(%)之后的文字,因为百分比之后的文字为程式的注解 量,具体执行方法为:输入A矩阵 >>A=[0 1;-6 -5] A= 0 1 -6 -5 E=eig(A) %求出方阵A的特征根E E= -2 -3 [V,D]=eig(A) %求出方阵A的特征向量V及其A的对角型D V= 0.4472 -0.3162 -0.8944 0.9487 D=

-2 0 0 -3 4.考虑一个“数学问题”, 该问题用半数学语言描述就是:如何生成一个 3x3 矩阵, 并将自然数 1, 2, ..., 9 分别置成这 9 个矩阵元素,才能使得每一行、每一列、且主、反对角线上元素相加都等于一个相同的数。这样的矩阵称为“魔方矩阵”。用 MATLAB 的 magic() 函数,我们可以由下面的命令立即生成这样的矩阵: >>A=magic(3) A= 8 1 6 3 5 7 4 9 2 还可以由B=magic(10)一次生成 10x10 的魔方矩阵。如果想求出矩阵的行列式和特征值,可以分别由 det(B) 与 eig(B) 立即得出结果 二、特殊矩阵 zeros函数是形成元素皆为0 的矩阵;ones函数是形成元素皆为 1 的矩阵;eye则是产生一个单位矩阵,之所以称为eye是取其发音与原来单位矩阵符号I 相同,而又避免与定义复数中的虚部所用的符号i雷同,所以改以eye替代。上述三个函数的使用语法都相似,如zeros(m)可以产生一个m×m的正方矩阵,而zeros(m,n)产生的是m×n的矩阵。也可以使用这三个函数将一m×n矩阵原来元素全部取代成0, 1 或是单位矩阵的值,不过要加上size指令来指出其矩阵大小是m,n,所以语法为zeros(size(A)),其中A是原来矩阵。 >> A=zero(2) %0的矩阵 A= 0 0 0 0 >> B=zeros(2,3) B= 0 0 0 0 0 0 >> C=[1 2; 3 4; 5 6]; >> size(C) %使用 size 指令得到C矩阵的大小 ans = 3 2 >>D=zeros(size(C)) %加上size指令将矩阵C 原来的元素全部以0取代 >>A=ones(2),B=ones(2,3) %1的矩阵 A= 1 1 1 1 B= 1 1 1 1 1 1 三、Matlab矩阵运算函数

MATLAB中的矩阵运算函数

1,round函数 函数简介 调用格式:Y = round(X) 在matlab中round也是一个四舍五入函数。对数组A中每个元素朝最近的方向取整数部分,并返回与A同维的整数数组B,对于一个复数参量A,则分别对其实部和虚数朝最近的方向取整数部分,并返回一复数数据B。 (1)fix(x) : 截尾取整. >>fix( [3.12 -3.12]) ans =3 -3 (2)floor(x):不超过x 的最大整数.(高斯取整) >>floor( [3.12 -3.12]) ans =3 -4 (3)ceil(x) : 大于x 的最小整数 >>ceil( [3.12 -3.12]) ans =4 -3 (4)四舍五入取整 >> round(3.12 -3.12) ans =0 >> round([3.12 -3.12]) ans =3 -3 2,reshape函数:重新调整矩阵的行数、列数、维数 先给上一段代码: >> a=[1 2 3;4 5 6;7 8 9;10 11 12]; >> b=reshape(a,2,6); 这段代码的结果是这样的: >>a 1 2 3 4 5 6 7 8 9 10 11 12 >>b 1 7 2 8 3 9 4 10 5 11 6 12 对于 b=reshape(a,m,n); 其中的规律是这样的,先把矩阵a按列拆分,然后拼接成一个大小为m*n的向量。然后对这个向量每隔m间隔取一个元素组成一个向量b_i,之后的向量b_i+1也是这样生成,只不过第一个元素往下移一位。这样做完之后得到m个大小为n的行向量,将这些行向量拼接即可得到矩阵b。 3,取模(mod)与取余(rem) 通常取模运算也叫取余运算,它们返回结果都是余数.rem和mod唯一的区别在于:当x和y的正负号一样的时候,两个函数结果是等同的;当x和y的符号不同时,rem 函数结果的符号和x的一样,而mod和y一样。 这是由于这两个函数的生成机制不同,rem函数采用fix函数,而mod函数采用了floor 函数(这两个函数是用来取整的,fix函数向0方向舍入,floor函数向无穷小方向舍入)。 rem(x,y)命令返回的是x-n.*y,如果y不等于0,其中的n = fix(x./y),而mod(x,y)返回的是x-n.*y,当y不等于0时,n=floor(x./y)

相关文档
相关文档 最新文档