انت هنا الان : شبكة جامعة بابل > موقع الكلية > نظام التعليم الالكتروني > مشاهدة المحاضرة

البرامج الفرعية

الكلية كلية العلوم للبنات     القسم قسم الحاسبات     المرحلة 4
أستاذ المادة نور كاظم ايوب مهدي المهدي       14/11/2015 12:34:12
مدخل الى البرمجة بلغة ماتلاب الدرس الرابع : البرامج الفرعية في ماتلاب
1
1 بناء دالة -3
تستخدم الصيغة العامة الاتية في بناء برنامج فرعي في
لغة الماتلاب :
function [var1,var2,…,varn]= اسم الدالة (i1,i2,…,in)

statements

حيث:
تمثل معاملات الأخراج. var1,var2,…,varn
معاملات الأدخال . i1,i2,…,in
ان ابسط طريقة لأستدعاء الدالة المبنية يتم حسب
الصيغة العامة
[var1,var2,…,varn]= اسم الدالة (i1,i2,…,in)
تعطى قيم لكي تستخدمها i1 ,i2,…,in عند الأستدعاء ف?نّ
ف?نّها var1,var2,…,varn الدالة لتوليد المخرجات،ام ا
تكتب بشكل متغيرات.
2 احذر عند التعامل مع دوال ماتلاب!! -3
عند كتابة دالة يجب التقي د بالقواعد الآتية :
برنامج عادي ). )script /M-File 1-الدالة تكتب في
في ?ايتها. end 2-لايمكن ان تتضمن الدالة عبارة
مدخل الى البرمجة بلغة ماتلاب الدرس الرابع : البرامج الفرعية في ماتلاب
2
3-اذا كانت الدالة تستدعي دوالا اخرى ف?نّ تلك
الدوال (المستدعاة) تبنى بعد الدالة المستدعية.
و التي تقطع return 4-يمكن الدالة ان تتضمن عبارة
command التنفيذ و تعيد السيطرة الى شاشة
(عادةً تستخدم فقط في الدالة الرئيسية ).
5-يجب ان يخزن البرنامج بأسم اول دالة تظهر
فيه.عند الخزن نلاحظ انّ ماتلاب يختار (اسم الدالة
كأسم تلقائي للبرنامج. (m.
6-اذا كان هناك معامل اخراج واحد لاداعي لوضعه
بين القوسين [].
برنامج 1.3 : برنامج تعليمي
يحوي على الإجراءات الآتية :-
يحوي على x التي تقوم بقراءة متجه reading 1- الدالة
من الأعداد. n
التي تقوم ب?يجاد مجموع الأعداد الفردية في fun 2- الدالة
.x المتجه
الشكل التالي يوض ح البرنامج مع تنفيذه:-
مدخل الى البرمجة بلغة ماتلاب الدرس الرابع : البرامج الفرعية في ماتلاب
3
يتم من خلالها main في البداية تم كَّتابة دالة رئيسية
. fun و reading استدعاء الدالتين
وتقرأ قيم n تقوم بقراءة عدد الأعداد reading الدالة
تستفيد من المتغيرات التي fun اما الدالة x المصفوفة
بأستعمالها كمعاملات (x,n) reading استحصلتها الدالة
لأختبار العدد فأذا كان mod ادخال،الدالة تستخدم
الذي k ناتج الأختبار واحد فهو فردي و يضاف الى ا? مع
تم تصفيره في بداية الدالة ليأخذ قيم صحيحة في كل
تنفيذ.
تمرين:- هل تستطيع حل البرنامج السابق بأستخدام دالتين
فقط ؟
تمرين:- قم بحل البرنامج السابق بدون استخدام دالة
؟mod
مدخل الى البرمجة بلغة ماتلاب الدرس الرابع : البرامج الفرعية في ماتلاب
4
برنامج 2.3 دمج متجهين
البرنامج يقوم بقراءة متجهين متساويين في الحجم ثمَّ ينفذ
واحد من الإجراءات الآتية فقط في كل مرة ينفذ فيها
البرنامج ( حسب رغبة المستخدم )،الإجراءات هي :
.c يقوم بدمج المتجهين لانتاج المتجه : con -1
التي حجمها مساوي d يقوم بانتاج المتجه : uni -2
لحجم المتجهين بحيث أ?ن :
d = [ a1 b2 a3 b4 ….]
هي الدالة الرئيسية في البرنامج وفيها begin الدالة
من القيم لكل n يتم قراءة عدد القيم في المتجهين وهو
متجه ( لأنَّ الحجم متساوي ) ، تعريف وتصفير المتجهات ،
و سؤال المستخدم عن الأجراء b وa قراءة قيم المتجهين
con الذي يرغب بأستخدامه وبالتأكيد استدعاء الدالتين
التي تمنحنا حق تنفيذ switch وذلك بأستخدام uni و
choice اجراء واحد بالأعتماد على اختيار المستخدم
عن c كمعاملات ادخال و تنتج b و a تأخذ con الدالة
طريق دمج المتجهين بصيغة مختصرة كالآتي :
c = [a b]
متجه عناصره جاءت من عناصر c انَّ هذه العبارة تعني ان
.b متبوعة بعناصر a
بشرط :ا?ن الموقع الفردي فيها يأخذ d تكو ن uni الدالة
ام ا الموقع الزوجي a قيمته من الموقع المناظر له في
.b يأخذ قيمته من الموقع الناظر له في
الشكل الآتي يوض ح البرنامج
مدخل الى البرمجة بلغة ماتلاب الدرس الرابع : البرامج الفرعية في ماتلاب
5
تنفيذ البرنامج
.( con يختار ) choice= أ- في حالة ادخال المستخدم 1
.( uni يختار ) choice= ب -في حالة ادخال المستخدم 2
و لنفس بيانات المتجهين.
مدخل الى البرمجة بلغة ماتلاب الدرس الرابع : البرامج الفرعية في ماتلاب
6
بأستخدام دوارات con تمرين:- هل تستطيع حل دالة
؟ for
؟mod بدون استخدام دالة uni تمرين:- قم بحل دالة
3.3 دوال مكتبية مفيدة
الجدول الاتي يوضح مجموعة من الدوال المكتبية المفيدة :
الدالة الوظيفة مثال
char(ASCII)
تحويل رقم يمثّل
الى ASCII شفرة
الرمز المقابل
لتلك الشفرة
char(65)
ans= A
Double(X)
تعيد شفرة الاسكي
x للرمز
fix(x)
تعيد الجزء
الصحيح(ما قبل
الفارزة) اذا
عدد عشري x كان
fix(3.5)
ans=3
مدخل الى البرمجة بلغة ماتلاب الدرس الرابع : البرامج الفرعية في ماتلاب
7
round (x)
الى x تقر ب العدد
اقرب عدد صحيح
round(3,5)
ans = 4
Rand/randint
تقوم : Rand
بتوليد عدد عشري
بين الصفر و
الواحد.
تولد :Randint
رقم ثنائي
عشوائي (اما 0
( او 1
اذا اضيف معامل
ادخال واحد فان
هذه الدوال تكون
مصفوفة مربعة من
الارقام
العشوائية، اما
اذا اضيف معاملان
لها فان هذه
الدوال تولد
مصفوفة ابعادها
مطابقة لابعاد
المعاملات المدخلة.
rand*(maxmin)+
min
تول د عدد عشري
عشوائي ضمن
[min الفترة
و لتوليد max]
عدد صحيح توضع
هذه الصيغة
كمعامل للدالة
round
rand*(9-2)+2
ans= 8.6509
مدخل الى البرمجة بلغة ماتلاب الدرس الرابع : البرامج الفرعية في ماتلاب
8
eye(m,n)
تول د مصفوفة
صف ا m وحدة تحوي
عمودا n و
eye(3,3)
Length(x)
تعيد عدد
العناصر في المتجه
x
[r,c]=size(x)
تعيد ابعاد
حيث x المصفوفة
يخزن عدد الصفوف
و يخزن r في المتغير
عدد الاعمدة في
c المتغير
برنامج 3.3 ازالة التكرار
بصورة عشوائية حيث تتراوح قيم a دالة تقوم تولد متجه
الذي يحوي b هذا المتجه بين ( 0) الى ( 9) وتنشأ المتجه
بدون تكرار. a عناصر
بمعنى لو ادخل المستخدم متجه مكون من 7 عناصر:
A= [9 6 0 8 8 6 7]
الذي يحوي b فان المتجه فان الدالة ستعييد المتجه
العناصر بدون تكرار وهو ما يتضح من الشكل الاتي :
مدخل الى البرمجة بلغة ماتلاب الدرس الرابع : البرامج الفرعية في ماتلاب
9
الشكل الاتي يوضح البرنامج :

المادة المعروضة اعلاه هي مدخل الى المحاضرة المرفوعة بواسطة استاذ(ة) المادة . وقد تبدو لك غير متكاملة . حيث يضع استاذ المادة في بعض الاحيان فقط الجزء الاول من المحاضرة من اجل الاطلاع على ما ستقوم بتحميله لاحقا . في نظام التعليم الالكتروني نوفر هذه الخدمة لكي نبقيك على اطلاع حول محتوى الملف الذي ستقوم بتحميله .