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

Program C untuk memeriksa sama ada matriks adalah antisimetri?

WBOY
Lepaskan: 2023-08-28 14:45:04
ke hadapan
685 orang telah melayarinya

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|
Salin selepas log masuk

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|
Salin selepas log masuk

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
Salin selepas log masuk

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;
}
Salin selepas log masuk

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!

Label berkaitan:
sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan