第三节 matlab数组和矩阵运算

合集下载

matlab PPT第三章 矩阵运算

matlab PPT第三章  矩阵运算
– 使计算程序简单、易读,使程序指令更接近于数学计算公式; – 提高程序的向量化程度,提高计算效率,节省计算机开销。
西安邮电学院计算机系
Matlab程序设计基础
例: 绘制函数 y xex在0 x 1时的曲线。 x=[0:0.1:1] y=x.*exp(-x) plot(x,y) 图解
西安邮电学院计算机系
Matlab程序设计基础
引导
数组:是指由一组实数或复数排成的长方阵列(Array)。 数组运算:是指无论在数组上施加什么运算(+、-、×、
÷或函数),总认为那种运算对被运算数组中的每个元素 (Element)平等地实施同样的操作。 MATLAB精心设计数组和数组运算的目的在于:
西安邮电学院计算机系
Matlab程序设计基础
Sub2ind([3,5],2,3) ans = 8
[a,b]=Ind2sub([3,5],8) a= 2 b= 3
西安邮电学院计算机系
Matlab程序设计基础
“逻辑1”标识
所谓“逻辑1”标识 法是:通过与原数组A同样 大小的逻辑数组L中“逻辑值1”所在的位置,指 出A中元素的位置。
西安邮电学院计算机系
Matlab程序设计基础
多(高)维数组的定义
数组的第一维称为“行(Row)”,第二维称 为“列(Column)”,第三维称为“页 (Page)”,第四维称为“箱 (Box)”,……
西安邮电学院计算机系
Matlab程序设计基础
多(高)维数组的创建
创建多维数组最常用的四种方法:
虽然数组运算尚缺乏严谨的数学推理,数组运 算本身仍在完善和成熟中,但它的作用和影响 正随着MATLAB的发展而扩大。

matlab矩阵运算和数组运算

matlab矩阵运算和数组运算

matlab矩阵运算和数组运算作者:佚名教程来源:网络点击数:1368 更新时间:2010-5-3矩阵运算和数组运算是Matlab的数值运算中的两大类运算。

矩阵运算是按矩阵运算法则进行的运算;数组运算无论是何种运算操作都是对元素逐个进行。

矩阵运算和数组运算指令对照汇总矩阵运算指令指令含义数组运算指令指令含义A' 矩阵转置 A.+B 对应元素相加A+B 矩阵相加 A.-B 对应元素相减A-B 矩阵相减 A.*B 同维数组对应元素相乘s+B 标量加矩阵 s.*A A的每个元素乘ss-B,B-s 标量矩阵相减 A./B A的元素被B的对应元素除A*B 矩阵相乘 B.\A 同上A/B A右除B s./B, B.\s s 分别被B的元素除B\A A左除B A.^n A的每个元素自乘n 次inv(A) 矩阵求逆 log(A) 对A的每个元素求对数A^n 矩阵的n次幂 sqrt(A) 对A的每个元素求平方根f(A) 求A的各个元素的函数值例:a=[1 2 3; 4 5 6; 7 8 9];b=[1 2 3; 3 2 1;1 4 5];c=[1 1 1;2 3 1;1 0 2];d=a*c^2+bd =32 31 3682 79 82128 129 1343.4 矩阵函数和数组函数3.4.1 基本数组函数数组函数是对各个元素的函数设计的。

