Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Program C untuk memeriksa sama ada matriks adalah antisimetri?

Program C untuk memeriksa sama ada matriks adalah antisimetri?

WBOY
WBOYke hadapan
2023-08-28 14:45:04665semak imbas

Program C untuk memeriksa sama ada matriks adalah antisimetri?

Jika unsur matriks segi empat sama A memenuhi aij=−aji untuk semua i dan j, maka matriks segi empat sama A dipanggil matriks antisimetri. Dalam erti kata lain, jika transpose matriks A adalah sama dengan nilai negatif matriks A, iaitu, (AT=−A), maka matriks A dipanggil matriks antisimetri.

Perhatikan bahawa semua unsur pepenjuru utama matriks antisimetri adalah sifar.

Mari kita ambil contoh matriks

A= |0 -5 4|
   |5 0 -1|
   |-4 1 0|

Ini adalah matriks simetri condong kerana untuk semua i dan j, aij=−aji. Contohnya, a12 = -5, a21 = 5, yang bermaksud a12 = −a21. Begitu juga, syarat ini berlaku untuk semua nilai lain i dan j.

Kita juga boleh mengesahkan bahawa transpose matriks A adalah sama dengan negatif matriks A, iaitu, AT=−A.

A<sup>T</sup>= |0 5 -4|
    |-5 0 1|
    |4 -1 0|
and
A= |0 -5 4|
   |5 0 -1|
   |-4 1 0|

Kita dapat melihat dengan jelas bahawa AT=−A, yang menjadikan A sebagai matriks simetri senget.

Input:
Enter the number of rows and columns: 2 2
Enter the matrix elements: 10 20 20 10
Output:
The matrix is symmetric.
10 20
20 10

Penjelasan

Matriks ialah matriks simetri jika ia sama dengan transposenya.

Jika tidak, jika transposenya sama dengan negatifnya, maka matriks adalah antisimetri. Jika tidak, ia bukan simetri mahupun antisimetri. Keputusan akan dicetak dengan sewajarnya.

Proses menyemak simetri matriks adalah seperti berikut:

  • Memerlukan pengguna memasukkan bilangan baris dan lajur matriks.

  • Memerlukan elemen matriks input dan menyimpannya dalam 'A'. Mulakan pembolehubah 'x' dan 'y' kepada 0.

  • Jika matriks tidak sama dengan transposenya, tetapkan nilai 1 kepada pembolehubah sementara 'x'.

  • Jika tidak, jika negatif matriks adalah sama dengan transposenya, tetapkan pembolehubah sementara 'y' kepada 1.

  • Jika x sama dengan 0, maka matriks adalah simetri. Jika tidak, jika y sama dengan 1, matriks adalah antisimetri.

  • Jika tiada syarat di atas dipenuhi, matriks tidak simetri mahupun antisimetri.

  • Kemudian cetak hasilnya.

Contoh

#include<iostream>
using namespace std;
int main () {
   int A[10][10], i, j, m, n, x = 0, y = 0;
   cout << "Enter the number of rows and columns : ";
   cin >> m >> n;
   cout << "Enter the matrix elements : ";
   for (i = 0; i < m; i++)
      for (j = 0; j < n; j++)
   cin >> A[i][j];
   for (i = 0; i < m; i++) {
      for( j = 0; j < n; j++) {
         if (A[i][j] != A[j][i])
            x = 1;
         else if (A[i][j] == -A[j][i])
            y = 1;
      }
   }
   if (x == 0)
      cout << "The matrix is symmetric.</p><p> ";
   else if (y == 1)
      cout << "The matrix is skew symmetric.</p><p> ";
   else
      cout << "It is neither symmetric nor skew-symmetric.</p><p> ";
   for (i = 0; i < m; i++) {
      for (j = 0; j < n; j++)
         cout << A[i][j] << " ";
      cout << "</p><p> ";
   }
   return 0;
}

Atas ialah kandungan terperinci Program C untuk memeriksa sama ada matriks adalah antisimetri?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam