文档视界 最新最全的文档下载
当前位置:文档视界 › 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

celldisp(a) 用来显示整个单元矩阵a

A=sparse(S) 将矩阵S转化为稀疏存储方式的矩阵A sparse(m,n) 生成一个m×n的所有元素都是0的稀疏矩阵

sparse(u,v,S)-- 建立一个max(u)行、max(v)列并以S为稀疏元素的稀疏矩阵

(其中u,v,S是3个等长的向量。S是要建立的稀疏矩阵的非0元素,u(i)、v(i)分别是S(i)的行和列下标)

B=spconvert(A) 根据表示稀疏矩阵的矩阵A,产生一个稀疏存储方式矩阵B

A=spdiags(B,d,m,n) 产生带状稀疏矩阵的稀疏存储(参数m,n为原带状矩阵的行数与列数)speye(m,n) 返回一个m×n的稀疏存储单位矩阵

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函数。

matalb矩阵计算(MATLAB矩阵计算)

matalb矩阵计算(MATLAB矩阵计算)matalb矩阵计算(MATLAB矩阵计算) 4.1 array operations and matrix operations From the appearance of the shape and structure of the data matrix, two-dimensional array and no difference in mathematics. However, as the embodiment of a matrix transformation or mapping operator matrix with mathematical rules, clear and strict. And array operation is defined by the software of MATLAB rules, its purpose is for data management, simple operation. The instruction form nature and perform calculations effectively. Therefore, when using MATLAB, in particular to a clear distinction between clear array operations and matrix operations. Table 4.1.1 lists the similarities and differences between the essence and connotation of two kinds of operation instruction. 4.1.1 array operations and matrix operations, instruction forms and substantive meaning Array operation Matrix operation instructions Meaning instructions Meaning A.' Non conjugate transpose

常见的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中创建矩阵有以下规则: a、矩阵元素必须在”[ ]”内; b、矩阵的同行元素之间用空格(或”,”)隔开; c、矩阵的行与行之间用”;”(或回车符)隔开; d、矩阵的元素可以是数值、变量、表达式或函数; e、矩阵的尺寸不必预先定义。 二,矩阵的创建: 1、直接输入法 最简单的建立矩阵的方法是从键盘直接输入矩阵的元素,输入的方法按照上面的规则。建立向量的时候可以利用冒号表达式,冒号表达式可以产生一个行向量,一般格式是:e1:e2:e3,其中e1为初始值,e2为步长,e3为终止值。还可以用linspace函数产生行向量,其调用格式为:linspace(a,b,n) ,其中a和b是生成向量的第一个和最后一个元素,n是元素总数。 2、利用MATLAB函数创建矩阵 基本矩阵函数如下: (1) ones()函数:产生全为1的矩阵,ones(n):产生n*n维的全1矩阵,ones(m,n):产生m*n 维的全1矩阵; (2) zeros()函数:产生全为0的矩阵; (3) rand()函数:产生在(0,1)区间均匀分布的随机阵; (4) eye()函数:产生单位阵; (5) randn()函数:产生均值为0,方差为1的标准正态分布随机矩阵。 3、利用文件建立矩阵 当矩阵尺寸较大或为经常使用的数据矩阵,则可以将此矩阵保存为文件,在需要时直接将文件利用load命令调入工作环境中使用即可。同时可以利用命令reshape对调入的矩阵进行重排。reshape(A,m,n),它在矩阵总元素保持不变的前提下,将矩阵A重新排成m*n的二维矩阵。 二、矩阵的简单操作 1.获取矩阵元素

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-GUI矩阵计算器

数学应用软件工具箱开发 ——矩阵计算器 姓名: *** 学号:******** 指导老师: *** 专业:******** 2014年9月11日

一.操作过程 1.准备工作 ①在Matlab的主窗口中,选择File菜单中的New菜单项,再选择其中的GUI 命令,就会显示GUI的设计模板; ②选择GUI模板中的默认的空白模版Blank GUI(Default)就会显示GUI设计窗口,可以开始设计矩阵计算器了。 2.设计过程 ①在GUI界面中加入以下控件: 1>2个文本编辑器(edit text)作为输入矩阵的窗口; 2>16个用以执行运算的按钮(push button); 3>4个静态文本框(static text),其中一个作为显示计算所得结果的窗口,另外3个分别作为表示所输入的矩阵(A、B)以及用来输入标题(矩阵计算器); 4>加入3个按钮组(button group)分别圈住: a.1>中的2个控件及3>中的A、B; b.2>中的16个计算按钮; c.3>中的显示计算结果的窗口。 ②分别双击以上25个控件修改其string属性如下: 1>中的改为空白(将原有的“edit text”删掉); 2>中的改为对应的矩阵运算或文字,如“+”、“/R”、“秩”、“逆”等(见图1); 3>中的按顺序改为空白、“A”、“B”以及“矩阵计算器”; 4>中的按钮组分别改为“输入区”、“功能区”、“输出区”。 ③对每个控件分别单击右键,选择“view callback”→“callback”→“保存”,在每个控件的函数后加入代码(见附件)。 ④此外,还需要做的小变动有: 1>②中修改string属性时通过修改fontWeight及fontSize把string的字符粗细、字号也一并修改了。 2>分别双击2个文本编辑器(edit text)将其max属性取值为100或更大的值,以使编辑器有滚动条,方便显示输入的维数比较大的矩阵。 3>双击计算结果窗口将其style改为listbox,也用于显示维数比较大的计算结果。

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)