f(.)基本函数表函数名称功能函数名称功能sin 正弦 acosh 反双曲余弦cos 余弦 atanh 反双曲正切tan 正切 acoth 反双曲余切cot 余切 asech 反双曲正割sec 正割 acsch 反双曲余割csc 余割 fix 朝零方向取整asin 反正弦 ceil 朝正无穷大方向取整acos 反余弦 floor 朝负无穷大方向取整atan 反正切 round 四舍五入到整数atan2 四象反正切 rem 除后取余数acot 反余切 sign 符号函数asec 反正割 abs 绝对值acsc 反余割 angle 复数相角sinh 双曲正弦 imag 复数虚部cosh 双曲余弦 real 复数实部tanh 双曲正切 conj 复数共轭coth 双曲余切 log10 常用对数sech 双曲正割 log 自然对数csch 双曲余割 exp 指数asinh 反双曲正弦 aqrt 平方根f(.)特殊函数表函数名称功能函数名称功能bessel 第一、第二类Bessel函数 erf 误差函数beta Beta函数 eerfinv 逆误差函数gamma Gamma函数 ellipk 第一、第二类全椭圆积分rat 有理近似 ellipj Jacobi椭圆函数3.4.2 基本矩阵函数基本矩阵函数指令函数指令指令含义函数指令指令含义cond(A) 矩阵的条件数(最大奇异值除以最小奇异值) svd(A) 矩阵的奇异值分解det(A) 方阵的行列式 trace(A) 矩阵的迹dot(A,B) 矩阵的点积 expm(A) 矩阵指数eig(A) 矩阵的特征值 expm1(A) 用Pade近似求norm(A,1) 矩阵1-范数 expm2(A) 用Taylor级数近似求,精度稍差,但对任何方阵适用norm(A) 矩阵的2-范数 expm3(A) 用矩阵分解求,仅当独立调整向量数目等于秩时适用norm(A,inf) 矩阵的无穷范数 logm(A) 矩阵对数ln(A)norm(A,'fro') 矩阵的f-范数(全部奇异值平方和的正平方根) sqrtm(A) 平方根矩阵rank(A) 矩阵的秩(非零奇异值的个数)rcond(A) 矩阵的倒条件数 funm(A,'fn') A阵的一般矩阵函数例:注意观察奇异值与矩阵各性质的关系a=magic(5);s=svd(a)'d=det(a),t=trace(a),rk=rank(a),c=cond(a)n1=norm(a,1),n2=norm(a),ninf=norm(a,inf),nf=norm(a,'fro')s =65.0000 22.5471 21.6874 13.4036 11.9008d =5070000t =65rk =5c =5.4618n1 =65n2 =65.0000ninf =65nf =74.33033.5 线性方程组的直接解法线性方程组Ax=b,A是的系数矩阵1) 当n=m且非奇异时,此方程称为“恰定”方程(Properly Determined Equation)2) 当n>m时,此方程称为“超定”方程(Overdetermined Equation)3) 当n<m时,此方程称为“欠定”方程(Underdetermined Equation)3.5.1 矩阵逆和除法解恰定方程组(1)采用求逆运算:x=inv(A)*b(2)采用左除运算:x=A\b说明:1、由于MATLAB 遵循IEEE算法,所以即使A阵奇异,该运算也照样进行。

matlab中的矩阵运算和数组运算方法

matlab中的矩阵运算和数组运算方法

matlab中的矩阵运算和数组运算方法MATLAB 具有两种不同类型的算术运算:数组运算和矩阵运算。

您可以使用这些算术运算来执行数值计算,例如两数相加、计算数组元素的给定次幂或两个矩阵相乘。

矩阵运算遵循线性代数的法则。

数组运算则是执行逐元素运算并支持多维数组。

句点字符(.) 将数组运算与矩阵运算区别开来。

但是,由于矩阵运算和数组运算在加法和减法的运算上相同,因此没有必要使用字符组合 .+ 和 .-。

数值运算加法,例如A+B,+B减法,例如A-B,-B按元素乘法。

点乘,A.*B 表示 A 和 B 的逐元素乘积。

按元素求幂,A.^B 表示包含元素 A(i,j) 的 B(i,j) 次幂的矩阵。

数组右除,A./B 表示包含元素 A(i,j)/B(i,j) 的矩阵。

数组左除,A.\B 表示包含元素 B(i,j)/A(i,j) 的矩阵。

数组转置,A.' 表示 A 的数组转置。

对于复矩阵,这不涉及共轭。

矩阵运算矩阵乘法,C = A*B 表示矩阵 A 和 B 的线性代数乘积。

A 的列数必须与 B 的行数相等。

矩阵左除,x = A\B 是方程 Ax = B 的解。

矩阵 A 和 B 必须拥有相同的行数。

