【数学】 4、向量的内积、外积、模长

文章目录

  • 一、向量点乘(内积)
    • 1.1 几何意义
    • 1.2 点乘的代数定义,推导几何定义(用于求向量夹角)
      • 1.2.1 余弦定理
    • 1.3 程序计算
  • 二、向量叉乘(外积)
    • 2.1 几何意义
  • 三、通俗理解内积和外积
  • 四、向量的模长

向量点乘、叉乘的概念和意义

一、向量点乘(内积)

点乘(Dot Product)的结果是点积,又称数量积或标量积(Scalar Product)。


1.1 几何意义

1.2 点乘的代数定义,推导几何定义(用于求向量夹角)

1.2.1 余弦定理

余弦定理

1.3 程序计算

vector1 = [1.1, 2.2, 3.3]
vector2 = [4, 6, 7]
dot_product = np.dot(vector1, vector2) # 算向量内积
norm1, norm2 = np.linalg.norm(vector1), np.linalg.norm(vector2) # 算向量模长
similarity = dot_product / (norm1 * norm2) # 算向量间的余弦相似度

向量的内积也被称为点积,是两个向量相乘的一种方式。对于两个n维的向量,比如向量a=(a1, a2, …, an)和向量b=(b1, b2, …, bn),它们的内积可以通过以下公式计算:

a·b = a1b1 + a2b2 + … + an*bn

这个公式表示的是将两个向量对应位置的元素相乘,然后将所有的乘积相加。结果是一个标量,而不是一个向量。

这个计算在很多领域都有重要应用,比如在物理学中,力的内积可以用来计算功,而在计算机科学中,内积常常被用于计算向量的相似度。

package main
import ("fmt""math"
)func vectorMagnitude(vec []float64) float64 {sum := 0.0for _, v := range vec {sum += v * v}return math.Sqrt(sum)
}func main() {vec := []float64{1, 2, 3}fmt.Println("Magnitude of the vector:", vectorMagnitude(vec))
}

二、向量叉乘(外积)

叉乘(Cross Product)又称向量积(Vector Product)

2.1 几何意义

三、通俗理解内积和外积

内积是把a向量投影到b向量上面,让两者同向或者反向,让a向量箭头指向b向量里面,所以叫内积,(非官方,本人感受,同直线情况广义指向内里),外积是把a向量投影到b向量的法线方向,所以你看,投影完箭头指向了b向量的外面,所以你看透彻理解多重要,字面意思就都理解了有木有,另外,内积两个向量谁投影谁都没关系,因为最后是一个数值,不影响结果,外积就不一样了,一定是1投影2,因为要用右手确定结果3向量的方向,有前后顺序之分,更像是1带2的扭矩方向的感觉

四、向量的模长

向量的模长,也被称作向量的大小或者绝对值,是用来描述向量的长度的数学概念。在二维平面上,一个向量可以被视作箭头或者线段,而向量的模长就是箭头或线段的长度。在高维空间中,虽然我们无法直观地看到向量,但是我们仍然可以通过计算来得到向量的模长。

对于一个n维向量v = (v1, v2, …, vn),其模长||v||可以通过以下公式计算:

∣ ∣ v ∣ ∣ = s q r t ( v 1 2 + v 2 2 + . . . + v n 2 ) ||v|| = sqrt(v1^2 + v2^2 + ... + vn^2) ∣∣v∣∣=sqrt(v12+v22+...+vn2)

这里的sqrt表示平方根函数。所以,向量的模长实际上就是其各分量平方和的平方根。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【网络编程】传输层——TCP协议

文章目录 TCP协议TCP协议格式窗口大小六个标志位确认应答机制超时重传机制连接管理机制三次握手四次挥手 流量控制滑动窗口拥塞控制延迟应答捎带应答面向字节流粘包问题TCP异常情况TCP小结基于TCP的应用层协议TCP与UDP的对比 TCP相关实验CLOSE_WAIT状态实验TIME_WAIT状态实验TI…

gitlab数据备份和恢复

gitlab数据备份 sudo gitlab-rake gitlab:backup:create备份文件默认存放在/var/opt/gitlab/backups路径下, 生成1697101003_2023_10_12_12.0.3-ee_gitlab_backup.tar 文件 gitlab数据恢复 sudo gitlab-rake gitlab:backup:restore BACKUP1697101003_2023_10_12_…

Texlive安装

下载4.8G的iso文件 解压 或 装载后,以管理员身份运行(.bat)文件。 运行以下两句代码进行Texlive相关升级 tlmgr option repository otan tlmgr update --self --all 运行以下三行代码,检查是否安装成功 latex -v xelatex -v pdflatex -v 如果有异常…

Hundred Finance 攻击事件分析

背景知识 Hundred Finance 是 fork Compound 的一个借贷项目,在2023/04/15遭受了黑客攻击。攻击者在发起攻击交易之前执行了两笔准备交易占据了池子,因为发起攻击的前提是池子处于 empty 的状态(发行的 hToken 数量为 0)。 准备交…

技术分享 | 使用 cURL 发送请求

cURL 是一个通过 URL 传输数据的,功能强大的命令行工具。cURL 可以与 Chrome Devtool 工具配合使用,把浏览器发送的真实请求还原出来,附带认证信息,脱离浏览器执行,方便开发者重放请求、修改参数调试,编写脚…

