تم افتتاح مركز رفع الملفات للأعضاء من جديد ..  و نعتذر عن عدم إمكانية دمج المركز السابق مع المركز الحالي لرفع الملفات ........ ( إدارة الملتقى )

العودة   ملتقى المهندسين العرب > الملتقى الهندسي > هندسة الميكاترونكس > برنامج الـ Matlab
التسجيل التعليمـــات قائمة الأعضاء التقويم مركز رفع الملفات اجعل كافة الأقسام مقروءة
للتأكد من صحة الحديث قبل نشره اضغط هنا  -   مشاكل التسجيل و تفعيل العضوية اضغط هنا
موضوع مغلق
 
LinkBack أدوات الموضوع التقييم: تقييم الموضوع: 4 تصويتات, المعدل 5.00.
  #46 (permalink)  
قديم 16-08-2006, 02:09 AM
مــشــرف قـسم مـيكاترونكس
 
تاريخ التسجيل: Oct 2005
المشاركات: 1,837
معدل تقييم المستوى: 0
م.أحمد عفيفي سلامة يستحق التميز
Post إستبدال عنصر

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

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

وإذا أردنا إستبدال عدة عناصر, يمكن ذلك بعمل مثال بسيط, لنقل أننا نريد أن نستبدل الصف الأول والثاني والعمودين من الأول إلى الثالث بقيمة صفر

__________________
  #47 (permalink)  
قديم 16-08-2006, 02:51 AM
مــشــرف قـسم مـيكاترونكس
 
تاريخ التسجيل: Oct 2005
المشاركات: 1,837
معدل تقييم المستوى: 0
م.أحمد عفيفي سلامة يستحق التميز
Post حذف أكثر من عنصر

حذف أكثر من عنصر
لايقوم الماتلاب بعملية حذف لعنصر واحد فقط في مصفوفة, حيث أنه من غير المعقول حذف عنصر من داخل المصفوفة, وبقية الصف والعمود بهم قيم, ولكن إذا أردت أن تقوم بحذف صف كامل أو عمود كامل فيمكن ذلك بعمل التالي
نقوم أولاً بعمل مصفوفة للعمل عليها
[LINE]hr[/LINE]

[LINE]hr[/LINE]
لنقل اننا نريد حذف الصف الثالث كله
[LINE]hr[/LINE]

[LINE]hr[/LINE]
ولحذف العمود الرابع كله, قم بعمل التالي
[LINE]hr[/LINE]

[LINE]hr[/LINE]
__________________
  #48 (permalink)  
قديم 16-08-2006, 01:36 PM
مــشــرف قـسم مـيكاترونكس
 
تاريخ التسجيل: Oct 2005
المشاركات: 1,837
معدل تقييم المستوى: 0
م.أحمد عفيفي سلامة يستحق التميز
Post نداء عنصر

نداء عنصر
عملية نداء عنصر من أكثر العمليات هامة جداً داخل الماتلاب, أي أنه نود الحصول على عنصر وحيد من المصفوفة, وذلك بذكر رقم الصف ورقم العمود الذي به هذا العنصر, ولتوضيح هذا الأمر, نقوم بعمل مثال بسيط, معتمدين على نفس المصفوفة التي تم ذكرها في المثال السابق
[LINE]hr[/LINE]

[LINE]hr[/LINE]
لنقل اننا نريد العنصر في الصف الأول والعمود الثالث
[LINE]hr[/LINE]

[LINE]hr[/LINE]
ولنداء أكثر من عنصر, نقوم مثلاً بنداء الصف الثاني ومن العمود الثاني إلى الرابع
[LINE]hr[/LINE]

[LINE]hr[/LINE]
هذا في حالة أننا نعرف حجم المصفوفة, ولكن ماذا إذا لم نكن نعرف حجمها, ونريد أن نحصل على العنصر الأخير مثلاً من الصف الثاني
[LINE]hr[/LINE]