A\B = inv(A)*B矩阵右除,x = B/A 是方程 xA = B 的解。

矩阵 A 和 B 必须拥有相同的列数。

有B/A = (A'\B')'。

矩阵幂,A^B 表示 A 的 B 次幂(如果 B 为标量)。

对于 B 的其他值,计算包含特征值和特征向量。

转置,A' 表示 A 的线性代数转置。

对于复矩阵,这是复共轭转置。

逆矩阵,inv(A)或者A^(-1),A必须是方矩阵,也就是需要行列数相等。

行列式值,det(A)说明当方程形式是Ax=B时,则x=A\B=inv(A)*B;当方程形式是xA=B时,则x=B/A=B*inv(A);其中inv()是求逆矩阵。

3MATLAB数值矩阵数组运算和数据图形处理及数据可视化

3MATLAB数值矩阵数组运算和数据图形处理及数据可视化
2019/2/15 26
基本二维图形绘制
• • • • • plot函数 坐标的设定 图形的标注 其他命令介绍 特殊图形
27
2019/2/15
基本二维图形绘制-plot函数
plot 函数是最基本的二维图形绘制函数,也是最重要 的函数之一。该函数有不同的输入参数以实现不同 的功能,具体用法如下: • plot(y) 其中,y是一个向量。plot以该参数的值为纵坐标, 横坐标从一开始自动赋值为向量[1 2 3 …],向量的 方向和长度与参数y相同。 • plot(x,y) 这是最常见的形式。x为横坐标向量,y为纵坐标 向量。
2019/2/15 14
MATLAB数组运算基础
• 数组的定义(即创建)
• 数组的计算
数学计算、关系运算和逻辑运算
2019/2/15
15
MATLAB数组运算基础
• 数组的定义(创建) 数组也是MATLAB中的一种重要的数据类 型,虽然它的创建方法和矩阵一样,但在 计算上,它与矩阵有很大的不同,也就是 说,数组和矩阵有着不同的使用方法。
2019/2/15 28
基本二维图形绘制-plot函数(2)
• plot(x1,y1,x2,y2…)
用这种形式,我们可以在同一个窗口中绘制多条不同的曲线,而且每条 曲线可以有不同的横坐标。这种方式用于对不同的曲线进行比较。
• plot(x,y,选项) 这里的选项包括线型、颜色、数据点标记符号等 特性的设置。利用这些选项可以把同一窗口的不同 曲线设置为不同的格式,便于区别。这些选项还可 以组合使用。选项由三个字符组成,第一个字符表 示用于连线的字符,第二个字符表示曲线的颜色, 第三个字符表示用于标出数据点的字符。
2019/2/15

[Matlab]数组运算和矩阵运算

[Matlab]数组运算和矩阵运算

上面方程是超定方程.要注意的:结果矩阵 x 是列向量形式.如果, >> a=[21 34 20 5; 78 20 21 14; 17 34 31 38]; >> b=[10 20 30]'; >> x=b\a x= 1.6286 1.2571 1.1071 1.0500 上面的方程为不定方程. 4. 矩阵与标量间的四则运算 矩阵与标量的四则运算和数组与标量间的四则运算完全相同,即矩阵中的每个元素与标量进 行加,减,乘,除四则运算.需要说明的是,当进行除法运算时,标量只能做除数. 5. 矩阵的幂运算 矩阵的幂运算与标量的幂运算不同.用符号"^",它不是对矩阵的每个元素进行幂运算,而是与 矩阵的某种分解有关. >> b=[21 34 20; 78 20 21; 17 34 31]; >> c=b^2 c= 3433 2074 1754 3555 3766 2631 3536 2312 2015 6. 矩阵的指数,对数运算与开方运算 矩阵的指数运算,对数运算与开方运算与数组相应的运算是不同的.它并不是对矩阵中的单个 元素的运算,而是对整个矩阵的运算.这些运算函数如下: expm, expm1, expm2, expm3 —— 指数运算函数; logm —— 对数运算函数; sqrtm —— 开方运算函数. >> a=[1 3 4; 2 6 5; 3 2 4]; >> c=expm(a) c= 1.0e+004 * 0.4668 0.7694 0.9200
矩阵 B 的逆乘标量 s A.^n 数组 A 的每个元素的 n 次方 A^n A 为方阵时,矩阵 A 的 n 次方 A+B 数组对应元素的相加 A+B 矩阵相加 A-B 数组对应元素的相减 A-B 矩阵相减 A.*B 数组对应元素的相乘 A*B 内维相同矩阵的乘积 A./B A 的元素被 B 的对应元素除 A/B A 右除 B B.\A 一定与上相同 B\A A 左除 B(一般与右除不同) exp(A) 以 e 为底,分别以 A 的元素为指数,求幂 expm(A) A 的矩阵指数函数 log(A)

