الدوال والعمليات الرياضية الخاصة بالمتجهات والمصفوفات في برنامج MATLAB


#1

الدوال والعمليات الرياضية الخاصة بالمتجهات والمصفوفات

ملحوظة : جميع الدوال والعمليات التالية التي سأقوم بتناولها يمكننا تطبيقها علي المتجهات بنوعيها (صفية و عمودية) كما يمكننا تطبيقها علي المصفوفات علي حد سواء فكما ذكرنا فيما قبل أن المتجهات تمثل مصفوفات احادية وبالتالي فهي تعتبر حالة خاصة من المصفوفات لذا فالمصفوفات والمتجهات لا يختلفان في التعامل معهما من حيث الدوال والعمليات الحسابية التي نقوم بإجراءها عليهما .

إيجاد طول المتجه : Vector Length

تستخدم الدالة length(Vector_Name) في إيجاد عدد عناصر المتجه (الصفي أو العمودي ) وتستخدم علي الصورة التالية :

N=length (A)

حيث أن :
A : يمثل المتجه الصفي / العمودي المراد إيجاد عدد عناصره ثم تخزينها في المتغير N .

>> % Defining A as a Row Vector
>> A=[1,2,3,4,5] ;
>> % Length of a row vector
>> N=length(A)
N =
        5

كما يمكننا تطبيق نفس العملية السابقة علي متجه عمودي Column Vector كما يلي :

% Defining B as a Column Vector
>> B=[1;2;3;4;5] ;
>> % Length of a column vector
>> M=length (B)
M =
        5

إيجاد حجم المتجه / المصفوفة Vector/Matrix Size

تستخدم الدالة size لإيجاد أبعاد المتجه / المصفوفة ( أي عدد الصفوف والأعمدة ) وتختلف عن الدالة length في أن الدالة length تقوم بإيجاد البعد الأكبر للمتجه / المصفوفة , أي أنها تعيد عدد الصفوف أو عدد الأعمدة ( أيها أكبر ) وتستخدم الدالة size علي الصورة التالي :

[R    C] =size(A)
R=size (A, 1)
C=size (A,2)

حيث أن :
A : يمثل المتجه الصفي / العمودي أو المصفوفة المراد إيجاد عدد عناصره ثم تخزينها في المتغير N .

>> % Defining A as a Row Vector
>> A=[1,2,3,4,5] ;
>> %Length of a row vector
>> N=length (A)
N =
        5

كما يمكننا تطبيق نفس العملية السابقة علي متجه عمودي Column Vector كما يلي :

% Defining  B as a column Vector
>> B=[1;2;3;4;5] ;
>> % Length of a column vector
>> M=length (B)
M =
        5

إيجاد حجم المتجه / المصفوفة Vector / Matrix Size

تستخدم الدالة Size لإيجاد أبعاد المتجه / المصفوفة (أي عدد الصفوف والأعمدة ) وتختلف عن الدالة length تقوم بإيجاد البعد الأكبر للمتجه / المصفوفة أي أنها تعيد عدد الصفوف أو عدد الأعمدة (أيهما أكبر ) وتستخدم الدالة size علي الصورة التالية :

[R    C] =size (A)
R=size (A,1)
C=size (A,2)

