MATLAB基础运算

这篇具有很好参考价值的文章主要介绍了MATLAB基础运算。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

矩阵和数字相乘

就是矩阵里面每个元素跟这个数字乘一遍,无论是点乘还是叉乘,对于这个都一样。

MATLAB基础运算,MATLAB,matlab,人工智能,算法

>> A=ones(3)
A =
     1     1     1
     1     1     1
     1     1     1
>> 10*A
ans =
    10    10    10
    10    10    10
    10    10    10

矩阵和矩阵叉乘

能不能相乘,需要前面矩阵的列数等于后面矩阵的行数,出来的矩阵大小是前面矩阵的行数*后面矩阵的列数。

MATLAB基础运算,MATLAB,matlab,人工智能,算法

所以大家会发现,矩阵相乘如果前后调转了,结果会完全不一样,阴差阳错地乘出个逆矩阵出来。

有个很形象的图

MATLAB基础运算,MATLAB,matlab,人工智能,算法

有些教材会把这个称为左乘和右乘,但是本质上其实就是矩阵相乘的先后顺序。

>> A=[1 2 3; 4 5 6;7 8 9]
A =
     1     2     3
     4     5     6
     7     8     9
>> B=[10 20 30;40 50 60;70 80 90]
B =
    10    20    30
    40    50    60
    70    80    90
>> A*B
ans =
         300         360         420
         660         810         960
        1020        1260        1500

矩阵和矩阵点乘

点乘运算指将两矩阵中相同位置的元素进行相乘运算,所以需要矩阵维数和行列数都一样

>> A=[1 2 3; 4 5 6;7 8 9]
A =
     1     2     3
     4     5     6
     7     8     9
>> B=[10 20 30;40 50 60;70 80 90]
B =
    10    20    30
    40    50    60
    70    80    90
>> A.*B
ans =
    10    40    90
   160   250   360
   490   640   810

矩阵和数字相除

只有矩阵除以数字,没有数字除以矩阵。跟相乘一样,每个元素除以数字即可。

C =
    10    40    90
   160   250   360
   490   640   810
>> C/10
ans =
     1     4     9
    16    25    36
    49    64    81
>> C./10
ans =
     1     4     9
    16    25    36
    49    64    81

矩阵和矩阵除法

一般老师不让学生学除法具体怎么算,太反人类了,大家只需要记得A/B=A*inv(B)就行。当然啦,既然换成了乘法,也要注意取逆之后的两个矩阵的行列数能不能乘起来。

所谓左除右除,就是被除数和除数位置调转而已。

>> A=[1,3,5;3,4,5;2,4,8]
A =
     1     3     5
     3     4     5
     2     4     8
>> B=[2,5,8;3,7,2;5,3,2]
B =
     2     5     8
     3     7     2
     5     3     2
>> A/B
ans =
    0.6395   -0.0058   -0.0523
    0.5233    0.0407    0.3663
    1.0233   -0.2093    0.1163
>> A*inv(B)
ans =
    0.6395   -0.0058   -0.0523
    0.5233    0.0407    0.3663
    1.0233   -0.2093    0.1163

矩阵和矩阵点除

也就是元素一一对应相除

>> A=[1,3,5;3,4,5;2,4,8]
A =
     1     3     5
     3     4     5
     2     4     8
>> B=[2,5,8;3,7,2;5,3,2]
B =
     2     5     8
     3     7     2
     5     3     2
>> A./B
ans =
    0.5000    0.6000    0.6250
    1.0000    0.5714    2.5000
    0.4000    1.3333    4.0000

dot点乘/内积/点积/数量积

dot(A,B,X)入参X 为1表示按列,为2表示按行,默认按列。算法如下

A=[a1 a2 a3;a4 a5 a6]
B=[b1 b2 b3;b4 b5 b6]
C=[c1 c2 c3]
D=[d1 d2 d3]

dot(A,B)=dot(A,B,1)%按列(每列合在一起变成一行)
=[a1*b1+a4*b4,a2*b2+a5*b5,a3*b3+a6*b6]

dot(A,B,2)%按行(每行合在一起变成一列)
=[a1*b1+a2*b2+a3*b3;a4*b4+a5*b5+a6*b6]

dot(C,D)=dot(D,C)=dot(inv(C),D)%如果是向量,无论方向,合起来变成一个标量
=c1*d1 + c2*d2 + c3*d3 

例子如下

%矩阵
>> A=[1 2 3; 4 5 6;7 8 9]
A =
     1     2     3
     4     5     6
     7     8     9
>> B=[10 20 30;40 50 60;70 80 90]
B =
    10    20    30
    40    50    60
    70    80    90
>> dot(A,B,1)
ans =
         660         930        1260
>> dot(A,B,2)
ans =
         140
         770
        1940

%向量
>> A=[2 4 6 8]
A =
     2     4     6     8
>> B=[3 4 5 6]
B =
     3     4     5     6
>> dot(A,B)
ans =
   100

cross叉积/向量积/矢量积

这个就比较复杂了,要求也多:

1、相乘的两个对象行列相同

2、至少有一个维度的长度是3,也就是要么3行要么3列

算法如下

A=[a1 a2 a3;
   a4 a5 a6]

B=[b1 b2 b3;
   b4 b5 b6]

cross(A,B)=
[(a2*b3 - a3*b3),(a3*b1 - a1*b3),(a1*b2 - a2*b1);
 (a5*b6 - a6*b5),(a6*b4 - a4*b6),(a4*b5 - a5*b4)]

举个例子文章来源地址https://www.toymoban.com/news/detail-759667.html

>> A=[1 2 3]
A =
     1     2     3
>> B=[4 5 6]
B =
     4     5     6
>> cross(A,B)
ans =
    -3     6    -3
>> C=[1 2 3;4 5 6]
C =
     1     2     3
     4     5     6
>> D=[30 20 10;60 50 40]
D =
    30    20    10
    60    50    40
>> cross(C,D)
ans =
   -40    80   -40
  -100   200  -100

到了这里,关于MATLAB基础运算的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 入门人工智能 —— 学习一门编程语言 python 基础代码编写和运算符介绍(1)

    随着人工智能技术的快速发展,越来越多的年轻人开始关注这个领域。作为入门者,学习人工智能编程语言至关重要。这里将介绍人工智能编程语言Python的基础知识,帮助初学者更好地理解人工智能领域的基本概念和技术。 下面是一些入门 Python 编程语言的基本知识: 安装

    2024年02月09日
    浏览(66)
  • 【人工智能】实验四:遗传算法求函数最大值实验与基础知识

    实验目的 熟悉和掌握遗传算法的原理、流程和编码策略,并利用遗传算法求解函数优化问题,理解求解流程并测试主要参数对结果的影响。 实验内容 采用遗传算法求解函数最大值。 实验要求 1. 用遗传算法求解下列函数的最大值,设定求解精度到15位小数。 (1)给出适应度

    2024年02月03日
    浏览(72)
  • 【人工智能】实验三 A*算法求解八/十五数码问题实验与基础知识

    熟悉和掌握启发式搜索的定义、估价函数和算法过程,并利用A*算法求解N数码难题,理解求解流程和搜索顺序。 以8数码问题和15数码问题为例实现A*算法的求解程序(编程语言不限)。 设计两种不同的估价函数。 设置相同的初始状态和目标状态,针对不同的估价函数,求得

    2024年02月03日
    浏览(127)
  • (六)人工智能应用--深度学习原理与实战--理解张量与运算图

    Tensorflow名称中的Tensor即张量,不仅仅是Tensorflow,几乎所有的深度学习平台都以张量为基本的数据结构。简单来说,张量就是多维数组,本质上是一种数据容器,它可以有任意维度,比如矩阵就是二维张量(二维数组)。 深度学习中使用张量来表示数据,计算图是由张量和张量

    2024年02月15日
    浏览(51)
  • 人工智能基础部分24-人工智能的数学基础,汇集了人工智能数学知识最全面的概况

    、 大家好,我是微学AI,今天给大家介绍一下人工智能基础部分24-人工智能的数学基础,汇集了人工智能数学知识最全面的概况,深度学习是一种利用多层神经网络对数据进行特征学习和表示学习的机器学习方法。要全面了解深度学习的数学基础,需要掌握这些数学知识:向

    2024年02月21日
    浏览(75)
  • 从 人工智能学派 视角来看 人工智能算法

    当今人工智能的算法纷繁复杂:神经网络、卷积神经网络CNN、遗传算法、进化策略、知识图谱、贝叶斯网络、支持向量机SVM、强化学习、生成对抗网络GAN,自编码器… 如果你把每个算法独立看待简直是眼花缭乱,头都是大的。这次我就带你理理这些算法,有些算法其实是可以

    2024年03月15日
    浏览(62)
  • 【人工智能】深入了解人工智能的核心算法与应用实践

    人工智能知识对于当今的互联网技术人来说已经是刚需。但人工智能的概念、流派、技术纷繁复杂,选择哪本书入门最适合呢? 这部被誉为人工智能“百科全书”的《人工智能(第3版)》,可以作为每个技术人进入 AI 世界的第一本书。 这本书是美国人工智能领域的权威经典

    2024年02月03日
    浏览(70)
  • matlab基础(一):matlab中矩阵的基本运算

            在学习矩阵有关运算的时候要相信自己已经知道了很多线代知识,不然会看不懂的QAQ~  例1:生成一个3阶全1矩阵。 例2:产生一个在区间[5,15]内均匀分布的5阶随机矩阵 例3:产生均值为0.5,方差为0.3的4阶矩阵 例4:生成从10到100间具有5个元素的线性等分向量。 例5:生成

    2024年02月04日
    浏览(44)
  • 高级人工智能之群体智能:粒子群算法

    粒子群优化算法(Particle Swarm Optimization, PSO)是一种基于群体协作和信息共享的优化技术。它由Kennedy和Eberhart于1995年提出,灵感来源于鸟群和鱼群的社会行为。PSO是解决连续空间优化问题的有效方法,特别适合于多峰和高维问题。以下是PSO的基本思想和工作原理: 1.1基本思想

    2024年01月18日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包