Matlab矩阵运算基础(数值运算)

Matlab矩阵运算基础(数值运算)
4、 矩阵的幂运算:^ 矩阵的幂运算:^ A^B A的B次方。 A的 (1)A和B都是标量时,表示标量A的B次幂。 都是标量时,表示标量A (2)A为矩阵,B为标量时要求A必须是方阵。 为矩阵,B为标量时要求A (a)B为正整数时,幂运算即为矩阵A的自乘运 为正整数时,幂运算即为矩阵A 算,B 算,B为自乘次数。 (b)B为负整数时,幂运算为A-1的自乘运算, 为负整数时,幂运算为A - B为矩阵自乘的次数
6
3.1 矩阵的创建
2、矩阵的创建方法: (1)命令窗口直接输入元素序列创建矩阵。 (2)在M文件中用MATLAB语句创建矩阵。 )在M文件中用MATLAB语句创建矩阵。 (3)通过MATLAB内部函数创建矩阵。 )通过MATLAB内部函数创建矩阵。 (4)通过外部数据文件导入创建矩阵。 (5)冒号法。
10
3.1.3 通过函数创建矩阵
MATLAB中提供了一些内部函数来生成特殊矩 MATLAB中提供了一些内部函数来生成特殊矩 阵如eye生成单位阵,zeros(3) 阵如eye生成单位阵,zeros(3) , rand(2,3) , magic(3)等。 magic(3)等。 常用的生成特殊矩阵的函数将在3.3.1节介绍。 常用的生成特殊矩阵的函数将在3.3.1节介绍。
注意:在A.\B的结果中,“Inf”表示无穷大,在MATLAB中,被零 注意: A.\ 的结果中,“Inf”表示无穷大,在MATLAB中,被零 除或浮点溢出都不按错误处理,只是给出警告信息,同时用“Inf” 除或浮点溢出都不按错误处理,只是给出警告信息,同时用“Inf” 20 标记。
3.2.1 矩阵的算术运算
8
3.1.2 通过M文件创建矩阵 通过M
当矩阵的规模较大时,直接输入法就力不从 心,出现差错也不容易修改。因此可以使用 M文件生成矩阵。 方法是:建立一个M 方法是:建立一个M文件,其内容是生成矩 阵的命令,在MATLAB的命令窗口中输入此文 阵的命令,在MATLAB的命令窗口中输入此文 件名,即将矩阵调入工作空间(写入内存)。

matlab3-数组及矩阵运算

matlab3-数组及矩阵运算

例如:
x=linspace(0,pi,11) %从0开始到pi等距产生 11个元素的行向量x
x =Columns 1 through 10 0 0.3142 0.6283 0.9425
Column 11 3.1416
1.2566
1.5708
1.8850
2.1991
2.5133
2.8274
矩阵运算与函数
函数名
含义
[]
空矩阵
eye(n) ones(m,n) rand(m,n) zeros(m,n)
n阶单位矩阵
元素全为1的m×n矩阵
元素服从0到1之间均匀分布的m×n矩阵 元素全为0的m×n矩阵
magic(n)
n阶魔方矩阵
向量和矩阵的建立与访问
在《射雕》中郭黄二人被裘 千仞追到黑龙潭,躲进瑛姑 的小屋。瑛姑出了一道题: 数字1-9填到三行三列的表 格中,要求每行、每列、及 两条对角线上的和都相等。 这道题难倒了瑛姑十几年, 被黄蓉一下子就答出来了。
b=[1 2 3;1 1 1]; %输入右端矩阵
X=b/a
%用/除法直接求方程组的解X
X= 3.0000 -2.0000 -6.0000 2.0000 -1.5000 -5.0000
linspace(a,b,n)
结果是将[a,b]等分称n-1段,返回由端点及分段点坐标所产生的n 个元素的行向量。
>> help linspace LINSPACE Linearly spaced vector. LINSPACE(X1, X2) generates a row vector of 100
linearly equally spaced points between X1 and X2.