[LINE]hr[/LINE]
وسنقوم بعد عملية الشرح تماماً بالعديد والعديد من الأمثلة التي تزيد من سرعتك ومهارتك في الماتلاب
__________________
  #49 (permalink)  
قديم 16-08-2006, 02:14 PM
مــشــرف قـسم مـيكاترونكس
 
تاريخ التسجيل: Oct 2005
المشاركات: 1,837
معدل تقييم المستوى: 0
م.أحمد عفيفي سلامة يستحق التميز
Post إيجاد العنصر الأكبر

إيجاد العنصر الأكبر
يقوم الماتلاب بإيجاد العنصر الأكبر عن طريق العمل على المصفوفة بشكل مختلف, فكيف يبحث عن العنصر الأكبر في المصفوفة, يقوم الماتلاب بالبحث عن العنصر الأكبر في كل عمود في المصفوفة, وبعدما يقوم بعمل ذلك, يقوم بعمل متجه به الرقم الأكبر من كل عمود, أنظر المثال التالي للتوضيح
لدينا الآن مصفوفة تم إنشائها على الماتلاب
[LINE]hr[/LINE]

[LINE]hr[/LINE]
ولنقم بكتابة الأمر max كما ذكرنا مسبقاً
[LINE]hr[/LINE]

[LINE]hr[/LINE]
كما تلاحظ فلقد قام الماتلاب بإختيار العنصر الأكبر من كل عمود, ولإختيار الرقم الأكبر بينهم يجب كتابة نفس الأمر للناتج الخارج, وبالتالي نحصل على الرقم الأكبر في المصفوفة ككل
[LINE]hr[/LINE]

[LINE]hr[/LINE]
__________________
  #50 (permalink)  
قديم 16-08-2006, 08:33 PM
مــشــرف قـسم مـيكاترونكس
 
تاريخ التسجيل: Oct 2005
المشاركات: 1,837
معدل تقييم المستوى: 0
م.أحمد عفيفي سلامة يستحق التميز
Post إيجاد العنصر الأصغر

إيجاد العنصر الأصغر
هذه العملية أيضاً كثيرة الإستخدام في التطبيقات المختلفة, وهي نفس الخطوات السابق ذكرها في إيجاد العنصر الأكبر ولكن يتم إستخدام الأمر min
وإليكم المثال التالي
[LINE]hr[/LINE]

[LINE]hr[/LINE]
__________________
  #51 (permalink)  
قديم 16-08-2006, 08:37 PM
مــشــرف قـسم مـيكاترونكس
 
تاريخ التسجيل: Oct 2005
المشاركات: 1,837
معدل تقييم المستوى: 0
م.أحمد عفيفي سلامة يستحق التميز
Post إيجاد مجموع العناصر

إيجاد مجموع العناصر
لإيجاد المجموع كما تعلمنا نقوم بإستخدام الأمر sum ولكن عملية الجمع يقوم الماتلاب بإيجاد جمع كل عمود على حدى وتوضع في صورة متجه, كما في المثال التالي

__________________
  #52 (permalink)  
قديم 16-08-2006, 08:43 PM
مــشــرف قـسم مـيكاترونكس
 
تاريخ التسجيل: Oct 2005
المشاركات: 1,837
معدل تقييم المستوى: 0
م.أحمد عفيفي سلامة يستحق التميز
Post إيجاد حاصل ضرب العناصر

إيجاد حاصل ضرب العناصر
يمكن ضرب عناصر المصفوفة, ولكن في الماتلاب عملية الضرب تكون لكل عمود على حدى ويتم وضع الناتج في متجه, وإذا تم إستخدام الأمر مرة أخرى يتم ضرب عناصر المتجه جميعها, لينتج حاصل الضرب المصفوفة جميعها, أنظر المثال التالي
[LINE]hr[/LINE]

[LINE]hr[/LINE]
__________________
  #53 (permalink)  
