منتدى طلاب جامعة الحديدة

أخي الزائر إن لم تكن عضواً في المنتدى فنحن ندعوك لكي تنظم إلينا وشكراً تحيات مدير المنتدى طارق البغوي
منتدى طلاب جامعة الحديدة


    الدرس الثاني للماتلاب للرياضيات فقط

    شاطر

    طارق البغوي
    المدير العام للمنتدى
    المدير العام للمنتدى

    ذكر
    عدد الرسائل : 2833
    العمر : 29
    البلد : الجهورية اليمنية
    القسم والمستوى : خريج قسم الرياضيات 2010م
    المزاج : متقلب ( مزاج شاعر )
    أختر علم دولتك :
      :
    السٌّمعَة : 14
    نقاط : 985
    تاريخ التسجيل : 28/09/2007

    بطاقة الشخصية
    تخصصي: رياضيات
    المحافظة: الحديدة

    الدرس الثاني للماتلاب للرياضيات فقط

    مُساهمة من طرف طارق البغوي في السبت فبراير 28, 2009 5:15 am

    السلام عليكم
    هذا الدرس مواصلة للدرس السابق مقدمة عامة حول ال Matlab والهدف منه شرح كيفية تعريف المصفوفات ذات بعد وبعدين و التعامل مع الدوال وما يتعلق بمشاكل الترجمة

    I. تعريف المصفوفات

    المصفوفات ذات بعد واحد

    للحصول على مصفوفة ذات بعد واحد يمكن إستعمال الرمز ":" بالكيفية التالية:
    كود
    >> x = -5:5

    والنتيجة هي مصفوفة ذات بعد واحد تحتوي الأعداد الموجودة بين الحدين اللذان تم تحديدهما ( 5-و 5 في مثالنا هذا ) والفارق بين عددين متواليان هو 1 وهو الفارق التلقائي الذي يحدده البرنامج. أي النتيجة :5-, 4-, 3-,..., 3, 4 , 5
    يمكن تغير الفرق بين الأرقام المتتالية "الخطوة" عبر تحويل الكود السابق بالكود التالي:
    كود
    >> x = -5:.5:5

    النتيجة هنا مماثلة للكود السابق إلا أن الخطوة تساوي نصف وقد أضفت العدد 5. بين الرمزان ":" ولا يوجد فرق بين كتابة 0.5 و 5. حيث أن البرنامج يعتبر تلقائيا الرقم قبل الفاصلة يساوي صفر. إذا النتيجة هي كما يلي:
    إقتباس
    5.0000-, 4.5000-, 4.0000-,... ,0.5000-,... 0,... 4.0000, 4.5000, 5.0000

    ملاحظة: الفاصلة في الأعداد ليست الرمز "," بل الرمز "." أي لكتابة العدد نصف مثلا نكتب 0.5 وليس 0,5. يفهم البرنامج الكتابة الثانية على أنهما رقمان مستقلان.

    يمكن إستعمال كلتا الطريقتين السابقتن لتعريف المصفوفة بالشكل التالي ولكم الإطلاع على النتيجة:
    كود
    x=[1:2:8,1:5]


    يبين المثالان السابقان كيفية تعريف مصفوفتين ذوات بعد واحد, لكن ماذا لو أردنا تعريف واحدة نعرف نحن عناصرها؟ هناك إمكانية تعريفها بالكيفية التالية:
    كود
    >> x = [3,5,8,9,8,9,8,0,0,2]

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

    المصفوفات ذات بعدين

    المصفوفات ذات بعدين مستعملة كثيرا في حل العديد من المعادلات الرياضية و معالجة الصور وغيرها من التطبيقات. أعد العدة اللازمة لذلك ووفر Matlab العديد من الدوال والوضائف التي تيسر ذلك وسأسعى في هذا الجزء من الدرس تبين بعض منها مبتدأ بإبراز كيفية تعريفها/تكوينها.
    تعريف المصفوفة ذات بعدين يعتمد على جملة من القواعد أهمها كتابة الرمز ";" للفصل بين مختلف الأسطر وهذه الأخيرة يجب أن تكون متساوية الطول.في هذا المثال عرفت نفس المصفوفة بطريقتين مختلفين
    كود
    >> A=[1,2,3;4,5,6], A1=[1:3;4:6]

    يوفر Matlab عدة مصفوفات جاهزة مثل eye, magic, pascal, rand, zeros,...
    للتعرف على هاته المصفوفات يكفي تجربة التعليمات التالية:
    كود
    >> eye(4), pascal(4), magic(4), zeros(4), rand(4)

    كما ذكرت سابقا من الممكن تعريف مصفوفة ذات بعد من أخرى ذات بعدين, هذا مثال لأخذ السطر الأول والعمود الأولى من magic(5)
    كود
    M=magic(5), M_First_line=M(1,Smile, M_First_column=M(:,1), M_Element = M(2,2)


    II. التعامل مع الدوال في ال Matlab
    الآن وقد تعودنا التعامل مع شاشة التعليمات سننتقل لإستعمال نافذة أخرى يوفرها البرنامج وهي ال Editorحيث نصبح قادرين على كتابة برنامج متكامل يصل حتى إلى تصميم واجهة رسومية كما هو في باقي لغات البرمجة. لذك سنبدأ بكتابة ما يلي في نافذة التعليمات:
    كود
    >> edit <option>

    هنا "<option>"تعرف إسم الملف الذي نريد فتحه سوى كود سبق كتابته أو كود دالة يوفرها البرنامج. بالنسبة لنا سنترك إسم الملف فارغ لكي يتم إنشاء ملف جديد سنكتب فيه الكود الذي سأدرجه لا حقا. الآن وقد فتحت نافذة كتابة الكود, سنقوم بتسمية دالتنا الأولى Example1 وننسخ فيها الكود التالي:
    كود
    function Example()
    clc
    M=magic(5)
    M_First_line=M(1,Smile
    M_First_column=M(:,1)
    M_Element = M(2,2)


    سبق و تعرفنا على هاته التعليمات لا تزال كلمة function. نلاحظ أن لون هذه الكلمة أزرق أي أنها كلمة محتجزة من قبل البرنامج وتستعمل لتعريف الدوال. الدوال في الMatlab تأخذ مدخلات وترجع مخرجات أيضا, سأفسر ذلك لاحقا.
    الآن و قد عرفنا الدالة وأضفت لها التعليمةclc لتنظيف شاشة التعليمات قبل ترجمة التعليمات الرئيسية, سنقوم بالترجمة. هذه الأخيرة تكون بطرق مختلفة من بينها:


    الصورة رقم1: ترجمة كود Matlab

    في الصورة رقم واحد قمت بإبراز كيفة ترجمة محتويات ال Editor. ويبقى الإختصار F5 الأيسر لذلك. طريقة أخرى في الترجمة تتمثل في كتابة إسم الملف الذي نريد ترجمت تعليماته, ومن الأفضل تسميت الملف بنفس إسم الدالة الرئيسية الموجودة فيه. نفهم من هذا أنه من الممكن كتابة أكثر من دالة في نفس الملف.
    Example.rar ( 623بايت ) عدد مرات التحميل: 103

    في الملف المرفق قمت بكتابة مثال حول مختلف طرق تعريف الدوال في نفس ملفm. و إستدعائها في دالة أخرى.عند الترجمة يتم مراجعة الأخطاء في كافة الدوال لكن يتم تنفيذ تعليمات الدالة الرئيسية فقط إذا لم يتم إستدعاء الدوال الأخرى داخلها, أو واحدة منها وبدورها تستدعي دوال أخرى.
    إثر تسمية الدالة الرئيسية كتبت بعض التعليق. تلك الطريقة في التعليق هي الطريقة المعتمدة في البرنامج لإضافة نصوص المساعدة لمختلف الدوال ولتأكد من ذلك يكفي كتابة التعليمة التالية:
    كود
    >> help Example

    لا يجب أن يكون نص التعليق مفصولا بسطر فارغ لأن في هذا الحال لن يظهر نص التعليق الموجود بعد هذا السطر. إذا أردت ترك سطر فارغ في نص التعليق ينبغي بدأه بالرمز "%".

    عند كتابة أكثر من دالة في نفس الملف يجب تحديد نهاية كل دالة عبر إستعمال الكلمة المفتاحend.

    نلاحظ أني إستعملت التعليمة التالية:
    كود
    sprintf('Example2 inputs are: out1=%d, out2=%d', out1, out2)

    هذه التعليمة تمكن من إرجاع نص في شاشة التعليمات لتتبع سير الكود, هذه الدالة نعرفها في البرمجة باللغة سي في المكتبة stdio.h, هذه المكتبة موجودة في Matlabولا حاجة لإضافتها سوى للبرنامج أو للكود. كما يمكن إستعمال الدالة sscanf لقراءة قيمة ما و fscanf وfprintf للقراءة والكتابة/تحديث في ملفات خارجية.

    عند إكتشاف خطأ ما في نص الكود, يرجع الMatlab تفاصيل حول الخطأ والسطر الموجود فيه. مثال:
    إقتباس
    ??? Undefined command/function 'M5'.

    Error in ==> Example at 11
    M_Element = M5(2,2)



    يمكن الذهاب الى مكان الخطأ لإصلاحه أو النقر على النص المسطر في رسالة الخطأ وسيحملك مباشرة الى السطر الذي يحتوي الخطأ.وبما أننا بصدد الحديث عن أخطاء الترجمة وتتبعها, سنواصل مع ما يعرف ب Debug. هذه الخاصية تمكن من توقيف الترجمة في نقطة معينة من الكود. عند الوصول الى النقطة التي تم تحديدها نشاهد ما تصوره الصورة رقم2 :


    الصورة رقم2: تتبع ترجمة الكود

    السهم الأخضر يبرز عند وصول الترجمة الى النقطة التي تم تحديدها بالدائرة الحمراء, وتتوقف الترجمة وفي الآن ذاته يظهر لنا الحرف اللاتيني "K" في شاشة التعليمات. عندها نستطيع الإطلاع على نتائج الترجمة إلى حد تلك النقطة وما تم خزنه في مجال العمل.


    _________________

    أذا ما ذكرت أسمها بت أغفوا


    أعانقها في هدوء الحياء


    وصمت المحبة


    أرشف من هجرها


    نبع روحي


    لتنبت بين ضفائرها قصة


    تقول ألتقينا ...


    والكن ...


    على نصف حلم بكينا


    فتغتصب الشوق


    مأمون المفلحي
    مستشار إداري
    مستشار إداري

    ذكر
    عدد الرسائل : 2675
    العمر : 29
    البلد : في كل حلم جميل
    القسم والمستوى : برمجة حاسوب
    المزاج : أحب الهــــدووووووووء والصراحة
      :
    السٌّمعَة : 13
    نقاط : 1663
    تاريخ التسجيل : 26/04/2008

    رد: الدرس الثاني للماتلاب للرياضيات فقط

    مُساهمة من طرف مأمون المفلحي في السبت فبراير 28, 2009 9:45 pm

    مشكور اخي العزيز طارق ....
    تسلم ع الموضوع القيم والمفيد جدآ...
    تقبل مروري


    _________________

    الحيـــــــــــــــــــــاة دمعـتان .. دمعــة لقاء ودمعــة وداع .. والأصعب من ذلك دمعة لقاء بعد الفــــــــــــراق...!!!

    طارق البغوي
    المدير العام للمنتدى
    المدير العام للمنتدى

    ذكر
    عدد الرسائل : 2833
    العمر : 29
    البلد : الجهورية اليمنية
    القسم والمستوى : خريج قسم الرياضيات 2010م
    المزاج : متقلب ( مزاج شاعر )
    أختر علم دولتك :
      :
    السٌّمعَة : 14
    نقاط : 985
    تاريخ التسجيل : 28/09/2007

    بطاقة الشخصية
    تخصصي: رياضيات
    المحافظة: الحديدة

    رد: الدرس الثاني للماتلاب للرياضيات فقط

    مُساهمة من طرف طارق البغوي في الثلاثاء مارس 03, 2009 5:52 am

    مشكور على المرور الطيب اخ مامون


    _________________

    أذا ما ذكرت أسمها بت أغفوا


    أعانقها في هدوء الحياء


    وصمت المحبة


    أرشف من هجرها


    نبع روحي


    لتنبت بين ضفائرها قصة


    تقول ألتقينا ...


    والكن ...


    على نصف حلم بكينا


    فتغتصب الشوق


    عبد الواسع عمر الرمانه
    طالب لا يضاها
    طالب لا يضاها

    ذكر
    عدد الرسائل : 1299
    العمر : 30
    البلد : اليمن
    القسم والمستوى : أستاد حاسوب
    المزاج : عسل+سكرزياده
      :
    السٌّمعَة : 5
    نقاط : 430
    تاريخ التسجيل : 14/10/2007

    بطاقة الشخصية
    تخصصي: حاسوب
    المحافظة: الحديدة

    رد: الدرس الثاني للماتلاب للرياضيات فقط

    مُساهمة من طرف عبد الواسع عمر الرمانه في الأربعاء مارس 25, 2009 8:29 am


    وردة الخريف
    نائب المدير
    نائب المدير

    انثى
    عدد الرسائل : 1374
    العمر : 29
    البلد : اليمن
    القسم والمستوى : معلم حاسوب
    المزاج : ممتاز
    العضوية : 75
      :
    السٌّمعَة : 9
    نقاط : 586
    تاريخ التسجيل : 21/01/2008

    بطاقة الشخصية
    تخصصي: حاسوب
    المحافظة: الحديدة

    رد: الدرس الثاني للماتلاب للرياضيات فقط

    مُساهمة من طرف وردة الخريف في الأربعاء مارس 25, 2009 8:37 am

    شكراً لك على هذا الموضوع أخ طارق

    بس ليش للرياضيات فقط ؟
    هههههههه


    _________________
    نعيب زماننا والعيب فينا ... وما لـزماننا عيب سوانــا
    ونهجو ذا الزمان بغير ذنب ... ولو نطق الزمان لنا هجانا

    طارق البغوي
    المدير العام للمنتدى
    المدير العام للمنتدى

    ذكر
    عدد الرسائل : 2833
    العمر : 29
    البلد : الجهورية اليمنية
    القسم والمستوى : خريج قسم الرياضيات 2010م
    المزاج : متقلب ( مزاج شاعر )
    أختر علم دولتك :
      :
    السٌّمعَة : 14
    نقاط : 985
    تاريخ التسجيل : 28/09/2007

    بطاقة الشخصية
    تخصصي: رياضيات
    المحافظة: الحديدة

    رد: الدرس الثاني للماتلاب للرياضيات فقط

    مُساهمة من طرف طارق البغوي في الخميس مارس 26, 2009 5:57 am

    ههههههههههههههههه
    أحب العنصرية لمادة الرياضيات ليش من الله


    اقصد لانها في قسم الرياضيات أحب أضيف بعض الاثارات على العنوان


    _________________

    أذا ما ذكرت أسمها بت أغفوا


    أعانقها في هدوء الحياء


    وصمت المحبة


    أرشف من هجرها


    نبع روحي


    لتنبت بين ضفائرها قصة


    تقول ألتقينا ...


    والكن ...


    على نصف حلم بكينا


    فتغتصب الشوق


    مجـ(الـقـلـب)ـروح
    طالب لا يضاها
    طالب لا يضاها

    ذكر
    عدد الرسائل : 1192
    العمر : 28
    البلد : عالم جروحي
    القسم والمستوى : أول جرح
    المزاج : هدوووء شقاوة &lt; ^-^
    أختر علم دولتك :
      :
    السٌّمعَة : 0
    نقاط : 1273
    تاريخ التسجيل : 11/01/2010

    بطاقة الشخصية
    تخصصي: حاسوب
    المحافظة: الحديدة

    رد: الدرس الثاني للماتلاب للرياضيات فقط

    مُساهمة من طرف مجـ(الـقـلـب)ـروح في السبت أبريل 03, 2010 1:37 am

    مديرنا .. العزيز ..
    انت متحيز للرياضيات

    وهالتحيز هو مايجعلك مبدع ومتميـز .. في هذا القسـم ..
    ههههههههههههههه ..
    الصراحة هذا مو مواصلة للدرس السابق
    هذي مواصلة للابداع والتميز السابق
    تقبل مروري يافديتك

      الوقت/التاريخ الآن هو السبت ديسمبر 10, 2016 7:26 am