网站首页 > 资源文章 正文
Matlab常用运算符包括:算术、关系、逻辑、位等
本节介绍常用运算符及矩阵,更多高级内容请使用help命令及上网查阅。
常用算术运算符:
+加法,如为矩阵大小必须一致
>> A = [1 2; 3 4] B = ones(2) A+B ? A = ? 1 2 3 4 ? ? B = ? 1 1 1 1 ? ? ans = ? 2 3 4 5 >> C = ones(3) % 不一致大小矩阵 A+C ? C = ? 1 1 1 1 1 1 1 1 1 ? Error using + Matrix dimensions must agree. % 报错 >> % 常规加法 a = 1 b = 2 a + b ? a = ? 1 ? ? b = ? 2 ? ? ans = ? 3
-减法,如为矩阵大小必须一致,操作与+一致。
*乘法,如为矩阵A*B,A的列数目必须与B行数一致。满足, 乘法规律为的元素为A矩阵的第行的每个元素与B矩阵的第j列每个元素乘积之和。举例来说:
A矩阵为2行3列矩阵:
A= [1,2,3;4,5,6]
B矩阵为3列3行矩阵:
B = [1,2,3;4,5,6;7,8,9]
那么C 为A*B的解,那么C的第一行一列元素计算方法如下:
A的第一行[1,2,3] B的第一列[1;4;7],他们每个元素相乘并累加
1*1+2*4+3*7 = 30,
C的第二行一列元素为A的第二行[4,5,6]与B第一列[1;4;7]元素相乘并累加得到
4*1+5*4+6*7=66,
依次类推,可以得到C最终等于
C = [30,36,42;66,81,96]
>> A =[1,2,3;4,5,6] B= [1,2,3;4,5,6;7,8,9] C=A*B ? A = ? 1 2 3 4 5 6 ? ? B = ? 1 2 3 4 5 6 7 8 9 ? ? C = ? 30 36 42 66 81 96 ?
*也可以作为常规乘法运算:
>> A = 5 ? A = ? 5 ? >> B = 3 ? B = ? 3 ? >> C = A*B ? C = ? 15
.*点乘,元素按位相乘,矩阵大小必须一致
>> A = [1,2;3,4] B = [2,3;4,5] C =A .* B ? A = ? 1 2 3 4 ? ? B = ? 2 3 4 5 ? ? C = ? 2 6 12 20
/右除,对于标量的运算 a、b是两个标量,表示a除b,对于矩阵的运算,a、b是两个矩阵,a/b 表示矩阵a乘矩阵b的逆矩阵,与 a*inv(b) 一致。
首相我们看一下什么是逆矩阵,
例如求3阶可逆矩阵A的逆矩阵,首先做这样的一个矩阵
a11 a12 a13 1 0 0
a21 a22 a23 0 1 0
a31 a32 a33 0 0 1
(也就是 [原矩阵:单位矩阵] )
通过若干次初等行变换(“某行乘以一个数后加到另一行”、“某两行互换位置”、“某行乘以某一个数”,这三种以行做运算的方法),将上面的矩阵变为
1 0 0 b11 b12 b13
0 1 0 b21 b22 b23
0 0 1 b31 b32 b33
(也就是想办法把原来的A矩阵变成单位矩阵,变成这样的形式 [单位矩阵:B矩阵] )
这样B矩阵就是A矩阵的逆矩阵了。
以此类推到N阶可逆矩阵求逆矩阵。
>> A = [1,2;3,4] ? A = ? 1 2 3 4 ? >> B = [2,3;4,5] ? B = ? 2 3 4 5 ? >> A/B ? ans = ? 1.5000 -0.5000 0.5000 0.5000
./右点除,矩阵元素按位右除,标量与普通右除一致
>> A = [1,2;3,4] ? A = ? 1 2 3 4 ? >> B = [2,3;4,5] ? B = ? 2 3 4 5 >> A./B ? ans = ? 0.5000 0.6667 0.7500 0.8000
\左除,对于标量,C = A\B可以简单理解为B/A,对于矩阵可以理解为矩阵a的逆矩阵乘矩阵B,与 inv(A)*B 一致。
>> A = 4 ? A = ? 4 ? >> B = 20 ? B = ? 20 ? >> C = A\B ? C = ? 5 >> A = [1,2;3,4] ? A = ? 1 2 3 4 ? >> B = [2,3;4,5] ? B = ? 2 3 4 5 ? >> A\B ? ans = ? 0 -1 1 2
.\左点除,矩阵元素按位左除,标量与普通一致
>> A = [1,2;3,4] ? A = ? 1 2 3 4 ? >> B = [2,3;4,5] ? B = ? 2 3 4 5 ? >> C = A.\B ? C = ? 2.0000 1.5000 1.3333 1.2500
^ 幂运算,矩阵与标量都进行幂运算
>> A = ones(2) ? A = ? 1 1 1 1 ? >> A^2 ? ans = ? 2 2 2 2 >> B = 2 ? B = ? 2 ? >> B^2 ? ans = ? 4
.^点幂运算,矩阵按位幂运算,标量与普通^一致
>> A = ones(2) A.^2 ? A = ? 1 1 1 1 ? ? ans = ? 1 1 1 1
'转置矩阵,简单理解:行列互换
>> A=[1,2;3,4] ? A = ? 1 2 3 4 ? >> A' ? ans = ? 1 3 2 4
常用关系运算符:
关系运算符也可以用于标量和非标量数据。数组的关系运算符在两个数组之间执行逐个元素的比较,并返回相同大小的逻辑数组,如果为真,则元素设置为逻辑1(true),如果为假,则元素设置为逻辑0(false)。
<小于
<=小于等于
>大于
>=大于等于
==等于
~=不等于
>> 1<5 1<=5 A=[1,2] A<5 ? ans = ? 1 ? ? ans = ? 1 ? ? A = ? 1 2 ? ? ans = ? 1 1 >> 5>1 5>=1 A=[1,2] A>5 ? ans = ? 1 ? ? ans = ? 1 ? ? A = ? 1 2 ? ? ans = ? 0 0 >> 1==1 1==2 ? ans = ? 1 ? ? ans = ? 0 >> 1~=1 1~=2 ? ans = ? 0 ? ? ans = ? 1
常用位运算符:
&与运算
|或运算
~非运算
>> A = [1,1,0,1] ? A = ? 1 1 0 1 ? >> B =[1,1,1,0] ? B = ? 1 1 1 0 ? >> A&B ? ans = ? 1 1 0 0 >> ~A ? ans = ? 0 0 1 0 >> A|B ? ans = ? 1 1 1 1 ?
猜你喜欢
- 2024-10-01 搞定电路设计之适于树莓派的±10V模拟输入和±15V模拟输出I/O模块
- 2024-10-01 MATLAB的简单使用(matlab简单用法)
- 2024-10-01 Matlab精彩绘图示例和代码分享(matlab绘制好看的图)
- 2024-10-01 Matlab中的基本数据类型介绍(matlab概述及基本数值运算)
- 2024-10-01 有关在matlab中对信号采样及频谱的一些解释;复数的频谱,高分辨率谱,高密度谱的一些理解
- 2024-10-01 你写过哪些比较酷的 Matlab 代码?十行以内
- 2024-10-01 Matlab 2016b详细安装步骤(matlab2016a的安装教程)
- 2024-10-01 matlab内存不足的解决方法(matlab内存不足怎么办)
- 2024-10-01 MATLAB基础学习之绘图操作(一)(matlab绘图教程详细)
- 2024-10-01 地球抛物与宇宙速度的MATLAB数值解法(ode45)
你 发表评论:
欢迎- 05-1430个在线地图瓦片URL分享
- 05-1425个在线地图瓦片URL分享
- 05-14PixelStyle for Mac(mac照片编辑器)
- 05-14一篇文章带你了解CSS3 3D 转换知识
- 05-14我们的世界是假的?马斯克:我们生活在高文明模拟的矩阵游戏中
- 05-14【视觉AI的基石】斯坦福大学笔记!带你吃透卷积神经网络 (CNN)
- 05-14潮流 | 通过AAPE的新价目,无虑入荷未来主义服饰
- 05-14身份证查询服务API:准确识别身份证信息
- 最近发表
- 标签列表
-
- 电脑显示器花屏 (79)
- 403 forbidden (65)
- linux怎么查看系统版本 (54)
- 补码运算 (63)
- 缓存服务器 (61)
- 定时重启 (59)
- plsql developer (73)
- 对话框打开时命令无法执行 (61)
- excel数据透视表 (72)
- oracle认证 (56)
- 网页不能复制 (84)
- photoshop外挂滤镜 (58)
- 网页无法复制粘贴 (55)
- vmware workstation 7 1 3 (78)
- jdk 64位下载 (65)
- phpstudy 2013 (66)
- 卡通形象生成 (55)
- psd模板免费下载 (67)
- shift (58)
- localhost打不开 (58)
- 检测代理服务器设置 (55)
- frequency (66)
- indesign教程 (55)
- 运行命令大全 (61)
- ping exe (64)
本文暂时没有评论,来添加一个吧(●'◡'●)