R语言 矢量的交叉积

R语言 矢量的交叉积

在数学中, 交叉 或称为 矢量积三维空间 中两个矢量的二元运算,用符号 “X “表示 。给定两个线性 独立的向量a和b,交叉积 a×b 是一个与a和b都垂直的向量,因此 是包含它们 的平面的法线 。

让我们给出两个矢量。

R编程中矢量的交叉积

和。

R编程中矢量的交叉积

其中

i: 沿x方向的单位向量

j: 沿y方向 的单位向量

k: 沿z方向 的单位向量

然后 ,交叉积的计算方法为 。

R编程中矢量的交叉积

其中

R编程中矢量的交叉积

是沿i、j和k方向的单位向量的系数。

例子

给出两个矢量A和B为。

A = 3i + 5j + 4k,

and

B = 2i + 7j + 5k

Cross Product = (5 ? 5 – 4 ? 7)i + (4 ? 2 – 3 ? 5)j + (3 ? 7 – 5 ? 2)k

= (?3)i + (?7)j + (11)k

在R语言中计算交叉乘积

R语言提供了一种非常有效的方法来计算两个向量的交叉积。通过使用 pracma 库中的 cross() 方法。这个函数可以计算3维向量的交叉或向量乘积。在 矩阵的情况 下,它只取长度为3的第一维,并计算相应列或行之间的交叉积 。

语法: cross(x, y)

参数

x: 数字向量或矩阵

y: 数字 向量或矩阵

# 以矢量形式输入

例1 :

# R Program illustrating
# cross product of two vectors
  
# Import the required library
library(pracma)
  
# Taking two vectors
a = c(3, 5, 4)
b = c(2, 7, 5)
  
# Calculating cross product using cross()
print(cross(a, b))

输出

[1] -3 -7 11

例2 :

# R Program illustrating
# cross product of two vectors
  
# Import the required library
library(pracma)
  
# Taking two vectors
a = c(23, 15, 49)
b = c(28, 17, 25)
  
# Calculating cross product using cross()
print(cross(a, b))

输出

[1] -458  797  -29

# 将输入作为矩阵

例1 :

# R Program illustrating
# cross product of two vectors
  
# Import the required library
library(pracma)
  
# Taking two matrices
a = matrix( 
  c(1, 2, 3, 4, 5, 6, 7, 8, 9),  
  nrow = 3,              
  ncol = 3,              
  byrow = TRUE           
) 
b = matrix( 
  c(5, 2, 1, 4, 6, 6, 3, 2, 9),  
  nrow = 3,              
  ncol = 3,              
  byrow = TRUE           
) 
  
# Calculating cross product using cross()
print(cross(a, b))

输出

      [, 1] [, 2] [, 3]
[1, ]   -4   14   -8
[2, ]   -6    0    4
[3, ]   54  -36  -10

例2 :

# R Program illustrating
# cross product of two vectors
  
# Import the required library
library(pracma)
  
# Taking two matrices
a = matrix( 
  c(11, 2, 31, 4, 52, 64, 7, 8, 9),  
  nrow = 3,              
  ncol = 3,              
  byrow = TRUE           
) 
b = matrix( 
  c(85, 21, 1, 4, 61, 6, 32, 2, 9),  
  nrow = 3,              
  ncol = 3,              
  byrow = TRUE           
) 
  
# Calculating cross product using cross()
print(cross(a, b))

输出

      [, 1] [, 2] [, 3]
[1, ]  -649 2624   61
[2, ] -3592  232   36
[3, ]    54  225 -242

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程