इस लेख में, हम समझेंगे कि दिए गए मैट्रिक्स का ट्रेस और नॉर्म कैसे ढूंढा जाता है। मैट्रिक्स का नॉर्म मैट्रिक्स के सभी एलिमेंट्स के वर्गों के योग का वर्गमूल होता है। मैट्रिक्स का ट्रेस प्रिंसिपल डायगोनल (ऊपरी बाएं से निचले दाएं) में मौजूद सभी एलिमेंट्स का योग होता है।
उदाहरण
मान लीजिए हमारा इनपुट है:
The matrix is defined as: 2 3 4 5 2 3 4 6 9
वांछित आउटपुट होगा:
Trace value: 13.0 Normal value: 14.142135623730951
एल्गोरिदम
चरण 1 - शुरू करें चरण 2 - एक इंटीजर मैट्रिक्स घोषित करें: input_matrix चरण 3 - मान परिभाषित करें चरण 4 - ट्रेस वैल्यू की गणना करने के लिए, दो फॉर-लूप्स का उपयोग करके मैट्रिक्स के प्रत्येक एलिमेंट पर पुनरावृति करें, विकर्ण एलिमेंट्स को जोड़ें और मान स्टोर करें चरण 5 - नॉर्म वैल्यू की गणना करने के लिए, दो फॉर-लूप्स का उपयोग करके मैट्रिक्स के प्रत्येक एलिमेंट पर पुनरावृति करें, प्रत्येक एलिमेंट के वर्ग का योग निकालें, फिर मान का वर्गमूल निकालें और स्टोर करें चरण 6 - परिणाम प्रदर्शित करें चरण 7 - रुकें
उदाहरण 1: मेन फंक्शन में सभी ऑपरेशन
यहां, हम सभी ऑपरेशन्स को 'main' फंक्शन के अंतर्गत बांधते हैं।
public class NormalAndTrace {
public static void main(String args[]) {
int[][] input_matrix = {
{2, 3, 4},
{5, 2, 3},
{4, 6, 9}
};
int i, j, matrix_size = 3;
double trace = 0, square = 0, normal = 0;
System.out.println("मैट्रिक्स परिभाषित है: ");
for(i = 0; i < matrix_size; i++) {
for(j = 0; j < matrix_size; j++)
System.out.print(input_matrix[i][j] + " ");
System.out.println(" ");
}
System.out.println("\nमैट्रिक्स का ट्रेस वैल्यू है: ");
for(i = 0; i < matrix_size; i++) {
for(j = 0; j < matrix_size; j++) {
if(i == j) {
trace = trace + (input_matrix[i][j]);
}
}
}
System.out.println(trace);
System.out.println("\nमैट्रिक्स का नॉर्म वैल्यू है: ");
for(i = 0; i < matrix_size; i++) {
for(j = 0; j < matrix_size; j++) {
square = square + (input_matrix[i][j])*(input_matrix[i][j]);
}
}
normal = Math.sqrt(square);
System.out.println(normal);
}
}
आउटपुट
मैट्रिक्स परिभाषित है: 2 3 4 5 2 3 4 6 9 मैट्रिक्स का ट्रेस वैल्यू है: 13.0 मैट्रिक्स का नॉर्म वैल्यू है: 14.142135623730951
उदाहरण 2: ऑब्जेक्ट-ओरिएंटेड दृष्टिकोण
यहां, हम ऑपरेशन्स को फंक्शन्स में एनकैप्सुलेट करते हैं जो ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग को दर्शाता है।
public class NormalAndTrace {
static int matrix_size = 3;
static void normal_trace(int input_matrix[][]){
int i, j;
double trace = 0, square = 0, normal = 0;
System.out.println("\nमैट्रिक्स का ट्रेस वैल्यू है: ");
for(i = 0; i < matrix_size; i++) {
for(j = 0; j < matrix_size; j++) {
if(i == j) {
trace = trace + (input_matrix[i][j]);
}
}
}
System.out.println(trace);
System.out.println("\nमैट्रिक्स का नॉर्म वैल्यू है: ");
for(i = 0; i < matrix_size; i++) {
for(j = 0; j < matrix_size; j++) {
square = square + (input_matrix[i][j])*(input_matrix[i][j]);
}
}
normal = Math.sqrt(square);
System.out.println(normal);
}
public static void main(String args[]) {
int i, j;
int[][] input_matrix = { {2, 3, 4},
{5, 2, 3},
{4, 6, 9}
};
System.out.println("मैट्रिक्स परिभाषित है: ");
for(i = 0; i < matrix_size; i++) {
for(j = 0; j < matrix_size; j++)
System.out.print(input_matrix[i][j] + " ");
System.out.println(" ");
}
normal_trace(input_matrix);
}
}
आउटपुट
मैट्रिक्स परिभाषित है: 2 3 4 5 2 3 4 6 9 मैट्रिक्स का ट्रेस वैल्यू है: 13.0 मैट्रिक्स का नॉर्म वैल्यू है: 14.142135623730951