قديم 16-08-2006, 08:52 PM
مــشــرف قـسم مـيكاترونكس
 
تاريخ التسجيل: Oct 2005
المشاركات: 1,837
معدل تقييم المستوى: 0
م.أحمد عفيفي سلامة يستحق التميز
Post إيجاد قطر المصفوفة

إيجاد قطر المصفوفة
هذه العملية قد تكون ذات إستخدام أكاديمي, ولكنها هامة جداً, وخصوصاً أن تلك الخاصية تخدم المصفوفة المربعة ( عدد الصفوف يساوي عدد الأعمدة), ويتم إستخدام الأمر diag, وهذا مثال لذلك
[LINE]hr[/LINE]

[LINE]hr[/LINE]
يمكننا الآن عمل العديد من العمليات على قطر المصفوفة, فمثلاً نريد الحصول على عملية الجمع لعناصر المصفوفة
[LINE]hr[/LINE]

[LINE]hr[/LINE]
أو أننا نريد الحصول على حاصل ضرب تلك العناصر
[LINE]hr[/LINE]

[LINE]hr[/LINE]
__________________
  #54 (permalink)  
قديم 16-08-2006, 09:05 PM
مــشــرف قـسم مـيكاترونكس
 
تاريخ التسجيل: Oct 2005
المشاركات: 1,837
معدل تقييم المستوى: 0
م.أحمد عفيفي سلامة يستحق التميز
Post المصفوفة السحرية

المصفوفة السحرية
حقاً كلمة قد يستغربها البعض, ولكنها حقيقة فحقاً إنها سحرية, حيث أن الماتلاب لديه القدرة على إنتاج مصفوفة مربعة يقوم الماتلاب بإختيار أرقامها بشكل عشوائي, كل ما عليك إلا إستخدام الأمر magic وتحديد N حيث انها تمثل عدد الصفوف المساوي لعدد الأعمدة, هذه المصفوفة مهمة جداً وخصوصاً في عمليات إختبار الأنظمة, كما سنتحدث لاحقاً بإذن الله في الشبكات العصبية.
ولنأخذ مثالاً مبسطاً
[LINE]hr[/LINE]

[LINE]hr[/LINE]
__________________
  #55 (permalink)  
قديم 16-08-2006, 10:15 PM
مــشــرف قـسم مـيكاترونكس
 
تاريخ التسجيل: Oct 2005
المشاركات: 1,837
معدل تقييم المستوى: 0
م.أحمد عفيفي سلامة يستحق التميز
Post M-File

M-File
هي وسيلة لإدخال الأوامر ولكن ليس من خلال نافذة الأوامر, ولكن ماذا قد يختلف في هذه الوسيلة الجديدة في إدخال الأوامر؟
1- في عملية إدخال الأوامر التي كنا نستخدمها, إذا أردنا تعديل عنصر أو أكثر كان يجب إعادة إدخال الأمر من جديد.
2- إذا وجد خطأ, فيجب كتابة الأمر من جديد
3- إذا كتبنا برنامج كبير, وأردنا إعادة العملية مرة أخرى يجب إدخال جميع الأوامر من جديد وبنفس الترتيب.
4- إذا حدث خطأ في ترتيب الأوامر لهذا البرنامج الكبير ستقوم بإعادة الإدخال الأوامر من البداية مرة إخرى.
5- يصعب عمل عملية تصحيح للأخطاء Debugging
وهذا بالطبع يستغرق وقتاً كبيراً هذا بالإضافة إلى الملل الذي يحدث للمستخدم
وطبعاً حلاً لهذه المشكلة, تم عمل بما يسمى M-File والتي تعطي القدرة على كتابة البرنامج كاملاً أولاً بدون تشغيل, وبعد الإنتهاء منه يتم تشغيله, هذه الخاصية تعطي القدرة على تعديل القيّم دون الحاجة إلى كتابتها مرة أخرى, أو إعادة إدخال الأوامر التي تعتمد على هذا الأمر.
فكيف يتم تشغيل تلك الخاصية؟ إتبع الصورة التالية
[LINE]hr[/LINE]

