आर में क्रॉस उत्पाद की गणना कैसे करें


यह मानते हुए कि हमारे पास तत्वों (ए 1 , ए 2 , ए 3 ) के साथ वेक्टर ए और तत्वों (बी 1 , बी 2 , बी 3 ) के साथ वेक्टर बी है, हम इन दो वैक्टरों के क्रॉस उत्पाद की गणना निम्नानुसार कर सकते हैं:

क्रॉस उत्पाद = [(ए 2 *बी 3 ) – (ए 3 *बी 2 ), (ए 3 *बी 1 ) – (ए 1 *बी 3 ), (ए 1 *बी 2 ) – (ए 2 *बी 1 )]

उदाहरण के लिए, मान लें कि हमारे पास निम्नलिखित वेक्टर हैं:

  • वेक्टर ए: (1, 2, 3)
  • वेक्टर बी: (4, 5, 6)

हम इन वैक्टरों के क्रॉस उत्पाद की गणना इस प्रकार कर सकते हैं:

  • क्रॉस उत्पाद = [(ए 2 *बी 3 ) – (ए 3 *बी 2 ), (ए 3 *बी 1 ) – (ए 1 *बी 3 ), (ए 1 *बी 2 ) – (ए 2 *बी 1 )]
  • क्रॉस उत्पाद = [(2*6) – (3*5), (3*4) – (1*6), (1*5) – (2*4)]
  • क्रॉस उत्पाद = (-3, 6, -3)

आप R में दो वैक्टरों के क्रॉस उत्पाद की गणना करने के लिए दो तरीकों में से एक का उपयोग कर सकते हैं:

विधि 1: प्रैक्मा पैकेज के क्रॉस() फ़ंक्शन का उपयोग करें

 library (pracma)
  
#calculate cross product of vectors A and B
cross(A, B)

विधि 2: अपना स्वयं का कार्य परिभाषित करें

 #define function to calculate cross product 
cross <- function (x, y, i=1:3) {
  create3D <- function (x) head (c(x, rep (0, 3)), 3)
  x <- create3D(x)
  y <- create3D(y)
  j <- function (i) (i-1) %% 3+1
  return (x[j(i+1)]*y[j(i+2)] - x[j(i+2)]*y[j(i+1)])
}

#calculate cross product
cross(A, B)

निम्नलिखित उदाहरण दिखाते हैं कि व्यवहार में प्रत्येक विधि का उपयोग कैसे करें।

उदाहरण 1: प्रैक्मा पैकेज के क्रॉस() फ़ंक्शन का उपयोग करें

निम्नलिखित कोड दिखाता है कि दो वैक्टरों के बीच क्रॉस उत्पाद की गणना करने के लिए प्रैक्मा पैकेज से क्रॉस() फ़ंक्शन का उपयोग कैसे करें:

 library (pracma)
  
#definevectors
A <- c(1, 2, 3)
B <- c(4, 5, 6)
  
#calculate cross product
cross(A, B)

[1] -3 6 -3

क्रॉस उत्पाद (-3, 6, -3) हो जाता है।

यह उस क्रॉस उत्पाद से मेल खाता है जिसकी हमने पहले मैन्युअल रूप से गणना की थी।

उदाहरण 2: अपना स्वयं का कार्य परिभाषित करें

निम्नलिखित कोड दिखाता है कि दो वैक्टरों के बीच क्रॉस उत्पाद की गणना करने के लिए अपने स्वयं के फ़ंक्शन को कैसे परिभाषित करें:

 #define function to calculate cross product 
cross <- function (x, y, i=1:3) {
  create3D <- function (x) head (c(x, rep (0, 3)), 3)
  x <- create3D(x)
  y <- create3D(y)
  j <- function (i) (i-1) %% 3+1
  return (x[j(i+1)]*y[j(i+2)] - x[j(i+2)]*y[j(i+1)])
}

#definevectors
A <- c(1, 2, 3)
B <- c(4, 5, 6)

#calculate cross product
cross(A, B)

[1] -3 6 -3

क्रॉस उत्पाद (-3, 6, -3) हो जाता है।

यह उस क्रॉस उत्पाद से मेल खाता है जिसकी हमने पिछले उदाहरण में गणना की थी।

अतिरिक्त संसाधन

निम्नलिखित ट्यूटोरियल बताते हैं कि आर में अन्य सामान्य कार्य कैसे करें:

आर में डॉट उत्पाद की गणना कैसे करें
आर में पहचान मैट्रिक्स कैसे बनाएं
आर में एक खाली मैट्रिक्स कैसे बनाएं

एक टिप्पणी जोड़ने

आपका ईमेल पता प्रकाशित नहीं किया जाएगा. आवश्यक फ़ील्ड चिह्नित हैं *