第3章 Matlab中的矩阵及其运算

第3章 Matlab中的矩阵及其运算

第3章Matlab中的矩阵及其运算矩阵是数学中一个十分重要的概念,其应用能够十分广泛,Matlab中最基本最重要的功能就是进行矩阵运算,其所有数值功能都已矩阵为基本单元来实现,掌握Matlab中的矩阵运算是十分重要的。

关键词:Matlab 矩阵特殊矩阵一、矩阵的生成1、矩阵生成有多种方式,通常使用的有四种:(1)在命令窗口中直接输入矩阵(2)通过语句和函数产生矩阵(3)在M文件中建立矩阵(4)从外部的数据文件中导入矩阵其中第一种是最简单常用的创建数值矩阵的方法,较适合创建较小的简单矩阵。

把矩阵的元素直接排列到方括号中,每行内元素用空格或逗号相隔,行与行之间的内容用分号相隔。

如:matrix=[1,1,1,1;2,2,2,2;3,3,3,3;4,4,4,4] %逗号形式相隔matrix =1 1 1 12 2 2 23 3 3 34 4 4 4matrix=[1 1 1 1;2 2 2 2 ;3 3 3 3;4 4 4 4] %采用空格形式相隔matrix =1 1 1 12 2 2 23 3 3 34 4 4 42、特殊矩阵的生成1、零矩阵和全1矩阵零矩阵指各个元素都为零的矩阵。

(1)A=zeros(M,N)命令中,A为要生成的零矩阵,M和N分别为生成矩阵的行和列。

(2)若存在已知矩阵B,要生成与B维数相同的矩阵,可以使用命令A=zeros(size(B))。

(3)要生成方阵时,可使用命令A=zeros(N)来生成N阶方针。

全1矩阵用ones函数实现。

A=zeros(4,5)A =0 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 0B=[1 2 3 4 5 ;2 3 4 5 6 ;9 8 7 6 5 ;8 7 6 5 4]B =1 2 3 4 52 3 4 5 69 8 7 6 58 7 6 5 4A=zeros(size(B))A =0 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 0A=zeros(5)A =0 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 0C=ones(5,6)C =1 1 1 1 1 11 1 1 1 1 11 1 1 1 1 11 1 1 1 1 11 1 1 1 1 1 C=ones(3)C =1 1 11 1 11 1 12、单位矩阵的生成(1)A=eye(M,N)命令,可生成单位矩阵,M和N分别为生成单位矩阵的行和列。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

注:isprime是用来检测数值是否为质数。
例:求四阶魔方矩阵中绝对值大于7并且小于10的 b= 元素及元素的数目。 解1:1)生成四阶的魔方矩阵
b=magic(4)
16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1
2)判断b的元素的绝对值是否大于7且小于10
y=abs(b)>7&abs(b)<10
常用数学函数
基本数学函数,参见帮助文件>>help elfun
abs(x) 绝对值或复数的模 log(x) sqrt real imag conj
平方根 求复数的实部 求复数的虚部 求复数的共轭数 求x的自然对数 以10为底的对数 以2为底的对数 以e为底的指数函 数 求2的幂
log10 log2 exp pow2
第三节 数组和矩阵的运算
本节内容


