سؤال

bird_heaven

عضو جديد
إنضم
28 مايو 2009
المشاركات
5
مجموع الإعجابات
0
النقاط
0
السلام عليكم

انا عندى سؤال فى الماتلاب ويارب حد يرد عليا بسرعه
لانى عليا امتحان الاسبوع ده

السؤال:
انا عوزه اعمل generate ل square matrix
بحيث يكون diagonal بأصفار
ومن فوق -1
ومن تحت 1
بس ده لازم يكون باستخدام m.file
وuser هو الى يدخل size
ويتعمله check داخل m.file
 

مواضيع مماثلة

bird_heaven

عضو جديد
إنضم
28 مايو 2009
المشاركات
5
مجموع الإعجابات
0
النقاط
0
يا جماعه هو السؤال سهل لدرجة انوا محدش عاوز يرد
ولا ايه الحكايه
بليز انا عوزه اى حد يرد عليا
 

ahmedmecha

عضو جديد
إنضم
20 أكتوبر 2006
المشاركات
365
مجموع الإعجابات
9
النقاط
0

الكود أدناه هو الـ function المطلوبه

كود:
[COLOR=Blue]function[/COLOR] A = Mx(n)

[COLOR=SeaGreen]% Mx: generates matrix with zero
% elements on the diagonal, 1 on the 
% upper triangle, and -1 on the lower.
% n: dimension of the desired matrix
[/COLOR] 
A = zeros(n);
[COLOR=Blue]for[/COLOR] i = 1 : n
    [COLOR=Blue]for[/COLOR] j = 1 : n
        [COLOR=Blue]if[/COLOR] j>i
            A(i,j) = -1;
        [COLOR=Blue]elseif [/COLOR]i>j
            A(i,j) = 1;
        [COLOR=Blue]else[/COLOR]
            A(i,j) = 0;
       [COLOR=Blue] end[/COLOR]
    [COLOR=Blue]end[/COLOR]
[COLOR=Blue]end[/COLOR]

[COLOR=SeaGreen]% Check the generated matrix if it is correct or not
% an easy way to do it is: since the matrix is skew
% symmetric one, all it's eigen values should be +ve[/COLOR]

EigVal = eig(A)
[COLOR=Blue]for[/COLOR] i = 1 : length(EigVal)
    [COLOR=Blue]if [/COLOR]real(EigVal(i)) < 0
        disp([COLOR=DarkOrchid]'Error in the generated matrix'[/COLOR])
        disp([COLOR=DarkOrchid]'-----------------------------'[/COLOR])
[COLOR=Blue]end[/COLOR]
 

bird_heaven

عضو جديد
إنضم
28 مايو 2009
المشاركات
5
مجموع الإعجابات
0
النقاط
0
حضرتك عملت run للبرنامج؟
انا لما جيت انفذه ظهرلى خطا
وجزاك الله كل خير

 

ahmedmecha

عضو جديد
إنضم
20 أكتوبر 2006
المشاركات
365
مجموع الإعجابات
9
النقاط
0
هذه فقط الـ function .... أنسخي الكود في m-file وأحفظيه بنفس الاسم يعني Mx وبعدها أستدعي الدالة من الواجهه الرئيسيه Command Window ... أكتبي مثلا Mx(3) % to generate 3x3 matrix
حيث ان رقم 3 يقابل n في الدالة .. ويمكنك أن تختاري أي رقم.
 
التعديل الأخير:

bird_heaven

عضو جديد
إنضم
28 مايو 2009
المشاركات
5
مجموع الإعجابات
0
النقاط
0
انا عملت كل الى حضرتك قولت عليه
وبيظهرلى خطأ

جزاك الله كل خير
وشكرا على مجهودك
 

ahmedmecha

عضو جديد
إنضم
20 أكتوبر 2006
المشاركات
365
مجموع الإعجابات
9
النقاط
0
:81:

أفتحي الضغط عن الملف المرفق وأحفظيه في ملف الـ directory للماتلاب بعدها من واجهة الـ command window أكتبي فقط التالي
Mx(3) % ... to call the function

غيري الرقم 3 حسب أبعاد المصفوفة المطلوبـــــــــــــــــــــه


 

المرفقات

  • Mx.rar
    399 بايت · المشاهدات: 3

RDI

عضو جديد
إنضم
27 فبراير 2009
المشاركات
1
مجموع الإعجابات
0
النقاط
0
ضع الملفات داخل مجلد C:\Program Files\MATLAB71\work للماتلاب
 

bird_heaven

عضو جديد
إنضم
28 مايو 2009
المشاركات
5
مجموع الإعجابات
0
النقاط
0
انا كتير بتشكركم على مجهودكم
بس للاسف انا امتحنت الماده
وكمان السؤال كان موجود بالامتحان
والحمد لله

وجزاكم الله كل خير
 
أعلى