Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C#

सी # प्रोग्राम दो मैट्रिक्स गुणा करने के लिए

मैट्रिक्स गुणन कार्यक्रम का उपयोग दो मैट्रिक्स को गुणा करने के लिए किया जाता है। यह प्रक्रिया तभी संभव है जब पहले मैट्रिक्स में कॉलम की संख्या दूसरे मैट्रिक्स में पंक्तियों की संख्या के बराबर हो।

C# में मैट्रिक्स गुणन को प्रदर्शित करने वाला एक प्रोग्राम इस प्रकार दिया गया है -

उदाहरण

using System;
namespace MatrixMultiplicationDemo {
   class Example {
      static void Main(string[] args) {
         int m = 2, n = 3, p = 3, q = 3, i, j;
         int[,] a = {{1, 4, 2}, {2, 5, 1}};
         int[,] b = {{3, 4, 2}, {3, 5, 7}, {1, 2, 1}};
         Console.WriteLine("Matrix a:");
         for (i = 0; i < m; i++) {
            for (j = 0; j < n; j++) {
               Console.Write(a[i, j] + " ");
            }
            Console.WriteLine();
         }
         Console.WriteLine("Matrix b:");
         for (i = 0; i < p; i++) {
            for (j = 0; j < q; j++) {
               Console.Write(b[i, j] + " ");
            }
            Console.WriteLine();
         }
         if(n! = p) {
            Console.WriteLine("Matrix multiplication not possible");
         } else {
            int[,] c = new int[m, q];
            for (i = 0; i < m; i++) {
               for (j = 0; j < q; j++) {
                  c[i, j] = 0;
                  for (int k = 0; k < n; k++) {
                     c[i, j] += a[i, k] * b[k, j];
                  }
               }
            }
            Console.WriteLine("The product of the two matrices is :");
            for (i = 0; i < m; i++) {
               for (j = 0; j < n; j++) {
                  Console.Write(c[i, j] + "\t");
               }
               Console.WriteLine();
            }
         }
      }
   }
}

आउटपुट

उपरोक्त कार्यक्रम का आउटपुट निम्नानुसार दिया गया है।

Matrix a:
1 4 2
2 5 1
Matrix b:
3 4 2
3 5 7
1 2 1
The product of the two matrices is :
172832
223540

आइए अब उपरोक्त कार्यक्रम को समझते हैं।

सबसे पहले, दो मैट्रिक्स ए और बी प्रदर्शित होते हैं। इसके लिए कोड स्निपेट इस प्रकार दिया गया है।

for (i = 0; i < m; i++) {
   for (j = 0; j < n; j++) {
      Console.Write(a[i, j] + " ");
   }
   Console.WriteLine();
}
Console.WriteLine("Matrix b:");
for (i = 0; i < p; i++) {
   for (j = 0; j < q; j++) {
      Console.Write(b[i, j] + " ");
   }
   Console.WriteLine();
}

यदि पहले मैट्रिक्स में स्तंभों की संख्या दूसरे मैट्रिक्स में पंक्तियों की संख्या के बराबर नहीं है, तो मैट्रिक्स को गुणा नहीं किया जा सकता है और यह प्रदर्शित होता है। इसके लिए कोड स्निपेट इस प्रकार दिया गया है।

if(n! = p) {
   Console.WriteLine("Matrix multiplication not possible");
}

अन्यथा, लूप के लिए नेस्टेड का उपयोग मैट्रिक्स ए और बी यानी मैट्रिक्स सी के उत्पाद को प्राप्त करने के लिए किया जाता है। फिर मैट्रिक्स c प्रदर्शित होता है। इसके लिए कोड स्निपेट इस प्रकार दिया गया है -

for (i = 0; i < m; i++) {
   for (j = 0; j < q; j++) {
      c[i, j] = 0;
      for (int k = 0; k < n; k++) {
         c[i, j] += a[i, k] * b[k, j];
      }
   }
}
Console.WriteLine("The product of the two matrices is :");
for (i = 0; i < m; i++) {
   for (j = 0; j < n; j++) {
      Console.Write(c[i, j] + "\t");
   }
   Console.WriteLine();
}

  1. सी में पॉइंटर्स का उपयोग करके दो मैट्रिक्स कैसे गुणा करें?

    पॉइंटर एक वेरिएबल है जो दूसरे वेरिएबल के एड्रेस को स्टोर करता है। पॉइंटर्स की विशेषताएं सूचक स्मृति स्थान बचाता है। मेमोरी लोकेशन तक सीधी पहुंच के कारण पॉइंटर का निष्पादन समय तेज होता है। पॉइंटर्स की मदद से, मेमोरी को कुशलता से एक्सेस किया जाता है यानी मेमोरी आवंटित की जाती है और गतिशील रूप से डील

  1. पायथन का उपयोग करके दो मैट्रिक्स को गुणा करने के लिए Tensorflow का उपयोग कैसे किया जा सकता है?

    Tensorflow एक मशीन लर्निंग फ्रेमवर्क है जो Google द्वारा प्रदान किया जाता है। यह एक ओपन-सोर्स फ्रेमवर्क है जिसका उपयोग एल्गोरिदम, गहन शिक्षण अनुप्रयोगों और बहुत कुछ को लागू करने के लिए पायथन के साथ संयोजन में किया जाता है। इसका उपयोग अनुसंधान और उत्पादन उद्देश्यों के लिए किया जाता है। इसमें अनुकूलन

  1. पायथन का उपयोग करके दो मैट्रिक्स को कैसे गुणा करें?

    दो आव्यूहों का गुणन तभी संभव है जब पहले आव्यूह में स्तंभों की संख्या दूसरे आव्यूह में पंक्तियों की संख्या के बराबर हो। नेस्टेड लूप का उपयोग करके गुणा किया जा सकता है। निम्नलिखित कार्यक्रम में 3 पंक्तियों और 3 स्तंभों के साथ दो मैट्रिक्स x और y हैं। परिणामी z मैट्रिक्स में भी 3X3 संरचना होगी। पहले म