矩阵-向量乘法的行与列的解释(Row and Column Interpretations):中英双语
本文是学习这本书的笔记
网站是:https://web.stanford.edu/~boyd/vmls/
矩阵-向量乘法的行与列的解释
矩阵-向量乘法(Matrix-Vector Multiplication)是线性代数中的基本操作,也是机器学习、数据科学和工程中常用的数学工具。本文将详细解释矩阵-向量乘法中的“行与列”的两种视角,并通过实际例子帮助理解其背后的数学意义。
1. 什么是矩阵-向量乘法?
矩阵 ( A A A) 和向量 ( x x x) 的乘积可以用下面的公式表示:
y = A x y = Ax y=Ax
其中:
- 矩阵 ( A ∈ R m × n A \in \mathbb{R}^{m \times n} A∈Rm×n) 是一个 ( m × n m \times n m×n) 的矩阵;
- 向量 ( x ∈ R n x \in \mathbb{R}^n x∈Rn) 是一个 ( n n n)-维列向量;
- 结果 ( y ∈ R m y \in \mathbb{R}^m y∈Rm) 是一个 ( m m m)-维列向量。
矩阵-向量乘法可以从“行”和“列”的两种视角来理解。接下来我们分别介绍这两种解释。
2. 从行的角度解释
矩阵-向量乘法可以视为“将向量 ( x x x) 与矩阵的每一行进行内积计算”,具体来说:
矩阵 ( A A A) 的第 ( i i i) 行记为 ( b i T b_i^T biT):
A = [ b 1 T b 2 T ⋮ b m T ] , A = \begin{bmatrix} b_1^T \\ b_2^T \\ \vdots \\ b_m^T \end{bmatrix}, A= b1Tb2T⋮bmT ,
其中每个 ( b i T ∈ R n b_i^T \in \mathbb{R}^n biT∈Rn) 是 ( A A A) 的一行(转置表示为行向量)。
对于 ( y = A x y = Ax y=Ax),结果向量 ( y y y) 的第 ( i i i) 个元素 ( y i y_i yi) 是矩阵第 ( i i i) 行与向量 ( x x x) 的内积:
y i = b i T x , i = 1 , 2 , … , m . y_i = b_i^T x, \quad i = 1, 2, \dots, m. yi=biTx,i=1,2,…,m.
公式解读:
- ( b i T x b_i^T x biTx) 表示矩阵第 ( i i i) 行与向量 ( x x x) 的内积;
- 每一行的内积结果形成 ( y y y) 中的一个元素。
例子:
假设:
A = [ 1 2 3 4 5 6 7 8 9 ] , x = [ 1 2 3 ] . A = \begin{bmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9 \end{bmatrix}, \quad x = \begin{bmatrix} 1 \\ 2 \\ 3 \end{bmatrix}. A= 147258369 ,x= 123 .
计算 ( y = A x y = Ax y=Ax) 时,从行的视角来看:
- 取第 1 行 ( b 1 T = [ 1 , 2 , 3 ] b_1^T = [1, 2, 3] b1T=[1,2,3]),计算内积 ( y 1 = b 1 T x = 1 ⋅ 1 + 2 ⋅ 2 + 3 ⋅ 3 = 14 y_1 = b_1^T x = 1 \cdot 1 + 2 \cdot 2 + 3 \cdot 3 = 14 y1=b1Tx=1⋅1+2⋅2+3⋅3=14);
- 取第 2 行 ( b 2 T = [ 4 , 5 , 6 ] b_2^T = [4, 5, 6] b2T=[4,5,6]),计算内积 ( y 2 = b 2 T x = 4 ⋅ 1 + 5 ⋅ 2 + 6 ⋅ 3 = 32 y_2 = b_2^T x = 4 \cdot 1 + 5 \cdot 2 + 6 \cdot 3 = 32 y2=b2Tx=4⋅1+5⋅2+6⋅3=32);
- 取第 3 行 ( b 3 T = [ 7 , 8 , 9 ] b_3^T = [7, 8, 9] b3T=[7,8,9]),计算内积 ( y 3 = b 3 T x = 7 ⋅ 1 + 8 ⋅ 2 + 9 ⋅ 3 = 50 y_3 = b_3^T x = 7 \cdot 1 + 8 \cdot 2 + 9 \cdot 3 = 50 y3=b3Tx=7⋅1+8⋅2+9⋅3=50)。
最终结果:
y = [ 14 32 50 ] . y = \begin{bmatrix} 14 \\ 32 \\ 50 \end{bmatrix}. y= 143250 .
3. 从列的角度解释
矩阵-向量乘法也可以视为“将矩阵 ( A A A) 的列按照向量 ( x x x) 中的元素加权,并进行线性组合”。具体来说:
矩阵 ( A A A) 的第 ( k k k) 列记为 ( a k a_k ak):
A = [ a 1 , a 2 , … , a n ] , A = [a_1, a_2, \dots, a_n], A=[a1,a2,…,an],
其中每个 ( a k ∈ R m a_k \in \mathbb{R}^m ak∈Rm) 是 ( A A A) 的一列。
矩阵-向量乘法 ( y = A x y = Ax y=Ax) 可以写成:
y = x 1 a 1 + x 2 a 2 + ⋯ + x n a n , y = x_1 a_1 + x_2 a_2 + \dots + x_n a_n, y=x1a1+x2a2+⋯+xnan,
即,结果向量 ( y y y) 是矩阵列向量的线性组合,组合系数由 ( x x x) 的元素给出。
公式解读:
- ( x k a k x_k a_k xkak) 表示用 ( x x x) 中的第 ( k k k) 个元素 ( x k x_k xk) 对矩阵的第 ( k k k) 列进行加权;
- 把加权后的所有列向量相加,得到结果向量 ( y y y)。
例子:
继续使用相同的矩阵和向量:
A = [ 1 2 3 4 5 6 7 8 9 ] , x = [ 1 2 3 ] . A = \begin{bmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9 \end{bmatrix}, \quad x = \begin{bmatrix} 1 \\ 2 \\ 3 \end{bmatrix}. A= 147258369 ,x= 123 .
从列的视角来看:
- ( A A A) 的第 1 列是 ( a 1 = [ 1 , 4 , 7 ] T a_1 = [1, 4, 7]^T a1=[1,4,7]T),加权系数是 ( x 1 = 1 x_1 = 1 x1=1),所以贡献向量为 ( 1 ⋅ a 1 = [ 1 , 4 , 7 ] T 1 \cdot a_1 = [1, 4, 7]^T 1⋅a1=[1,4,7]T);
- ( A A A) 的第 2 列是 ( a 2 = [ 2 , 5 , 8 ] T a_2 = [2, 5, 8]^T a2=[2,5,8]T),加权系数是 ( x 2 = 2 x_2 = 2 x2=2),所以贡献向量为 ( 2 ⋅ a 2 = [ 4 , 10 , 16 ] T 2 \cdot a_2 = [4, 10, 16]^T 2⋅a2=[4,10,16]T);
- ( A A A) 的第 3 列是 ( a 3 = [ 3 , 6 , 9 ] T a_3 = [3, 6, 9]^T a3=[3,6,9]T),加权系数是 ( x 3 = 3 x_3 = 3 x3=3),所以贡献向量为 ( 3 ⋅ a 3 = [ 9 , 18 , 27 ] T 3 \cdot a_3 = [9, 18, 27]^T 3⋅a3=[9,18,27]T)。
最终结果是所有列向量的线性组合:
y = 1 ⋅ a 1 + 2 ⋅ a 2 + 3 ⋅ a 3 = [ 1 + 4 + 9 4 + 10 + 18 7 + 16 + 27 ] = [ 14 32 50 ] . y = 1 \cdot a_1 + 2 \cdot a_2 + 3 \cdot a_3 = \begin{bmatrix} 1 + 4 + 9 \\ 4 + 10 + 18 \\ 7 + 16 + 27\end{bmatrix}= \begin{bmatrix} 14 \\ 32 \\ 50 \end{bmatrix}. y=1⋅a1+2⋅a2+3⋅a3= 1+4+94+10+187+16+27 = 143250 .
4. 行与列视角的联系与选择
- 行视角:更适合理解矩阵-向量乘法的每个输出分量 ( y i y_i yi) 是如何计算的,即通过行与向量的内积。
- 列视角:更适合理解结果向量 ( y y y) 是由矩阵列向量的线性组合得到的。
在实际应用中,可以根据问题背景选择合适的视角:
- 行视角通常用于计算或实现算法;
- 列视角常用于分析结果或解释几何意义。
5. 结论
矩阵-向量乘法是线性代数中极为重要的操作,而从行和列的两个视角理解,可以帮助我们更深刻地掌握其计算过程与实际意义。无论是从行的内积出发,还是从列的线性组合出发,这两种视角都揭示了矩阵操作在数学和应用中的多样性。
英文版
Matrix-Vector Multiplication: Row and Column Interpretations
Matrix-vector multiplication is a fundamental operation in linear algebra and is widely used in fields like machine learning, data science, and engineering. This article explains the row and column perspectives of matrix-vector multiplication in detail, with practical examples to help clarify the underlying mathematics.
1. What is Matrix-Vector Multiplication?
The product of a matrix (A) and a vector (x) is written as:
y = A x y = Ax y=Ax
where:
- ( A ∈ R m × n A \in \mathbb{R}^{m \times n} A∈Rm×n) is an ( m × n m \times n m×n) matrix;
- ( x ∈ R n x \in \mathbb{R}^n x∈Rn) is an ( n n n)-dimensional column vector;
- ( y ∈ R m y \in \mathbb{R}^m y∈Rm) is the resulting ( m m m)-dimensional column vector.
Matrix-vector multiplication can be understood from two perspectives:
- The row view: Treat the result as the dot products of ( x x x) with each row of ( A A A).
- The column view: Treat the result as a linear combination of the columns of ( A A A).
2. Row Perspective
In the row perspective, matrix-vector multiplication involves taking the dot product of the vector ( x x x) with each row of the matrix ( A A A). Let ( b i T b_i^T biT) represent the ( i i i)-th row of ( A A A), so:
A = [ b 1 T b 2 T ⋮ b m T ] , A = \begin{bmatrix} b_1^T \\ b_2^T \\ \vdots \\ b_m^T \end{bmatrix}, A= b1Tb2T⋮bmT ,
where each ( b i T ∈ R n b_i^T \in \mathbb{R}^n biT∈Rn) is a row vector.
The ( i i i)-th entry of the result vector ( y y y) is:
y i = b i T x , i = 1 , 2 , … , m . y_i = b_i^T x, \quad i = 1, 2, \dots, m. yi=biTx,i=1,2,…,m.
This means:
- Each entry ( y i y_i yi) is the dot product of ( x x x) with the ( i i i)-th row of ( A A A).
- The result vector ( y y y) consists of ( m m m) such dot products, one for each row.
Example (Row Perspective)
Suppose:
A = [ 1 2 3 4 5 6 7 8 9 ] , x = [ 1 2 3 ] . A = \begin{bmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9 \end{bmatrix}, \quad x = \begin{bmatrix} 1 \\ 2 \\ 3 \end{bmatrix}. A= 147258369 ,x= 123 .
To compute ( y = A x y = Ax y=Ax):
- Take the first row ( b 1 T = [ 1 , 2 , 3 ] b_1^T = [1, 2, 3] b1T=[1,2,3]), and compute the dot product with ( x x x):
y 1 = 1 ⋅ 1 + 2 ⋅ 2 + 3 ⋅ 3 = 14. y_1 = 1 \cdot 1 + 2 \cdot 2 + 3 \cdot 3 = 14. y1=1⋅1+2⋅2+3⋅3=14. - Take the second row ( b 2 T = [ 4 , 5 , 6 ] b_2^T = [4, 5, 6] b2T=[4,5,6]), and compute the dot product:
y 2 = 4 ⋅ 1 + 5 ⋅ 2 + 6 ⋅ 3 = 32. y_2 = 4 \cdot 1 + 5 \cdot 2 + 6 \cdot 3 = 32. y2=4⋅1+5⋅2+6⋅3=32. - Take the third row ( b 3 T = [ 7 , 8 , 9 ] b_3^T = [7, 8, 9] b3T=[7,8,9]), and compute the dot product:
y 3 = 7 ⋅ 1 + 8 ⋅ 2 + 9 ⋅ 3 = 50. y_3 = 7 \cdot 1 + 8 \cdot 2 + 9 \cdot 3 = 50. y3=7⋅1+8⋅2+9⋅3=50.
Thus:
y = [ 14 32 50 ] . y = \begin{bmatrix} 14 \\ 32 \\ 50 \end{bmatrix}. y= 143250 .
3. Column Perspective
In the column perspective, matrix-vector multiplication can be interpreted as a linear combination of the columns of ( A A A), with the elements of ( x x x) serving as the coefficients of the combination. Let ( a k a_k ak) represent the ( k k k)-th column of ( A A A), so:
A = [ a 1 , a 2 , … , a n ] , A = [a_1, a_2, \dots, a_n], A=[a1,a2,…,an],
where each ( a k ∈ R m a_k \in \mathbb{R}^m ak∈Rm) is a column vector.
The matrix-vector product ( y = A x y = Ax y=Ax) can be written as:
y = x 1 a 1 + x 2 a 2 + ⋯ + x n a n . y = x_1 a_1 + x_2 a_2 + \cdots + x_n a_n. y=x1a1+x2a2+⋯+xnan.
This means:
- ( x k a k x_k a_k xkak) scales the ( k k k)-th column ( a k a_k ak) of ( A A A) by the ( k k k)-th entry ( x k x_k xk) of the vector ( x x x).
- The result ( y y y) is the sum of these scaled columns.
Example (Column Perspective)
Using the same matrix and vector:
A = [ 1 2 3 4 5 6 7 8 9 ] , x = [ 1 2 3 ] . A = \begin{bmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9 \end{bmatrix}, \quad x = \begin{bmatrix} 1 \\ 2 \\ 3 \end{bmatrix}. A= 147258369 ,x= 123 .
From the column perspective:
- The first column of ( A A A) is ( a 1 = [ 1 , 4 , 7 ] T a_1 = [1, 4, 7]^T a1=[1,4,7]T), scaled by ( x 1 = 1 x_1 = 1 x1=1):
1 ⋅ a 1 = [ 1 , 4 , 7 ] T . 1 \cdot a_1 = [1, 4, 7]^T. 1⋅a1=[1,4,7]T. - The second column of ( A A A) is ( a 2 = [ 2 , 5 , 8 ] T a_2 = [2, 5, 8]^T a2=[2,5,8]T), scaled by ( x 2 = 2 x_2 = 2 x2=2):
2 ⋅ a 2 = [ 4 , 10 , 16 ] T . 2 \cdot a_2 = [4, 10, 16]^T. 2⋅a2=[4,10,16]T. - The third column of ( A A A) is ( a 3 = [ 3 , 6 , 9 ] T a_3 = [3, 6, 9]^T a3=[3,6,9]T), scaled by ( x 3 = 3 x_3 = 3 x3=3):
3 ⋅ a 3 = [ 9 , 18 , 27 ] T . 3 \cdot a_3 = [9, 18, 27]^T. 3⋅a3=[9,18,27]T.
Add the scaled columns:
y = 1 ⋅ a 1 + 2 ⋅ a 2 + 3 ⋅ a 3 = [ 1 + 4 + 9 4 + 10 + 18 7 + 16 + 27 ] = [ 14 32 50 ] . y = 1 \cdot a_1 + 2 \cdot a_2 + 3 \cdot a_3 = \begin{bmatrix} 1 + 4 + 9 \\ 4 + 10 + 18 \\ 7 + 16 + 27 \end{bmatrix}= \begin{bmatrix} 14 \\ 32 \\ 50 \end{bmatrix}. y=1⋅a1+2⋅a2+3⋅a3= 1+4+94+10+187+16+27 = 143250 .
4. Connection Between the Two Perspectives
- Row Perspective: Computes the entries of the result vector ( y y y) one at a time, using dot products between the rows of ( A A A) and the vector ( x x x). This perspective is often used in implementation and numerical computation.
- Column Perspective: Views the result vector ( y y y) as a linear combination of the columns of ( A A A), scaled by the entries of ( x x x). This perspective is useful for understanding geometric interpretations and applications like data transformations.
The two perspectives are mathematically equivalent and simply offer different ways to interpret the same operation.
5. Practical Applications
-
Row Perspective in Machine Learning:
- Useful when processing datasets where rows represent individual samples and columns represent features.
- Example: In a neural network, ( A A A) can represent weights, and ( x x x) the input features. The output ( y y y) represents weighted sums for each neuron.
-
Column Perspective in Data Transformation:
- Common in computer graphics and signal processing, where each column represents a basis vector, and the result is a transformation of ( x x x) into a new coordinate system.
- Example: Principal Component Analysis (PCA) involves projecting data onto principal components (columns).
6. Conclusion
Matrix-vector multiplication is a versatile operation that can be understood from two complementary perspectives:
- The row perspective, which emphasizes the dot product computation for each entry of the result vector.
- The column perspective, which highlights the linear combination of matrix columns.
By understanding both views, you can better analyze and apply this operation in various fields like machine learning, data analysis, and linear systems.
后记
2024年12月20日13点01分于上海,在GPT4o的辅助下完成。
相关文章:
矩阵-向量乘法的行与列的解释(Row and Column Interpretations):中英双语
本文是学习这本书的笔记 网站是:https://web.stanford.edu/~boyd/vmls/ 矩阵-向量乘法的行与列的解释 矩阵-向量乘法(Matrix-Vector Multiplication)是线性代数中的基本操作,也是机器学习、数据科学和工程中常用的数学工具。本文…...
针对超大规模病理图像分析!华中科技大学提出医学图像分割模型,提高干燥综合征诊断准确性
口干、眼干、皮肤干,每天伴有不明原因的肌肉酸痛和全身乏力,如果以上症状你「中招」了,除了考虑冬季天气干燥外,还应该警惕一种常见却总是被我们忽视的疾病——干燥综合征 (Sjgren’s Syndrome, SS)。 干燥综合征是以外分泌腺高度…...
混合开发环境---使用编程AI辅助开发Qt
文章目录 [toc]1、说明2、演示视频 1、说明 新时代的浪潮早就已经来临,上不了船的人终将被抛弃,合理使用AI辅助开发、提升效率是大趋势 注意:不要被AI奴隶 合理使用AI辅助编程,十倍提升效率。 大部分的编程AI都有vs code插件&…...
Unity复刻胡闹厨房复盘 模块一 新输入系统订阅链与重绑定
本文仅作学习交流,不做任何商业用途 郑重感谢siki老师的汉化教程与代码猴的免费教程以及搬运烤肉的小伙伴 版本:Unity6 模板:3D 核心 渲染管线:URP ------------------------------…...
[前端]HTTP库Axios
一、Axios简介 Axios 是一个基于 Promise 的 HTTP 客户端,用于浏览器和 node.js 环境。它是一个流行的 JavaScript 库,用于发起 HTTP 请求,如 GET、POST、DELETE 等。Axios 提供了易于使用的 API,支持请求和响应的拦截、转换数据格…...
Excel中index()函数
函数功能概述 INDEX 函数用于返回表格或区域中的值或对值的引用。它可以根据指定的行和列的位置从一个单元格区域中提取数据。这个函数有两种形式:数组形式和引用形式。语法结构(数组形式) INDEX(array, row_num, column_num)array࿰…...
linux-----文件命令
文件和目录的基本概念 文件类型: 普通文件:这是最常见的文件类型,用于存储数据,如文本文件、二进制文件等。文本文件可以用文本编辑器打开并查看内容,二进制文件则包含机器可执行的代码或其他特定格式的数据。目录文件…...
lua dofile 传参数
cat 1.lua arg[1] 111 arg[2] 222 dofile(./2.lua) cat 2.lua print("First argument is: " .. arg[1]) print("Second argument is: " .. arg[2]) 执行 lua 1.lua,结果为: First argument is: 111 Second argument is: 222 l…...
【ETCD】【实操篇(二)】如何从源码编译并在window上搭建etcd集群?
要在 Windows 上编译 etcd 及 etcdctl 工具,并使用 bat 脚本启动 etcd 集群,首先需要准备好开发环境并确保依赖项正确安装。下面是从 etcd 3.5 源码开始编译和启动 etcd 集群的详细步骤: 目录 1. 安装 Go 环境2. 获取 etcd 源码3. 编译 etcd…...
重温设计模式--备忘录模式
文章目录 备忘录模式(Memento Pattern)概述定义: 作用:实现状态的保存与恢复支持撤销 / 恢复操作 备忘录模式UML图备忘录模式的结构原发器(Originator):备忘录(Memento)&…...
如何借助边缘智能网关实现厂区粉尘智能监测告警
在诸如木制品加工、纺织品加工、塑料橡胶制品加工等多种工业生产场景中,粉尘问题的隐患和风险不可小觑。如果缺少对生产环境中粉尘的监测和管理,可能发生易燃易爆、环境污染和工人尘肺等生产事故。 针对工业场景中的粉尘状况监测、管理及预警,…...
解析mysqlbinlog
一、前置设置 ps -ef | grep mysql 查看mysql进程对应的安装目录 需设置mysql binlog日志模式为 ROW 二、执行命令 [rootlocalhost bin]# mysqlbinlog --verbose --base64-outputdecode-rows /usr/local/mysql/data/binlog.000069 > 1.sql 查看文件具体内容...
【gym】理解gym并测试gym小游戏CartPole (一)
一、gym与文件位置的联合理解 import gym import inspect# 加载 CliffWalking 环境 env gym.make(CliffWalking-v0)# 获取环境的类 env_class type(env)# 获取环境类所在的文件路径 file_path inspect.getfile(env_class)print(f"The source code for CliffWalking-v0…...
【jvm】内存泄漏的8种情况
目录 1. 说明2. 静态集合类持有对象引用3. 单例模式4. 内部类持有外部类5. 未关闭的连接6. 变量不合理的作用域7. 改变对象的哈希值8. 缓存Cache泄漏9. 监听器和回调 1. 说明 1.内存泄漏(Memory Leak)指的是程序中动态分配的内存由于某种原因没有被释放…...
android:sharedUserId 应用进程声明介绍
背景 adb install 安装系统软件报错,原因是签名不一致,进程改变。 代码分析 AndroidManifest.xml 定义的 android:sharedUserId 应用归属进程不同,从phone切换到system。 初始配置 <manifest xmlns:android="http://schemas.android.com/apk/res/android"c…...
WPSJS:让 WPS 办公与 JavaScript 完美联动
随着办公自动化需求的日益增长,WPS Office 推出了 WPSJS,这是一款强大的开发者工具,允许开发者通过 JavaScript 脚本与 WPS 办公软件进行互动。无论是在表格中自动填充数据、在文档中修改格式,还是在演示文稿中插入动态内容&#…...
【Linux进程】进程间通信(共享内存、消息队列、信号量)
目录 前言 1. System V IPC 2. 共享内存 系统调用接口 shmget ftok shmat shmdt shmctl 共享内存的读写 共享内存的描述对象 3. 消息队列 msgget msgsnd msgctl 消息队列描述对象 4. 信号量 系统调用接口 semget semctl 信号量描述对象 5. 系统层面IPC资源 6.…...
负载均衡的原理
负载均衡(Load Balancing)是一种计算机技术,用于在多个服务器、网络连接、计算资源之间合理分配工作负载,以提升应用程序的可用性、性能和可扩展性,以下是详细介绍: 工作原理 流量分配:负载均衡…...
Flash Attention
op融合 原始方法: 痛点:多次读取、写入显存。 解决:中间结果不保存,1个kernel顺序算完多个操作。 反向传播时用到这些中间结果要求导,怎么办? 答:类似activation checkpointing,重新…...
Craft CMS 模板注入导致 Rce漏洞复现(CVE-2024-56145)(附脚本)
0x01 产品描述: Craft CMS 是一个灵活且强大的内容管理系统(CMS),专为创意团队和开发人员设计,提供高度可定制、直观且性能优越的网站和内容管理解决方案。它以用户友好的界面、强大的插件生态系统以及支持现代web开发最佳实践的特性而闻名0x02 漏洞描述: 由于模板…...
步进电机位置速度双环控制实现
步进电机位置速度双环控制实现 野火stm32电机教学 提高部分-第11讲 步进电机位置速度双环控制实现(1)_哔哩哔哩_bilibili PID模型 位置环作为外环,速度环作为内环。设定目标位置和实际转轴位置的位置偏差,经过位置PID获得位置期望,然后讲位置期望(位置变化反映了转轴的速…...
Sigrity Optimize PI CapGen仿真教程文件路径
为了方便读者能够快速上手和学会Sigrity Optimize PI和 Deacap Generate 的功能,将Sigrity Optimize PI CapGen仿真教程专栏所有文章对应的实例文件上传至以下路径 https://download.csdn.net/download/weixin_54787054/90171471?spm1001.2014.3001.5503...
open Feign日志输出
openFeign默认是没有日志输出的,只有在open Feign所在的包的级别达到debug才会有输出,而且级别有四级。 四种日志级别: OpenFeign只会在FeignClient所在包的日志级别为DEBUG时,才会输出日志。而且其日志级别有4级: NON…...
进程间关系与守护进程
个人主页:C忠实粉丝 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 C忠实粉丝 原创 进程间关系与守护进程 收录于专栏[Linux学习] 本专栏旨在分享学习Linux的一点学习笔记,欢迎大家在评论区交流讨论💌 目录 1. 进程组 什…...
C++设计模式:组合模式(公司架构案例)
组合模式是一种非常有用的设计模式,用于解决**“部分-整体”**问题。它允许我们用树形结构来表示对象的层次结构,并且让客户端可以统一地操作单个对象和组合对象。 组合模式的核心思想 什么是组合模式? 组合模式的目的是将对象组织成树形结…...
ubuntu 安装docker
Step1:更新系统软件包 sudo apt update Step2:安装依赖包【用于通过HTTPS来获取仓库】 sudo apt install apt-transport-https ca-certificates curl software-properties-common Step3:添加Docker官方GPG密钥 sudo -i curl -fsSL https://…...
PSDK的编译与ROS包封装
本文档讲述在NIVIDIA开发板上使用大疆提供的Payload SDK获取无人机实时GPS信息的方法,以及基于Payload SDK发布ROS GPS话题信息的方法。 文章目录 0 实现目标1 Payload SDK1.1 PSDK 源码的编译1.2 PSDK 的使用 2 遥测数据的读取2.1 示例代码结构2.2 读取机载GPS信息…...
【工作流】工作顺序
背景 当时的情况是:没有产品经理,后端直接和需求方对接;前端只能短时间投入大部分时间要忙别的;只有3个角色:需求方,后端,前端; 当时直接执行的 直接使用会议了解需求,…...
Unity2021.3.16f1可以正常打开,但是Unity2017.3.0f3却常常打开闪退或者Unity2017编辑器运行起来就闪退掉
遇到问题: 从今年开始,不知道咋回事,电脑上的Unity2017像是变了个人似得,突然特别爱闪退掉,有时候还次次闪退,真是让人无语,一直以来我都怀疑是不是电脑上安装了什么别的软件了,导致…...
Java基础面试题20:Java语言sendRedirect()和forward()方法有什么区别?
Java基础面试题:Java语言sendRedirect()和forward()方法有什么区别? 在 Java Web 开发中,sendRedirect() 和 forward() 是两个非常常用的方法,但它们有一些核心区别。我们来用最简单的方式给你解释清楚。 一、sendRedirect() 和 …...
2、光同步数字传送网的特点
同步复用 光同步数字传送网(SDH)采用同步复用方式。它将多个低速信号复用成高速信号,与准同步数字体系(PDH)的异步复用不同。在 SDH 中,各支路信号与复用后的高速信号是同步的,这种同步复用的方…...
3.4 stm32系列:定时器(PWM、定时中断)
一、定时器概述 1.1 软件定时原理 使用纯软件(CPU死等)的方式实现定时(延时)功能; 不精准的延迟: /* 微秒级延迟函数* 不精准* stm32存在压出栈过程需要消耗时间* 存在流水线,执行时间不确定…...
【环境搭建】Python、PyTorch与cuda的版本对应表
一个愿意伫立在巨人肩膀上的农民...... 在深度学习的世界里,选择合适的工具版本是项目成功的关键。CUDA、PyTorch和Python作为深度学习的三大支柱,它们的版本匹配问题不容忽视。错误的版本组合可能导致兼容性问题、性能下降甚至项目失败。因此࿰…...
【经验总结】AUTOSAR架构下基于TJA1145收发器偶发通信丢失不可恢复问题分析
目录 前言 正文 1.问题描述 2.尝试问题复现 3.尝试问题定位 4.直接原因 5.总结 前言 在《【CAN通信】TJA1145收发器重要功能介绍》一文中我们详细介绍了TJA1145收发器的重点内容,最近在开发测试过程中就遇到了一个CAN通信丢失且不可恢复的偶发问题,解决该问题的思路和…...
帝国CMS:如何去掉帝国CMS登录界面的认证码登录
如果在安装的时候,不小心选中了认证码选项,那么后面登录帝国后台都会要求输入认证码才能登录,如何去除这个设置呢,笔者以古诗词网 www.gushichi.com为例,为大家举例说明! 去除步骤如下: 1.前往…...
CTF入门:单主机渗透——flag_XEE的常规思路
学习通过技术手段获取目标主机中预置的5个flag值。 在kali操作机中打开终端,然后使用nmap工具对目标机器进行端口扫描: nmap -sT 192.168.12.26 访问80端口。 网站首页是一个登录框,在界面上有一个提示的标签“弱口令”,说…...
Note2024122303_Code2Docu插件使用
Note2024122303_Code2Docu插件初使用V1.0 step1: 安装 跳转链接 文档阅读:下载文档阅读。 根据文档内容,大概知道首先下载并安装插件: 资料说明和安装方式: 意思是: 下载文件后直接运行 Code2Docu_Installati…...
深度学习之目标检测篇——残差网络与FPN结合
特征金字塔多尺度融合特征金字塔的网络原理 这里是基于resnet网络与Fpn做的结合,主要把resnet中的特征层利用FPN的思想一起结合,实现resnet_fpn。增强目标检测backone的有效性。代码实现如下: import torch from torch import Tensor from c…...
共模电感的工作原理
共模电感也称为共模扼流线圈,是一种抑制共模干扰的器件,它是由两个尺寸相同,匝数相同的线圈对称地绕制在同一个铁氧体环形磁芯上,形成的一个四端器件。当共模电流流过共模电感时,磁芯上的两个线圈产生的磁通相互叠加&a…...
mysql高阶语句
mysql高阶语句 1.对结果排序 SELECT id,name,score FROM info; #由于对id设置了主键约束,默认排序按id的大小升序排序 select name,score from info order by score; #默认按升序(从小到大排序) select name,score from info order by score…...
sfnt-pingpong -测试网络性能和延迟的工具
sfnt-pingpong 是一个用于测试网络性能和延迟的工具,通常用于测量不同网络环境下的数据包传输性能、吞吐量、延迟等指标。 它通常是基于某种网络协议(如 TCP)执行“ping-pong”式的测试,即客户端和服务器之间相互发送数据包&…...
PostgreSQL 的历史
title: PostgreSQL 的历史 date: 2024/12/23 updated: 2024/12/23 author: cmdragon excerpt: PostgreSQL 是一款功能强大且广泛使用的开源关系型数据库管理系统。其历史可以追溯到1986年,当时由加州大学伯克利分校的一个研究团队开发。文章将深入探讨 PostgreSQL 的起源、…...
【express-generator】01-安装和基本使用
创建和初始化项目 安装 npm i -g express-generator 创建一个express应用程序 //express 文件名 express blog_demo 跟着提示 cd blog_demo //移动到该目录下 npm install //初始化 npm start //启动服务 在页面打开localhost:3000(默认启动的端口)…...
20241230 基础数学-线性代数-(1)求解特征值(numpy, scipy)
所有代码实现,基于教程中的理论通过python实现出来的。效率不高,但有代码可以看。 由于scipy/sckitlearn/sparkx 底层的实现都被封装了(小白兔水平有限,fortran代码实在没看懂)这里的实现至少可以和理论公式对应的上。…...
无人零售 4G 工业无线路由器赋能自助贩卖机高效运营
工业4G路由器为运营商赋予 “千里眼”,实现对贩卖机销售、库存、设备状态的远程精准监控,便于及时补货与维护;凭借强大的数据实时传输,助力深度洞察销售趋势、优化库存、挖掘商机;还能远程升级、保障交易安全、快速处理…...
python+opencv+棋盘格实现相机标定及相对位姿估计
pythonopencv棋盘格实现相机标定及相对位姿估计 引言1,使用相机采集含棋盘格图像14张2,进行相机标定(1)测试软件1标定结果(内参及畸变系数)(2)测试软件2标定结果(内参及畸…...
【YashanDB知识库】in大量参数时查询性能慢
本文内容来自YashanDB官网,原文内容请见 https://www.yashandb.com/newsinfo/7802939.html?templateId1718516 **【标题】**in大量参数时查询性能慢 **【关键字】**in 大量参数 FAST FULL SCAN INDEX RANGE SCAN **【问题描述】**测试表数据量200w,表…...
kubevirt网络
六、KubeVirt网络 KubeVirt网络相关组件 用户在KubeVirt平台创建虚拟机只需创建一个vmi(Virtual Machine Instance)对象,之后virt-controller会根据vmi对象中的信息创建一个Pod,这里把这个Pod叫做vmi pod。Vmi pod中有kubevirt组…...
LeetCode100之腐烂的橘子(994)--Java
1.问题描述 在给定的 m x n 网格 grid 中,每个单元格可以有以下三个值之一: 值 0 代表空单元格;值 1 代表新鲜橘子;值 2 代表腐烂的橘子。 每分钟,腐烂的橘子 周围 4 个方向上相邻 的新鲜橘子都会腐烂。 返回 直到单元…...
【Leetcode】855. 考场就座
文章目录 题目思路代码复杂度分析时间复杂度空间复杂度 结果总结 题目 题目链接🔗 在考场里,有 n n n 个座位排成一行,编号为 0 0 0 到 n − 1 n - 1 n−1。 当学生进入考场后,他必须坐在离最近的人最远的座位上。如果有多个…...