MATLAB矩阵计算大全

MATLAB矩阵计算大全 2007-11-06 13:09 A+B,A-B,8A,A的平方,A*B,矩阵A的逆. 1.A+B >>A=ones(3);B=magic(3);C=A+B 2.A-B >>%同上 3.8A >>8*A 4.A的平方,A*B,矩阵A的逆. >>A.^2;A^2;A*B;A.*B;inv(A); 注意:像带点"."时对应元素相乘((如A.*B)),不带时矩阵相乘(如A*B). % 由m行n列构成的数组称为(m×n)阶矩阵。 % 用"[]"方括号定义矩阵; % 其中方括号内","逗号或" "空格号分隔矩阵列数值; % ";"分号或"Enter"回车键分隔矩阵行数值。 % 例:a=[a11 a12 a13;a21 a22 a23]或a=[a11,a12,a13;a21,a22,a23]定义了一个2*3 % 阶矩阵a。 % aij可以为数值、变量、表达式或字符串,如为数值与变量得先赋值,表达式和变量可以 % 以任何组合形式出现,字符串须每一行中的字母个数相等,调用时缺省状态按行顺序取字% 母,如a(1)为第一行第一个字母。 % % 常用函数如下:函数命令说明 % size(a) % [d1,d2,d3,..]=size(a) 求矩阵的大小,对m*n二维矩阵,第一个为行数m,第二个为 % 列数n; % 对多维矩阵,第N个为矩阵第N维的长度。 % cat(k,a,b) 矩阵合并,运行a = magic(3) % b = pascal(3) % c = cat(4,a,b) % 改4为3或2或1,自己体会合并后的效果。 % k=1,合并后形如[a;b],行添加矩阵(要求a,b的列数相等才能合并); % k=2,合并后形如[a,b],列添加矩阵(要求a,b的行数相等才能合并),以此类推,n维的矩 % 阵合并,要求n-1维维数相等才可以)。

MATLAB矩阵运算基础练习题

第2章 MATLAB 矩阵运算基础 在MATLAB 中如何建立矩阵?? ?? ??194375,并将其赋予变量a 请产生一个100*5的矩阵,矩阵的每一行都是[1 2 3 4 5] 产生一个1x10的随机矩阵,大小位于(-5 5) 有几种建立矩阵的方法各有什么优点 可以用四种方法建立矩阵: ①直接输入法,如a=[2 5 7 3],优点是输入方法方便简捷; ②通过M 文件建立矩阵,该方法适用于建立尺寸较大的矩阵,并且易于修改; ③由函数建立,如y=sin(x),可以由MATLAB 的内部函数建立一些特殊矩阵; ④通过数据文件建立,该方法可以调用由其他软件产生数据。 在进行算术运算时,数组运算和矩阵运算各有什么要求 进行数组运算的两个数组必须有相同的尺寸。进行矩阵运算的两个矩阵必须满足矩阵运算规则,如矩阵a 与b 相乘(a*b )时必须满足a 的列数等于b 的行数。 数组运算和矩阵运算的运算符有什么区别 在加、减运算时数组运算与矩阵运算的运算符相同,乘、除和乘方运算时,在矩阵运算的运算符前加一个点即为数组运算,如a*b 为矩阵乘,a.*b 为数组乘。 计算矩阵??????????897473535与???? ??????638976242之和,差,积,左除和右除。 求?? ?? ??+-+-+-+-++=i 44i 93i 49i 67i 23i 57i 41i 72i 53i 84x 的共轭转置。 计算???? ??=572396a 与??????=864142b 的数组乘积。 “左除”与“右除”有什么区别 在通常情况下,左除x=a\b 是a*x=b 的解,右除x=b/a 是x*a=b 的解,一般情况下,a\bb/a 。 对于B AX =,如果??????????=753467294A ,???? ??????=282637B ,求解X 。 已知:???? ??????=987654321a ,分别计算a 的数组平方和矩阵平方,并观察其结果。 ??????-=463521a ,?? ????-=263478b ,观察a 与b 之间的六种关系运算的结果。

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