[LINE]hr[/LINE]
وبالتالي ستظهر نافذه جديدة, تأخذ الشكل التالي
[LINE]hr[/LINE]

[LINE]hr[/LINE]
وسنتعرف على نافذة M-File بالتفصيل الممل بإذن الله في الدرس القادم
__________________
  #56 (permalink)  
قديم 16-08-2006, 10:52 PM
مــشــرف قـسم مـيكاترونكس
 
تاريخ التسجيل: Oct 2005
المشاركات: 1,837
معدل تقييم المستوى: 0
م.أحمد عفيفي سلامة يستحق التميز
Post نافذة M-File

نافذة M-File
سنقوم الآن بالتعرف على نافذة M-File, أنظر الصورة التالية
[LINE]hr[/LINE]

[LINE]hr[/LINE]
ولكن عند الضغط على زر التشغيل, سيطالبك الماتلاب بحفظ البرنامج, ولكن يشترط الآتي عند حفظ البرنامج
1- أن لايبدأ بأرقام
2- أن لا يكون أمراً معرفاً في الماتلاب
3- أن لا يحتوي الإسم على مسافات فاصلة
4- أن لاتحتوي على رموز خاصة مثل + , - , & , *
يجب مراعاة تلك الشروط وإلا لن يقوم الماتلاب بتنفيذ البرنامج
فالنقم بتنفيذ المثال المكتوب الآن في النافذة السابقة
1- يتم الضغط على زر التشغيل كما هو واضح في الصورة التالية
[LINE]hr[/LINE]

[LINE]hr[/LINE]
2- سيطالبنا الماتلاب بحفظ البرنامج أولاً, ولنسميه training1
[LINE]hr[/LINE]

[LINE]hr[/LINE]
3- ستظهر القيم في كلاً من Command Window and Workspace
[LINE]hr[/LINE]

[LINE]hr[/LINE]
4- لنعود إلى M-File ونقوم بتغيير بعض القيم للمصفوفة, كما في الشكل التالي
[LINE]hr[/LINE]

[LINE]hr[/LINE]
5- سنقوم الآن بتشغيل البرنامج, وسيقوم الماتلاب الآن بالحفظ تلقائياً دون الحاجة لإعادة التسمية, ثم شاهد نافذة الأوامر Command Window
[LINE]hr[/LINE]

[LINE]hr[/LINE]
وكما تلاحظ فإنه في كل عملية تحديث للبرنامج ستظل قيم البرنامج القديم موجودة, فحلاً لهذه المشكلة, يتم وضع الأمر CLC في أول كل برنامج, وهذا يكون مبدأ في جميع البرامج التي نقوم بعملها لابد من أن تبدأ بهذا الأمر.
ودعونا نقوم بمثال يوضح لنا ذلك
__________________

التعديل الأخير تم بواسطة م.أحمد عفيفي سلامة ; 18-08-2006 الساعة 02:11 AM.
  #57 (permalink)  
قديم 17-08-2006, 01:29 AM
مــشــرف قـسم مـيكاترونكس
 
تاريخ التسجيل: Oct 2005
المشاركات: 1,837
معدل تقييم المستوى: 0
م.أحمد عفيفي سلامة يستحق التميز
Post مثال على M-File

سنقوم الآن بكتابة الـــ M-File
[LINE]hr[/LINE]

[LINE]hr[/LINE]
سنقوم الآن بتعديل المثال, وحتى نتأكد أن أمر CLC يعمل, ستختفي القيم من Command Window وتظهر القيم الجديدة
[LINE]hr[/LINE]

[LINE]hr[/LINE]
وبهذا نتأكد من أن الأمر CLC يعمل بكفاءة
ولكن دعونا نشاهد نافذة Workspace والتي تحتوى على قيم A,B,C
[LINE]hr[/LINE]

