Q:

Program to calculate the subtraction of 2 matrices

belongs to collection: Matrix Programs

0

Explanation

In this program, we need to subtract two matrices and print the resulting matrix.

Subtraction of two matrices:

Matrix B can be subtracted from matrix A or vice versa if and only if they have same dimensions that are, the same number of rows and columns. It is not possible to subtract a 2 × 3 matrix from a 3 × 2 matrix. Subtraction of two matrices can be performed by subtracting their corresponding elements as

(A - B)ij = Aij - Bij 

Subtraction of two matrices can be performed by looping through the first and second matrix. Calculating the difference between their corresponding elements and store the result in the third matrix.

Algorithm

  1. Declare and initialize two two-dimensional arrays a and b.
  2. Calculate the number of rows and columns present in the array a (as dimensions of both the arrays are same) and store it in variables rows and cols respectively.
  3. Declare another array diff with dimensions present in rows and columns.
  4. Loop through the arrays a and b, calculate the difference between the corresponding elements
    e.g a11 - b11 = diff11
  5. Display the elements of array diff.

Input:

Matrix a = [4, 5, 6]  

           [3, 4, 1]  

           [1, 2, 3]  

Matrix b = [2, 0, 3]  

           [2, 3, 1] 

           [1, 1, 1]  

Output:

Subtraction of two matrices: [2 5 3]
                             [1 1 0]
                             [0 1 2]

All Answers

need an explanation for this answer? contact us directly to get an explanation for this answer

Python

#Initialize matrix a  
a = [  
        [4, 5, 6],  
        [3, 4, 1],  
        [1, 2, 3]  
    ];  
   
#Initialize matrix b  
b = [  
          [2, 0, 3],  
         [2, 3, 1],  
         [1, 1, 1]  
     ];  
   
#Calculates number of rows and columns present in given matrix  
rows = len(a);  
cols = len(a[0]);  
   
#Array diff will hold the result and is initialized with zeroes.  
diff = [[0]*rows for i in range(cols)];  
   
#Performs subtraction of matrices a and b. Store the result in matrix diff  
for i in range(0, rows):  
    for j in range(0, cols):  
        diff[i][j] = a[i][j] - b[i][j];  
   
print("Subtraction of two matrices: ");  
for i in range(0, rows):  
    for j in range(0, cols):  
       print(diff[i][j]),  
   
    print(" ");  

 

Output:

Subtraction of two matrices: 
2 5 3 
1 1 0 
0 1 2 

 

C

#include <stdio.h>  
   
int main()  
{  
    int rows, cols;  
          
    //Initialize matrix a  
    int a[][3] = {  
                    {4, 5, 6},  
                    {3, 4, 1},  
                    {1, 2, 3}  
                 };  
      
    //Initialize matrix b  
    int b[][3] = {  
                      {2, 0, 3},  
                     {2, 3, 1},  
                     {1, 1, 1}  
                 };  
      
    //Calculates number of rows and columns present in given matrix  
    rows = (sizeof(a)/sizeof(a[0]));  
    cols = (sizeof(a)/sizeof(a[0][0]))/rows;  
      
    //Array diff will hold the result  
    int diff[rows][cols];  
      
    //Performs subtraction of matrices a and b. Store the result in matrix diff  
    for(int i = 0; i < rows; i++){  
        for(int j = 0; j < cols; j++){  
            diff[i][j] = a[i][j] - b[i][j];  
        }  
    }  
      
    printf("Subtraction of two matrices: \n");  
    for(int i = 0; i < rows; i++){  
        for(int j = 0; j < cols; j++){  
           printf("%d ", diff[i][j]);  
        }  
        printf("\n");  
    }  
   
    return 0;  
}  

 

Output:

Subtraction of two matrices: 
2 5 3 
1 1 0 
0 1 2 

 

JAVA

public class SubMatrix  
{  
    public static void main(String[] args) {  
        int rows, cols;  
          
        //Initialize matrix a  
          int a[][] = {  
                          {4, 5, 6},  
                          {3, 4, 1},  
                          {1, 2, 3}  
                       };  
            
          //Initialize matrix b  
          int b[][] = {  
                          {2, 0, 3},  
                         {2, 3, 1},  
                         {1, 1, 1}  
                     };  
            
          //Calculates number of rows and columns present in given matrix  
          rows = a.length;  
        cols = a[0].length;  
          
          //Array diff will hold the result  
        int diff[][] = new int[rows][cols];  
          
        //Performs subtraction of matrices a and b. Store the result in matrix diff  
        for(int i = 0; i < rows; i++){  
            for(int j = 0; j < cols; j++){  
                diff[i][j] = a[i][j] - b[i][j];  
            }  
        }  
          
        System.out.println("Subtraction of two matrices: ");  
        for(int i = 0; i < rows; i++){  
            for(int j = 0; j < cols; j++){  
               System.out.print(diff[i][j] + " ");  
            }  
            System.out.println();  
        }  
    }  
}  

 

Output:

Subtraction of two matrices: 
2 5 3 
1 1 0 
0 1 2 

 

C#

using System;  
                      
public class SubMatrix  
{  
    public static void Main()  
    {  
        int rows, cols;  
          
        //Initialize matrix a  
          int[,] a = {  
                          {4, 5, 6},  
                          {3, 4, 1},  
                          {1, 2, 3}  
                     };  
            
          //Initialize matrix b  
          int[,] b = {  
                          {2, 0, 3},  
                         {2, 3, 1},  
                         {1, 1, 1}  
                    };  
            
          //Calculates number of rows and columns present in given matrix  
          rows = a.GetLength(0);  
        cols = a.GetLength(1);  
          
          //Array diff will hold the result  
        int[,] diff = new int[rows, cols];  
          
        //Performs subtraction of matrices a and b. Store the result in matrix diff  
        for(int i = 0; i < rows; i++){  
            for(int j = 0; j < cols; j++){  
                diff[i,j] = a[i,j] - b[i,j];  
            }  
        }  
          
        Console.WriteLine("Subtraction of two matrices: ");  
        for(int i = 0; i < rows; i++){  
            for(int j = 0; j < cols; j++){  
               Console.Write(diff[i,j] + " ");  
            }  
            Console.WriteLine();  
        }  
    }  
}  

 

Output:

Subtraction of two matrices: 
2 5 3 
1 1 0 
0 1 2 

 

PHP

<!DOCTYPE html>  
<html>  
<body>  
<?php  
//Initialize matrix a  
$a = array(  
            array(4, 5, 6),  
            array(3, 4, 1),  
            array(1, 2, 3)  
          );  
   
//Initialize matrix b  
$b = array(  
              array(2, 0, 3),  
             array(2, 3, 1),  
             array(1, 1, 1)  
           );  
   
//Calculates number of rows and columns present in given matrix  
$rows = count($a);  
$cols = count($a[0]);  
   
//Array diff will hold the result and initialize it with 0  
$diff = array_fill(0, $cols, array_fill(0, $rows, 0));  
   
//Performs subtraction of matrices a and b. Store the result in matrix diff  
for($i = 0; $i < $rows; $i++){  
    for($j = 0; $j < $cols; $j++){  
        $diff[$i][$j] = $a[$i][$j] - $b[$i][$j];  
    }  
}  
   
print("Subtraction of two matrices: <br>");  
for($i = 0; $i < $rows; $i++){  
    for($j = 0; $j < $cols; $j++){  
       print($diff[$i][$j] . " ");  
    }  
    print("<br>");  
}  
?>  
</body>  
</html>  

 

Output:

Subtraction of two matrices: 
2 5 3 
1 1 0 
0 1 2 

need an explanation for this answer? contact us directly to get an explanation for this answer

total answers (1)

Program to determine whether a given matrix is an ... >>
<< Program to calculate the addition of 2 matrices...