MATLAB基础运算

news2024/12/23 0:10:35

矩阵和数字相乘

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

>> 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

矩阵和矩阵叉乘

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

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

有个很形象的图

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

>> 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)]

举个例子

>> 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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1307530.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

竞赛保研 python 爬虫与协同过滤的新闻推荐系统

1 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 python 爬虫与协同过滤的新闻推荐系统 🥇学长这里给一个题目综合评分(每项满分5分) 难度系数:3分工作量:3分创新点:4分 该项目较为新颖&…

「C++」内存管理

🎇个人主页:Ice_Sugar_7 🎇所属专栏:C启航 🎇欢迎点赞收藏加关注哦! 文章目录 🍉内存分布🍉关键字new🍉关键字delete🍉new和delete的封装实现🍉总…

kafka 详细介绍

目录 前言 分布式架构: 消息发布-订阅模型: 持久性存储: 分区和副本: 水平扩展: 高性能: 生态系统: 我的其他博客 前言 Kafka 是由 Apache 软件基金会开发的一种开源流处理平台&#xf…

基于Java SSM框架实现沙县小吃门店连锁点餐订餐系统项目【项目源码+论文说明】

基于java的SSM框架实现县小吃门店连锁点餐订餐系统演示 摘要 随着社会的发展,社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 沙县小吃点餐系统,主要的模块包括实现管理员;个人中心、用户管…

视频推拉流平台EasyDSS点播文件播放请求添加token验证的实现方法

EasyDSS视频直播点播平台可提供一站式的视频推拉流、转码、点播、直播、播放H.265编码视频等服务,搭配RTMP高清摄像头使用,可将设备的实时流推送到平台上,实现无人机视频推流直播等应用。今天我们来介绍下EasyDSS系统点播文件播放请求添加tok…

实战章节:在Linux上部署各类软件

详细资料见文章的资源绑定 一、前言 1.1 为什么学习各类软件在Linux上的部署 在前面,我们学习了许多的Linux命令和高级技巧,这些知识点比较零散,同学们跟随着课程的内容进行练习虽然可以基础掌握这些命令和技巧的使用,但是并没…

TDengine Kafka Connector将 Kafka 中指定 topic 的数据(批量或实时)同步到 TDengine

教程放在这里:TDengine Java Connector,官方文档已经写的很清晰了,不再赘述。 这里记录一下踩坑: 1.报错 java.lang.UnsatisfiedLinkError: no taos in java.library.pathat java.lang.ClassLoader.loadLibrary(ClassLoader.j…

【Geoserver】将geoserver迁移到jetty的发行包中

之前讲了在Geosever的二进制发行包中升级jetty的内容,我测试之后发现有些问题,本地运行可能没有问题,但是在linux上运行报错了。 于是我想着换个思路好了,总是想着将Geosever中的jetty包替换掉,干脆反过来,…

Java 数据结构篇-用数组、堆实现优先级队列

🔥博客主页: 【小扳_-CSDN博客】 ❤感谢大家点赞👍收藏⭐评论✍ 文章目录 1.0 优先级队列说明 2.0 用数组实现优先级队列 3.0 无序数组实现优先级队列 3.1 无序数组实现优先级队列 - 入队列 offer(E value) 3.2 无序数组实现优先级队列 - 出…

mysql数据备份策略-shell脚本优化代码

一.备份的主机上需要自己手动安装xtrabackup工具 1.安装xtrabackup-yum源 #下载xtrabackup的yum源 wget http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpmrpm -ivh percona-release-0.1-4.noarch.rpm2.打开yum源 #打开xtra…

竞赛保研 python 机器视觉 车牌识别 - opencv 深度学习 机器学习

1 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 基于python 机器视觉 的车牌识别系统 🥇学长这里给一个题目综合评分(每项满分5分) 难度系数:3分工作量:3分创新点:3分 🧿 更多资…

道路坑洞数据集(坑洞目标检测)VOC+YOLO格式650张

路面坑洞的形成原因是由于设计、施工、养护处理不当、控制不适和受气候、环境、地质、水文等自然因素影响,以及车辆的运行和车辆超载运行导致路面破损,出现坑洞的现象。 路面坑洞的分类: (1)路面混凝土板中坑洞&…

你真的了解进程注入吗?

关注公众号回复20231110获取最新网络安全以及内网渗透等资料。 文章目录 关注公众号回复20231110获取最新网络安全以及内网渗透等资料。进程注入进程注入是什么?windows进程虚拟地址空间句柄Tokens线程数特权shellcode注入 进程注入 进程注入是什么? 攻…

Python码上行动系列丛书(由北京大学出版社出版)

前言 Python码上行动系列丛书火热来袭💥💥💥 三册在手,Python全掌握!无论是初学者还是进阶玩家,我们都有你想要的! 让ChatGPT带你轻松入门Python编程,享受编程带来的乐趣&#xff0…

git 实用命令杂记

使用解决冲突的方式合并,将避免简单的自动合并 git merge origin/dev --strategyresolve清理本地已经合并到 dev 的分支 git branch --merged | grep -v dev | xargs -n 1 git branch -d分支清理 Git 之删除本地无用分支_dearfulan 的博客 - CSDN 博客_git 删除本…

RV32/64 特权架构

machine mode: 运行最可信的代码;supervisor mode:为 Linux,FreeBSD 和 Windows 等操作系统提供支持;user mode:权限最低,应用程序的代码在此模式下运行; 这两种新模式都比user mode有着更高的权限,有更多权限的模式通常可以使用…

C/C++ 快乐数: 编写一个算法来判断一个数n是不是快乐数

题目: 编写一个算法来判断一个数n是不是快乐数。 快乐数的定义: 对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。 然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。 如果这个过…

数字中台建设指南(大数据平台)

制定数字中台战略规划:制定符合企业实际情况的数字中台战略规划,明确建设目标、重点任务和时间表。确定数字中台架构:根据企业业务需求和特点,确定数字中台的架构,包括技术架构、应用架构和数据架构。搭建数字中台基础…

制作Windows 11的U盘启动工具的两种方法,以及如何使用它来安装

本文介绍了如何创建Windows 11的U盘启动工具,以及如何使用它来安装Windows 11。 Windows 11 Media Creation Tool 微软网站上提供的Windows 11 Media Creation Tool可以帮助你创建Windows 11的U盘启动工具。它真的很容易使用,因为它可以引导你完成所有的步骤。 1、访问Mic…

接口测试要测试什么?怎么测?

本文主要分为两个部分: 第一部分:主要从问题出发,引入接口测试的相关内容并与前端测试进行简单对比,总结两者之前的区别与联系 第二部分:主要介绍为什么要做接口测试,并简单总结接口持续集成和接口质量评估…