حيث أن :
A : يمثل المتجه الصفي / العمودي أو المصفوفة المراد إيجاد عدد صفوفها وأعمدتها .
R : تمثل عدد صفوف المصفوفة A .
C : تمثل عدد أعمدة المصفوفة A .
ولمزيد من الأيضاح لأوجه الإختلاف بين الثلاث صور السابقة لاستخدام الدالة size(A) تابع المثال التالي :

  • قم بتعريف المصفوفة A الغير منتظمة ( أي أن عدد صفوفها لا يساوي عدد أعمدتها ) كما يلي :

    % Defining non Square Matrix A
    A=[1 2 3; 4 5 6]
    A =
    1 2 3
    4 5 6
    قم بتحري الأمر C] = size(A) [R ليقوم البرنامج بإرجاع عدد صفوف المصفوفة A في المتغير R وعدد أعمدة المصفوفة A في المتغير C كما يلي :

    % Getting dimensions of [A] individually
    [R C] =size (A)
    R =
    2
    C =
    3

  • وإذا أردت معرفة عدد صفوف المصفوفة A فقط فقم بتحرير الأمر R =size(A,1) ليقوم البرنامج بإرجاع عدد صفوف المصفوفة A في المتغير R كما يلي :

    R=size (A, 1)
    R=size (A, 1)
    R =
    2

  • وإذا أردت معرفة عدد أعمدة المصفوفة A فقط فقم بتحرير الأمر C = size(A,2) ليقوم البرنامج بإرجاع عدد أعمدة المصفوفة A في المتغير C كما يلي

    % Getting no. of columns of [A]
    C=size (A,2)
    C =
    3
    .

إيجاد جمع قيم عناصر المتجه/المصفوفة : Sum of Vector/Matrix elements

تستخدم الدالة sum(A) في جمع قيم عناصر المتجه A وفي حالة أن A يمثل مصفوفة فيتم جمع عناصر كل عمود من أعمدة هذه المصفوفة كل علي حدة بحيث يكون ناتج هذه الدالة متجه صفي يمكننا إيجاد مجموع عناصره بإستخدام نفس الدالة لينتج حاصل جمع جميع عناصر المصفوفة كما سنوضح في المثال التالي :
ويأخذ هذا الأمر إحدي الصورتين التاليتين في كتابته :

sum (A)
sum (A, 1)

كما يمكننا جمع عناصر كل صف من صفوف المصفوفة كل علي حدة بحيث يكون ناتج هذه الدالة متجه عمودي يمكننا إيجاد مجموع عناصره بإستخدام نفس الدالة لينتج حاصل جمع جميع عناص المصفوفة كما هو ويأخذ هذا الأمر الصورة التالية في كتابته :

sum (A,2)

هذا ويمكننا تعميم الصورتين السابقتين في الصورة التالية :

sum (A, DIM)

حيث أن :
DIM : تأخذ القيمتين التاليتين :
1- لإيجاد حاصل جمع عناصر أعمدة المصفوفة A وهو الوضع الإفتراضي .
2- ولإيجاد حاصل جمع عناصر صفوف المصفوفة A .
ولمزيد من الأيضاح لأوجه الإختلاف بين الثلاث صور السابقة لاستخدام الدالة sum تابع المثال التالي :

  • قم بتعريف المصفوفة A الغير منتظمة (أي أن عدد صفوفها لا يساوي عدد أعمدتها) كما يلي :

    % Defining non Square Matrix A
    A=[1 2 3 4;4 5 6 7;7 8 9 10]
    A =
    1 2 3 4
    4 5 6 7
    7 8 9 10

  • قم بتحرير الأمر

      S1 = sum(A) 
    

ليقوم البرنامج بإيجاد حاصل جمع قيم عناصر أعمدة المصفوفة A كل علي حدة ويقوم بتخزينها في المتجه الصفي S1 كما يلي :

>> % Getting Sum of columns elements of Matrix [A]
>> S1=sum(A)
S1 =
        12    15    18    21
  • قم بتحرير الأمر

    S2=sum(A,2)
    ليقوم البرنامج بإيجاد حاصل جمع قيم عناصر صفوف المصفوفة A ويقوم بتخزينها في المتجه العمودي S2 كما يلي :

    % Getting sum of rows elements of Matrix [A]
    S2=sum(A,2)
    S2 =
    10
    22
    34

  • ولإيجاد حاصل جمع جميع عناصر المصفوفة A فقم بتحرير الأمر

    S = sum(sum(A))
    كما يلي :

    % Getting Sum of elements of Matrix (A)
    S=sum (sum (A))
    S =
    66
    وأيضا يمكننا إيجاد حاصل جمع جميع عناصر المصفوفة A بتحرير الأمر التالي :

    S=sum (A(:))
    S =
    45


دورة متكاملة لتعلم أساسيات برنامج الماتلاب من البداية