كيفية إنشاء مصفوفة الهوية في لغة r (مع أمثلة)


في الجبر الخطي، مصفوفة الهوية هي مصفوفة مربعة بها أرقام على القطر الرئيسي وأصفار في كل مكان آخر.

يمكنك إنشاء مصفوفة الهوية في R باستخدام إحدى الطرق الثلاث:

 #create identity matrix using diag()
diag(5)

#create identity matrix using diag() with explicit nrow argument
diag(nrow= 5 )

#create identity matrix by creating matrix of zeros, then filling diagonal with ones
mat <- matrix(0, 5, 5)
diag(mat) <- 1

كل من هذه الطرق تؤدي إلى نفس النتيجة.

توضح الأمثلة التالية كيفية استخدام كل من هذه الطرق عمليًا.

المثال 1: إنشاء مصفوفة هوية باستخدام diag()

يوضح التعليمة البرمجية التالية كيفية استخدام الدالة diag() لإنشاء مصفوفة هوية مكونة من 5 صفوف و5 أعمدة:

 #create 5x5 identity matrix
ident <- diag(5)

#view matrix
identity

     [,1] [,2] [,3] [,4] [,5]
[1,] 1 0 0 0 0
[2,] 0 1 0 0 0
[3,] 0 0 1 0 0
[4,] 0 0 0 1 0
[5,] 0 0 0 0 1

والنتيجة هي مصفوفة مربعة مقاس 5×5 بها أرقام على القطر الرئيسي وأصفار في كل مكان آخر.

المثال 2: إنشاء مصفوفة هوية باستخدام diag(nrow)

يوضح التعليمة البرمجية التالية كيفية استخدام الدالة diag(nrow) لإنشاء مصفوفة هوية 5×5:

 #create 5x5 identity matrix
ident <- diag(nrow= 5 )

#view matrix
identity

     [,1] [,2] [,3] [,4] [,5]
[1,] 1 0 0 0 0
[2,] 0 1 0 0 0
[3,] 0 0 1 0 0
[4,] 0 0 0 1 0
[5,] 0 0 0 0 1

مثال 3: إنشاء مصفوفة هوية في خطوتين

يوضح الكود التالي كيفية إنشاء مصفوفة هوية 5 × 5 عن طريق إنشاء مصفوفة 5 × 5 أولاً بجميع الأصفار ثم تحويل القيم القطرية البادئة إلى وحدات:

 #create 5x5 matrix with zeros in all positions
ident <- matrix(0, 5, 5)

#make diagonal values 1
diag(ident) <- 1

#view matrix
identity

     [,1] [,2] [,3] [,4] [,5]
[1,] 1 0 0 0 0
[2,] 0 1 0 0 0
[3,] 0 0 1 0 0
[4,] 0 0 0 1 0
[5,] 0 0 0 0 1

لاحظ أن كل طريقة من الطرق الثلاث تنتج نفس مصفوفة الهوية تمامًا.

مصادر إضافية

توفر المقالات التالية مقدمات مفيدة لمصفوفة الهوية:

أكاديمية خان: مقدمة لمصفوفة الهوية
ويكيبيديا: شرح كامل لمصفوفة الهوية

تشرح المقالات التالية كيفية تنفيذ عمليات المصفوفة الشائعة الأخرى في R:

كيفية إجراء ضرب المصفوفات في R
كيفية إجراء الضرب بالعناصر في R
كيفية رسم صفوف المصفوفة في R

Add a Comment

ایمئیل یایینلانمایاجاق ایسته‎نیله‎ن بوشلوقلار خاللانمیشدیر *