掌握数组和矩阵的数值运算 掌握数组和矩阵的关系运算 掌握数组和矩阵的逻辑运算 了解一些常用的数学运算指令 了解如何在word环境下运行matlab指令,即制 作notebook文档
§2.1 算术运算
MATLAB中定义了矩阵运算和数组运算 两种形式,两者是不同的。其中矩阵运算 规则是按照矩阵作为运算要素定义的,数 组运算是按照数组元素作为运算要素定义 的。标量运算是矩阵和数组运算的特例。 运算形式:加减、乘、除、乘方



当比较量是标量,直接比较两数的大小。若关 系成立,则表达式结果为1,否则为0。 当比较量是两个维数相同的矩阵时,则对两 矩阵相同位置的元素按照标量关系运算规则 逐个进行。运算结果是一个维数与原矩阵维数 相同的矩阵,其元素是由0或1组成。 若标量与矩阵相比较,则把标量与矩阵中每个 元素按标量关系运算准则逐个比较。产生的结 果同上。
例1:分析语句a=2+2==4的执行结果。
分析:单个等号表示赋值,后面的双等号表示关系 运算,所以a的值为1.
例2:分析语句a=‘fate’;b=‘cake’;result=a==b 的执行结果。
分析:应用关系运算应该逐个比较字符是否相等。 执行结果如下: result = 0 1 0 1
例3:请产生一个5阶随机方阵A,其元素为[10,90] 区间的随机整数,并且要判断A的元素是否能被3 整除。 分析:1)生成5阶随机方阵A
例:>>a=[2 3 5;5 4 1;7 6 9],b1=[3 6 9];
>>x1=a\b1 %a左除b1 ??? Error using 或b2=b1’ >>b2=[3;6;9] ==> mldivide Matrix dimensions must agree. >>x2=a\b2 >>x3=a/b2 %a右除b2 ??? Error using ==> mldivide >>x4=a/b1 Matrix dimensions must agree.
加减运算
数组和矩阵的加减运算法则是相同的。


矩阵/数组的对应位置元素进行相加减, 此时两矩阵的维数必须相同,否则系 统将给出错误信息,提示用户两矩阵 不匹配。 若有一个是标量,则该标量与矩阵的每 个元素进行加减运算。
乘法运算
两矩阵相乘时必须内维数相等,否则出错。
假定两矩阵A和B分别为:A为m×n矩阵,B 为n×p矩阵,则C=A*B为m×p矩阵。
round 四舍五入到整数
三角函数和反三角函数
sin(x)
sind(x) sinh cos、cosd cosh
求变量x的正弦函数 tan (单位:弧度) 正切函数
余切函数 双曲正切 反正弦 反余弦
tand 求变量x的正弦函数 cot (单位:角度) cotd 双曲正弦 tanh
余弦函数 双曲余弦
asin acos
例:已知矩阵A,请找出大于4的元素的位置。 A=[4,-65,-54,0,6;56,0,67,-45,0] 解:找出大于4的元素的位置
ቤተ መጻሕፍቲ ባይዱ
[r,c]=find(A>4) r,c表示行列位置 或 find(A>4) 单下标
r=2 2 1 c=1 3 5 ans=2 6 9
本节要求
1.掌握数组和矩阵的数值计算,尤其是数 组的“点运算” 2.掌握数组的关系和逻辑运算 3.掌握指令find的使用 4.了解notebook文档的编辑
3)求满足条件的元素的数目
length(b(y))
4)求满足条件的元素
b(y)
y= 0 0 1 0
0 0 0 0
0 0 0 0
0 1 0 0
例:求四阶魔方矩阵中绝对值大于7并且小于10的 b= 元素及元素的数目。 解2:1)生成四阶的魔方矩阵
b=magic(4)
2)判断满足条件的元素的位置
16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1
§2.2 关系运算
关系运算的输出结果是一个由0和1组成“逻
辑数组”,1表示“真”,0表示“假”。 MATLAB提供了6种关系运算符: <(小于)、<=(小于等于) >(大于)、>=(大于等于) ==(等于)、~=(不等于)
说明:在matlab中约定任何非零数都被看作逻辑 真,而0被认为是逻辑假。
运算法则
返回数组X的非零元素的序号