[LINE]hr[/LINE]
لنقم بتعديل بسيط في البرنامج عن طريق تغيير الرموز فقط من A,B,C إلى D,E,F ومشاهدة النافذة Workspace
[LINE]hr[/LINE]

[LINE]hr[/LINE]
ولتلافي هذه المشكلة, يجب وضع أمر Clear بعد الأمر clc بحيث يقوم بمسح أي قيمة سابقة من أي برنامج آخر في Workspace , ويجب تثبيت هذا الأمر أيضاً في جميع البرامج والتي سيتم عملها لاحقاً بإذن الله.
وسنقوم الآن بتنفيذ نفس البرنامج ولكن بعد وضع الأمر clear, وستلاحظ الفرق الشاسع في الماتلاب الآن
[LINE]hr[/LINE]

[LINE]hr[/LINE]
__________________
  #58 (permalink)  
قديم 18-08-2006, 12:19 AM
مــشــرف قـسم مـيكاترونكس
 
تاريخ التسجيل: Oct 2005
المشاركات: 1,837
معدل تقييم المستوى: 0
م.أحمد عفيفي سلامة يستحق التميز
Post بعض الأوامر الهامة

بعض الأوامر الهامة
قبل الإنتقال إلى الرسم plotting لابد من أخذ بعض الأوامر الهامة, والتي سيتم تداولها بشكل مستمر بإذن الله
[LINE]hr[/LINE]
linspace
هذا الأمر كثير الإستخدام, والذي يستخدم في عملية إنتاج متجه, عن طريق تحديد الرقم الأصغر والرقم الأكبر, وعدد النقط المرغوبة بين هذين الرقمين
ويأخذ الصورة التالية
[LINE]hr[/LINE]

[LINE]hr[/LINE]
فالمثال التالي يوضح كيفية إستخدام 10 نقاط من بين الرقمين 5 و 15
[LINE]hr[/LINE]

[LINE]hr[/LINE]
وهذا ما يسمى النظام العشوائي للماتلاب Randomization System in Matlab
والميزة في هذا النظام هو أن المتجه نظام عشوائي متزايد
[LINE]hr[/LINE]
randint
هذا الأمر من ضمن الأوامر والتي تنشأ نظام عشوائي للأرقم, ولكن ليس نظام نظام عدد صحيح وليس على هيئة كسور مثل الأمر السابق, كما أن نظام الأرقام به ليس تزايدياً أو تناقصياً بل عشوائياً
ويأخذ الصورة التالية
[LINE]hr[/LINE]

[LINE]hr[/LINE]
وهذا مثال بسيط بإستخدام هذا الأمر على الماتلاب
[LINE]hr[/LINE]

[LINE]hr[/LINE]
Input
هذا الأمر هام جداً في الماتلاب, حيث يقوم المستخدم من خلال إستخدامه يجعل الماتلاب يسأله عن متجه أو مصفوفة, أو حتى حروف وأسماء وذلك تبعاً لما يقوم المستخدم بتعريفه
فمثلاً إذا أردنا الماتلاب يطالبك بإدخال سنك, سنقوم بعمل التالي
[LINE]hr[/LINE]

[LINE]hr[/LINE]
وإذا أردنا أن نعرف للماتلاب بأن ما سيتم إدخاله هو إسم وليس رقم, يتم كتابة البرنامج بالشكل التالي
[LINE]hr[/LINE]

[LINE]hr[/LINE]
__________________
  #59 (permalink)  
قديم 18-08-2006, 01:11 AM
مــشــرف قـسم مـيكاترونكس
 
تاريخ التسجيل: Oct 2005
المشاركات: 1,837
معدل تقييم المستوى: 0
م.أحمد عفيفي سلامة يستحق التميز
Post بقية الأوامر الهامة

لنستكمل الأوامر الهامة
أولاً ما الفرق بين String and Character؟
string هو حرف أو كلمة في الماتلاب
character هو عبارة عن رقم أو مجموعة من الآرقام
وهنالك أمر يقوم بتحويل string to Character والعكس كذلك
وهما
num2str
str2num
ولكن فيما يفيدوا هذه الأوامر
سنقوم بمثال بسيط حتى تفهم المقصود من هذه الأمور, سنقوم بإستخدام الأمر input في وضعية string وسنقوم بإدخال أرقام, ستبدأ تستغرب الآن, فهل الماتلاب حتى بعد إدخالي الرقم سيتعرف عليها كأنها أرقام أم أي شئ غير ذلك, شاهد الصورة التالية







سنقوم الآن بإستخدام str2num لتحويل string إلى character أو رقم, شاهد الصورة التالية







ماذا بخصوص الأمر الثاني num2str
يستخدم هذا الأمر في تحويل الأرقام إلى string كتعريف لدى الماتلاب, ولكنه لا يغير من شكله, فالمثال التالي طلب منا إدخال الإسم والسن, ثم سنضع الإسم والسن في متجه, ولكن يجب أن نراعي كما ذكرنا مسبقاً أن المتجه إما يحتوي على أرقام أو string فقط وليس كلاهما







والآن نحن على إتم إستعداد للبدء في الجزء المتعلق بالرسم الثنائي والثلاثي الأبعاد
__________________

التعديل الأخير تم بواسطة م.أحمد عفيفي سلامة ; 18-08-2006 الساعة 02:08 AM.
  #60 (permalink)  
قديم 18-08-2006, 03:14 PM
مــشــرف قـسم مـيكاترونكس
 
تاريخ التسجيل: Oct 2005
المشاركات: 1,837
معدل تقييم المستوى: 0
م.أحمد عفيفي سلامة يستحق التميز
Post Plotting

الرسم ثنائي الأبعاد 2D Plotting
المقصود بالرسم ثنائي الأبعاد هو ان تكون العلاقة التي تحكم عملية الرسم تكون بين متغيرين فقط أحدهما يسمى independent والآخر يسمى dependent
فما المقصود بـــ independent Variable أي المتغير المستقل أي أن قيمه لا تحكمها علاقة
بينما dependent Variable أي المتغير المُعتمد حيث يعتمد قيمه على قيم المتغير المستقل
الآن وبعد شرح هذين العنصرين الهامين, سنقوم بشرح الأمر plot حيث يأخذ الصورة التالية





وهذا مثال بسيط لكيفية رسم sine Wave





وتلاحظ أننا قد إخترنا 10 نقاط فقط لرسم Sine Wave , وهذا عدد قليل لرسم Sine Wave وتلاحظ ظهور الرسمة بالشكل التالي





وحلاً لهذه المشكلة, لابد من زيادة عدد النقاط داخل المتجه, كما في الشكل التالي





وستلاحظ أن الرسمة قد تحسنت كثيراً





وسنأخذ في الدرس القادم كيفية وضع مسميات حول محور السينات X-Axis ومحور الصادات Y-Axis وعنوان للرسمة,ووضع شبكة على الرسمة ,وكيفية تغيير لون الرسمة, وكذلك وضع أكثر من رسمة فوق بعضهما, وكيفية عمل كل رسمة في نافذة منفصلة, وكيفية إنشاء عدة رسومات منفصلة في نافذة واحدة بإذن الله
__________________

التعديل الأخير تم بواسطة م.أحمد عفيفي سلامة ; 18-08-2006 الساعة 04:03 PM.
موضوع مغلق

مواقع النشر (المفضلة)


أدوات الموضوع
تقييم هذا الموضوع
تقييم هذا الموضوع:

تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة
Trackbacks are متاحة
Pingbacks are متاحة
Refbacks are متاحة


الساعة الآن 01:11 AM.


Powered by vBulletin® Version 3.7.1
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd

Content Relevant URLs by vBSEO 3.1.0