【GO】项目import第三方的依赖包

目录 一、导入第三方包 1.执行命令 2.查看go环境变量参数 3.查看go.mod文件的变化情况 二、程序里如何import 1. import依赖包 2. 程序编写 本次学习go如果依赖第三方的包,并根据第三方的包提供的接口进行编程,这里需要使用go get命令。下面将go…

个性化联邦学习-综述

介绍阅读的三篇个性化联邦学习的经典综述文章 Three Approaches for Personalization with Applications to Federated Learning 论文地址 文章的主要内容 介绍了用户聚类,数据插值,模型插值三种个性化联邦学习的方法。 用户聚类: 目的&a…

快速解决mfc140u.dll丢失问题,找不到mfc140u.dll修复方法分享

在计算机使用过程中,我们可能会遇到各种问题,其中之一就是某些dll文件丢失。最近,我就遇到了一个关于mfc140u.dll丢失的问题。mfc140u.dll是Microsoft Foundation Class(MFC)库中的一个动态链接库文件,它包…

Tomcat,jdk下载配置(发布项目)

Tomcat,jdk下载, 远程连接 启动以下服务 高级设置 允许别人连接进来 网上搜索jdk下载即可 双击下一步即可 下一步 输入java,看有没有安装成功 这是安装成功的 Tomcat就可以安装了 和以上操作一样,在网上下载安装包,…

手把手教你搭建属于自己的服务器

最近总是想搭建自己的网站,奈何皮夹里空空如也,服务器也租不起,更别说域名了。于是我就寻思能否自己搭建个服务器,还不要钱呢? 还真行!!! 经过几天的冲浪,我发现有两个…

SpringBoot文件上传

SpringBoot文件上传 上传文件是互联网中常常应用的场景之一&#xff0c;最典型的情况就是上传头像等&#xff0c;今天就带着带着大家做一个 Spring Boot 上传文件的小案例。 1、pom依赖 <?xml version"1.0" encoding"UTF-8"?> <project xml…

pytest中的pytest.ini

[pytest] filterwarnings ignore::DeprecationWarning addopts -v -s markers uat:1 smok:2 log_cli1 xfail_strict True filterwarnings ignore::DeprecationWarning 这个的功能就是 test_login.py::Test_login::test_login_correct_password PASSEDwarnings summary …

[答疑]大老二和德州扑克-属性值没变,状态怎么变了

DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 邬俊杰 2023-10-31 21:20 课上说状态是由属性值决定的&#xff0c;比如身高>170算高&#xff0c;某人身高175&#xff0c;算高。如果规则改了&#xff0c;身高>180算高&#xf…

C语言——循环结构

C语言提供了while&#xff0c;do...while&#xff0c;for三种语句构成循环结构。循环语句是程序中的一个基本语句&#xff0c;在编程中&#xff0c;如果我们需要对某些操作对象进行相同的操作&#xff0c;那么&#xff0c;使用循环语句&#xff0c;就能让计算机反复执行&#x…

【渗透测试】垂直越权(高危)、水平越权(中危)

目录 一、简介1.1 水平越权&#xff08;中危&#xff09;1.2 垂直越权&#xff08;高危&#xff09;1.3 方便记忆方法 二、修复方案2.1 水平越权修复2.2 垂直越权修复 一、简介 1.1 水平越权&#xff08;中危&#xff09; 漏洞危害&#xff1a; 水平越权 是相同级别&#xff0…

修改iframe生成的pdf的比例

如图想要设置这里的默认比例 在iframe连接后面加上#zoom50即可&#xff0c;50是可以随便设置的&#xff0c;设置多少就是多少比例 <iframe src"name.pdf#zoom50" height"100%" width"100%"></iframe>

算法打卡01——求两数之和

题目&#xff1a; 给定一个整数数组 nums 和一个整数目标值 target&#xff0c;请你在该数组中找出 和为目标值 target 的那 两个 整数&#xff0c;并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是&#xff0c;数组中同一个元素在答案里不能重复出现。 你…

macOS 下 starUML 软件激活方案

starUML每次打开都弹出提示其实挺烦的&#xff0c;于是研究了一下如何 po 解(激活)它。记录一下方法以便以后使用。 我觉得这个软件很好用&#xff0c;大型项目的所有图我都是用这个软件画的。 直接上步骤&#xff01;先关掉starUML 1、安装 asar&#xff0c;以便可以打开 asa…

Python万圣节礼物

文章目录 系列文章前言小海龟快速入门万圣节蝙蝠万圣节南瓜头万圣节礼物尾声 系列文章 序号文章目录直达链接1浪漫520表白代码https://want595.blog.csdn.net/article/details/1306668812满屏表白代码https://want595.blog.csdn.net/article/details/1297945183跳动的爱心http…

(附源码)springboot学生宿舍管理系统 毕业设计 211955

摘 要 科技进步的飞速发展引起人们日常生活的巨大变化&#xff0c;电子信息技术的飞速发展使得电子信息技术的各个领域的应用水平得到普及和应用。信息时代的到来已成为不可阻挡的时尚潮流&#xff0c;人类发展的历史正进入一个新时代。在现实运用中&#xff0c;应用软件的工作…