[i,j]=find(X) 返回数组X的非零元素的行号和列号
§2.3 逻辑运算
MATLAB提供了3种逻辑运算符:
& (与)、(或)、~(非)、xor(与非) 逻辑判断时,所有非零数值均被认为是真, 零为假,在逻辑判断结果中,判断为真时输出 1、判断为假时输出0。 逻辑运算结果是一个由0或1组成的逻辑数组 logical array,1表示真,0表示假.
结果如下:
1 2 3 c1 4 5 6 7 8 9 6 6 6 c2 15 15 15 24 24 24 12 15 18 c3 12 15 18 12 15 18
例:数组的加减运算。
>>A=[1 2 3; 4 5 6],B=[4,5,6;1,2,3]; >>C=zeros(2); %生成2阶全0方阵 >>c1=A+B %加法运算 >>c2=A-C %减法相乘 >>c3=A-2 %与标量之间的加减运算
运算法则

逻辑元素中,非零元素为真,用1表示;零 元素为假,用0表示;
设参与逻辑运算的是两个标量a和b,则

a&b:a,b全为非零时,结果为1,否则为0;
a|b:a,b中只要有一个非零,结果就是1; ~a:a是零,结果为1;a非零,结果为0;
xor(a,b):a,b相等,结果为1;否则为0。

若参与逻辑运算的是两个维数相同的矩阵,则 运算是在两矩阵相同位置上的元素逐个进行, 运算结果是一个原矩阵维数相同的矩阵。 若是标量和矩阵进行逻辑运算时,则标量与矩 阵中每个元素逐个进行的。运算结果同上。 逻辑非是单目运算符,也服从以上运算规则。 在混合运算中,算术运算优先级最高,逻辑运 算优先级最低。
B(i, j ) left division A. \ B A(i, j ) A(i, j ) right division A. / B B(i, j )
例:>> A=[1 2 3;4 5 6],B=[4 5 6;1 2 3] >>C1=A.\B,C2=A./B
C1= 4.0000 2.5000 2.0000 0.2500 0.4000 0.5000
a= 1 4
3 2
c1 = 13 9 12 16
c2= 1 9 16 4
小结



在进行计算时,一定要分清是矩阵运算 还是数组运算,两者是不同的。 数组运算是点运算(即在运算符前加小 黑点),它是针对各对应元素进行的。 此时要注意数组的维数要匹配。 矩阵运算是按照线性代数中矩阵的运算 规则进行的。
结果如下:
c1 = 5 7
7 7
9 7
c3 = -1 2
0 3
1 4
??? Error using ==> minus Matrix dimensions must agree.
除法运算
矩阵除法有两种:左除\和右除/。
A\B=A-1B ,即A*X=B,即inv(A)*B; A/B=AB-1,即等效于A*inv(B)。 (注意:A或B必须是非奇异方阵det(A)≠0) 对于含标量的运算,两种除法运算的结果相同; 对于矩阵来说,它们表示两种不同的除数矩阵和 被除数矩阵关系,一般A\B≠B/A。


例:>> A=magic(4)
A =
>> A(~B)=0
13 8 12 1
A= 0 2 5 11 0 7 0 0 1 0 0 0 3 13 0 0 0 0 0 0
16 5 9 4
2 11 7 14
3 10 6 15
>> B=isprime(A)
B = 0 1 0 0 1 1 1 0 1 0 0 0
C2= 0.2500 0.4000 0.5000 4.0000 2.5000 2.0000
乘方运算
矩阵乘方运算A^B表示:矩阵A自乘B次,其中由线
性代数可知A是方阵,B是正整数 数组乘方运算A.^B表示:数组A的各对应元素进 行B次乘方 例:>> a=magic(2),b=2 >>c1=a^b, c2=a.^b
若有一个是标量,则为标量与矩阵的每个
元素进行乘法运算。
两数组相乘C=A.*B(点乘),表示A和B中
的对应元素相乘。 注意:此时两数组必须是同维的。
相关文档
最新文档