Sharob rashidov nomidagi samarqand davlat universiteti matematika fakulteti matematika va informatika



Download 201,08 Kb.
bet3/4
Sana23.07.2022
Hajmi201,08 Kb.
#841009
1   2   3   4
Bog'liq
Matimatika va informatika

C++ da matritsaning aniqlovchisi
Kvadrat matritsaning determinantini uning element qiymatlari yordamida hisoblash mumkin. A matritsaning determinantini det(A) deb belgilash mumkin va uni geometriyada matritsa tomonidan tasvirlangan chiziqli transformatsiyaning masshtablash omili deb atash mumkin.
C++ da matritsaning aniqlovchisi
Matritsaning determinantini faqat kvadrat matritsa uchun birinchi qator kofaktorini mos keladigan kofaktorning determinantiga ko'paytirish va yakuniy natija olish uchun ularni muqobil belgilar bilan qo'shish orqali hisoblash mumkin.

Matritsaning determinantiga quyidagi misol keltiriladi.


#include
#include
using namespace std;
int determinant( int matrix[10][10], int n) {
int det = 0;
int submatrix[10][10];
if (n == 2)
return ((matrix[0][0] * matrix[1][1]) - (matrix[1][0] * matrix[0][1]));
else {
for (int x = 0; x < n; x++) {
int subi = 0;
for (int i = 1; i < n; i++) {
int subj = 0;
for (int j = 0; j < n; j++) {
if (j == x)
continue;
submatrix[subi][subj] = matrix[i][j];
subj++;
}
subi++;
}
det = det + (pow(-1, x) * matrix[0][x] * determinant( submatrix, n - 1 ));
}
}
return det;
}
int main() {
int n, i, j;
int matrix[10][10];
cout << "Enter the size of the matrix:\n";
cin >> n;
cout << "Enter the elements of the matrix:\n";
for (i = 0; i < n; i++)
for (j = 0; j < n; j++)
cin >> matrix[i][j];
cout<<"The entered matrix is:"<for (i = 0; i < n; i++) {
for (j = 0; j < n; j++)
cout << matrix[i][j] <<" ";
cout<}
cout<<"Determinant of the matrix is "<< determinant(matrix, n);
return 0;
}
Natiyja
Enter the size of the matrix: 3
Enter the elements of the matrix:
7 1 3
2 4 1
1 5 1
The entered matrix is:
7 1 3
2 4 1
1 5 1
Determinant of the matrix is 10
Yuqoridagi dasturda matritsaning hajmi va elementlari main() funksiyasida berilgan. Keyin determinant() funksiyasi chaqiriladi. U ko'rsatilgan matritsaning determinantini qaytaradi. Bu quyidagi kod parchasi bilan ko'rsatilgan.
cout << "Enter the size of the matrix:\n";
cin >> n;
cout <<"Enter the elements of the matrix:\n";
for (i = 0; i < n; i++)
for (j = 0; j < n; j++)
cin >> matrix[i][j];
cout<<"The entered matrix is:"<for (i = 0; i < n; i++) {
for (j = 0; j < n; j++)
cout << matrix[i][j] <<" ";
cout<}
cout<<"Determinant of the matrix is "<< determinant(matrix, n);
Determinant() funksiyasida matritsaning o'lchami 2 bo'lsa, u holda determinant to'g'ridan-to'g'ri hisoblanadi va qiymat qaytariladi. Bu quyidagicha ko'rsatilgan.
if (n == 2)
return ((matrix[0][0] * matrix[1][1]) - (matrix[1][0] * matrix[0][1]));
Agar matritsaning o'lchami 2 bo'lmasa, determinant rekursiv tarzda hisoblanadi. X, i va j sikl o'zgaruvchilari bilan ishlatiladigan 3 ta nested for tsikli mavjud. Ushbu tsikllar determinantni hisoblash uchun ishlatiladi va determinant() funksiyasi ichki determinantni hisoblash uchun rekursiv chaqiriladi va keyin uni tashqi qiymat bilan ko'paytiradi. Bu quyidagi kod parchasi bilan ko'rsatilgan.
for (int x = 0; x < n; x++) {
int subi = 0;
for (int i = 1; i < n; i++) {
int subj = 0;
for (int j = 0; j < n; j++) {
if (j == x)
continue;
submatrix[subi][subj] = matrix[i][j];
subj++;
}
subi++;
}
det = det + (pow(-1, x) * matrix[0][x] * determinant( submatrix, n - 1 ));
}
C++ da matritsaning aniqlovchisi
Matritsaning determinantini faqat kvadrat matritsa uchun birinchi qator kofaktorini mos keladigan kofaktorning determinantiga ko'paytirish va yakuniy natija olish uchun ularni muqobil belgilar bilan qo'shish orqali hisoblash mumkin.



Avval matritsani va matritsaning o'lchov qiymatini oladigan determinantOfMatrix(int ​​mat[N][N], int o'lchov) funksiyasiga egamiz. Agar matritsa faqat 1 o'lchovli bo'lsa, u [0][0] matritsa qiymatini qaytaradi. Ushbu shart asosiy shart sifatida ham qo'llaniladi, chunki biz har bir rekursiv chaqiruvda o'lchamlarni kamaytirish bilan matritsamizni rekursiv ravishda takrorlaymiz.
int determinantOfMatrix(int mat[N][N], int dimension){
int Det = 0;
if (dimension == 1)
return mat[0][0];
Keyin birinchi qatorga qadar kofaktor(int mat[N][N], int temp[N][N], int p, int q, int n) funksiyasiga uzatiladigan kofaktorMat[N][N] ni e'lon qilamiz. o'lchamidan kichikroqdir. Matritsaning determinanti Det o'zgaruvchisida saqlanadi, har birida tsikl takrorlanishi uchun belgilar almashadi. Keyinchalik bu det chop etiladigan asosiy funktsiyaga qaytariladi.
#include
using namespace std;
const int N = 3;
void cofactor(int mat[N][N], int temp[N][N], int p,int q, int n){
int i = 0, j = 0;
for (int row = 0; row < n; row++){
for (int column = 0; column < n; column++){
if (row != p && column != q){
temp[i][j++] = mat[row][column];
if (j == n - 1){
j = 0;
i++;
}
}
}
}
}
int determinantOfMatrix(int mat[N][N], int dimension){
int Det = 0;
if (dimension == 1)
return mat[0][0];
int cofactorMat[N][N];
int sign = 1;
for (int firstRow = 0; firstRow < dimension; firstRow++){
cofactor(mat, cofactorMat, 0, firstRow, dimension);
Det += sign * mat[0][firstRow] * determinantOfMatrix(cofactorMat, dimension - 1);
sign = -sign;
}
return Det;
}
void display(int mat[N][N], int row, int col){
for (int i = 0; i < row; i++){
for (int j = 0; j < col; j++)
cout<cout<}
cout<}
int main(){
int mat[3][3] = {
{ 1, 0, 2},
{ 3, 0, 0},
{ 2, 1, 4}};
cout<<"The matrix is "<display(mat,3,3);
cout<<"Determinant of the matrix is "<return 0;
}
Chiqish
Yuqoridagi kod quyidagi natijani beradi
The matrix is
1 0 2
3 0 0
2 1 4

Determinant of the matrix is 6


XULOSA:
Bu kurs ishimizda martisa determenat larni berilishi va elon qilinishini kurib chiqdik buda qanday elon qilinishi qanday qiymat berganda qanday qiymat qaytarishlri hammasini kurib chiqdik
Avval matritsani va matritsaning o'lchov qiymatini oladigan determinantOfMatrix(int ​​mat[N][N], int o'lchov) funksiyasiga egamiz. Agar matritsa faqat 1 o'lchovli bo'lsa, u [0][0] matritsa qiymatini qaytaradi. Ushbu shart asosiy shart sifatida ham qo'llaniladi, chunki biz har bir rekursiv chaqiruvda o'lchamlarni kamaytirish bilan matritsamizni rekursiv ravishda takrorlaymiz.
C++ da matritsaning aniqlovchisi
Matritsaning determinantini faqat kvadrat matritsa uchun birinchi qator kofaktorini mos keladigan kofaktorning determinantiga ko'paytirish va yakuniy natija olish uchun ularni muqobil belgilar bilan qo'shish orqali hisoblash mumkin.



Download 201,08 Kb.

Do'stlaringiz bilan baham:
1   2   3   4




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish