كيفية إنشاء مصفوفة الهوية في لغة 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