CiViL Engineering
اسرة ادارة منتدى CiViL Engineering ترحب بجميع الاعضاء والزوار
نتمنى ان نرى ابدعاتكم المتواصله
مع تحيات ادارة المنتدى
م/ أحمد الشافعى
CiViL Engineering
اسرة ادارة منتدى CiViL Engineering ترحب بجميع الاعضاء والزوار
نتمنى ان نرى ابدعاتكم المتواصله
مع تحيات ادارة المنتدى
م/ أحمد الشافعى
CiViL Engineering
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.



 
الرئيسيةأحدث الصورالتسجيلدخول




تنبيه هام :
الى جميع أعضاء المنتدى رجاء الانتباه نوجه عناية الجميع الى انه يوجد فى اسفل المنتدى " علبة الدردشة " التى تساعد على تواصل الاعضاء مع بعضهم البعض مباشرة

بشرى سارة :
حصريا على منتدى civil Engineering شرح مواد لطلبة الفرقة الاعدادية على هذا الرابط http://civileng.formyjob.net/montada-f7/topic-t58.htm#92

لحظة من فضلك : بعد تسجيلك عزيزى الزائر واشتراكك معنا فى المنتدى ستصلك رسالة تفعيل للاشتراك على الايميل الخاص بك يجب أولا فتحها وتفعيل الاشتراك مع خالص تحياتى

 

 المعادلات في الماتلاب

اذهب الى الأسفل 
كاتب الموضوعرسالة
Eng.shahy
عضو مؤثر
عضو مؤثر
Eng.shahy


عدد المساهمات : 178
عدد النقاط : 319
السٌّمعَة : 4
تاريخ التسجيل : 10/03/2011
العمر : 31
الموقع : 10th of ramdan city

المعادلات في الماتلاب Empty
مُساهمةموضوع: المعادلات في الماتلاب   المعادلات في الماتلاب Emptyالسبت 25 يونيو 2011, 12:01 am

حل ثلاثة معادلات


كما تعلمنا أن الماتلاب له القدرة على إدخال حل المعادلات, فمثلاً المعادلتان التاليتين
المعادلات في الماتلاب MATLAB259


ويمكن كتابة ذلك على الماتلاب كالتالي
المعادلات في الماتلاب MATLAB260


وبالتالي نجد النتائج كالتالي
المعادلات في الماتلاب MATLAB262


ولكن هذا يشترط أن يتم إدخال المعاملات coefficients للمعادلتين, وهذا
بالتالي يتطلب التمحيص والتدقيق في كل معادلة, فإذا كثرت المعادلات إزداد
الوقت المستغرق في البحث, فتسهيلاً للمستخدم يجب عمل برنامج لإدخال
المعادلات بشكل كام, فمثلاً سنقوم بعمل برنامج لحل ثلاثة معادلات
المعادلات في الماتلاب MATLAB263


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


ولذلك يجب التفكير كالتالي, عندما يقوم المستخدم بإدخال المعادلات
الثلاثة, يجب على الماتلاب أن يحدد قيم المعاملات أولاً لإيجاد حل قيم
المتغيرات, وحلاً لهذه المشكلة سنجعل الماتلاب يبحث عن علامة "="
لكل معادلة, ثم سنقوم بتعريف الجزء الذي يحتوى على المتغيرات لكل معادلة,
ثم سنقوم بفرض أن
x=1 , y=0,z=0
ومنها نحصل على قيم معاملات x في المعادلات الثلاثة
ثم سنفرض أن x=0, y=1, z=0
ومنها نحصل على قيم معاملات y في المعادلات الثلاثة
ثم سنفرض أن x=0,y=0,z=1
ومنها نحصل على قيم معاملات z في المعادلات الثلاثة
وبالتالي نكون قد حصلنا على معاملات المعادلات الثلاثة, لم يتبقى
سوى إيجاد قيم معاملات D وسوف يتم توضيح ذلك عند كتابة البرنامج على
الماتلاب.
المعادلات في الماتلاب MATLAB265


وسنقوم الآن بوضع ثلاثة معادلات كما في الشكل التالي
المعادلات في الماتلاب MATLAB261


وبالتالي ستكون النتائج كالتالي
المعادلات في الماتلاب MATLAB266


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

Zero Crossing


في هذا المثال الهام سنقوم بشرح كيفية رسم معادلة, ووضع دائرة زرقاء على
مناطق تقاطعها مع محور السينات, والتي يجب أن تأخذ الشكل التالي
المعادلات في الماتلاب MATLAB267


قد يعتقد البعض بأن هذا البرنامج سهلاً تقريباً, ولكن البرنامج يحتاج
إلى التفكير قليلاً, فدعونا نفكر في الطريقة التي قد يفكر بها أي شخص الآن,
حيث سيقوم بكتابة البرنامج الذي يبحث عن النقاط التي بها Y=0 ثم يقوم
بإيجاد القيم التي بها تلك النقاط, كما في البرنامج التالي
المعادلات في الماتلاب MATLAB268


وستكون الرسمة النالتجة بالشكل التالي
المعادلات في الماتلاب MATLAB269


فما سبب هذه المشكلة, حقيقة سببها ما يسمى بــ Digital Domain, فما هو Digital Domain
معنى ذلك أن أي معادلة يتم رسمها ليست عبارة عن خط متصل وإنما
مجموعة من النقاط, تعتمد على عدد النقاط التي تم إختيارها في لرسم الدالة,
ثم التوصيل بين تلك النقاط, فمثلاً إذا قمنا بعمل برنامج لرسم دالة الجيب
sine wave بعدد نقاط قليل, كما في الشكل التالي
المعادلات في الماتلاب MATLAB270


وبالتالي ستجد الدالة بهذا الشكل
المعادلات في الماتلاب MATLAB271


كما ترى, فإن الماتلاب قام بتحديد النقاط والتوصيل بينها, وللتأكد من ذلك قم بعمل التالي في البرنامج
المعادلات في الماتلاب MATLAB272


وبالتالي فإن الرسمة الناتجة, تكون في الصورة التالية
المعادلات في الماتلاب MATLAB273


وهذا ما يسمى Digital Domain والآن لنقم بزيادة عدد النقاط في نفس البرنامج
المعادلات في الماتلاب MATLAB274


وتكون الرسمة كالتالي
المعادلات في الماتلاب MATLAB275


كما ترى في الرسمة لايزال هنالك فراغات بين النقاط , والتي من الممكن أن
لا تتقاطع مع محور السينات كما حدث في البرنامج الذي قمنا بعمله, وهذا هو
سبب عدم ظهور دائرة حمراء حول منطقة التقاطع, ودعونا نقوم بعمل البرنامج
الأول ولكن في صورة Digital Domain
المعادلات في الماتلاب MATLAB276


وستظهر الرسمة في الصورة التالية
المعادلات في الماتلاب MATLAB277


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


كل ما علينا هو ضرب كل نقطة في النقطة التي تليها, وذلك عن طريق تعريف y
ثم تعريف نفس الدالة, ولكن متقدمة عنها برقم واحد, ثم ضربهم معاً, فمثلاً
إذا كانت قيمة y كالآتي
المعادلات في الماتلاب MATLAB279


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


والآن سنقوم بكتابة البرنامج بالتدريج التالي
المعادلات في الماتلاب MATLAB281


وبالتالي ستلاحظ الرسمة التالية
المعادلات في الماتلاب MATLAB282


وبالتالي تكون الرسمة قد أصبحت صحيحة



إيجاد المساحة تحت المنحنى


هذا المثال من التطبيقات الهامة, حيث سنقوم بتعريف المدخلات ورسم
الدالة, ثم سنختار نقطتان نقطتان من على الرسم, ثم سنقوم بإيجاد المساحة
بين تلك النقطتين, ونقوم بتظليل الجزء المختار, ولكن سنقوم في هذا المثال
بإستخدام أمرين جديدين وهما
trapz لإيجاد المساحة تحت المنحنى
area لتظليل تلك المساحة من الدالة
وسنقوم بشرح الأمر area
حيث يأخذ الصورة التالية
المعادلات في الماتلاب MATLAB283


وسنقوم بتنفيذ مثال بسيط على الماتلاب برسم دالة الجيب ثم تظليل تلك الدالة
المعادلات في الماتلاب MATLAB284


وستظهر الرسمة كالتالي
المعادلات في الماتلاب MATLAB285


أما بخصوص الأمر trapz فيستخدم في إيجاد المساحة تحت المنحنى, حيث يأخذ الصورة التالية
المعادلات في الماتلاب MATLAB286


وسنقوم بعمل برنامج بسيط في إيجاد المساحة تحت منحنى دالة الجيب
المعادلات في الماتلاب MATLAB287


وبالتالي ستلاحظ قيمة المساحة من خلال نافذة Workspace
المعادلات في الماتلاب MATLAB288


الآن نتوجه إلى البرنامج الذي نريد تنفيذه, سنقوم بإدخال المدخلات
inputs ثم سنقوم بالتعويض بها في المخرجات outputs ثم سنقوم بإختيار
النقطتان من على الرسمة, ثم سنوجد المساحة تحت المنحنى بين تلك النقطتين,
ثم سنقوم بتظليل المساحة بين النقتطين.
المعادلات في الماتلاب MATLAB289


وتم إختيار نقتطان عشوائيتان, وظهرت الرسمة كالتالي
المعادلات في الماتلاب MATLAB290





Curve Fitting


سنقوم الآن بأخذ المثال التطبقي الثالث والأخير وهو Curve Fitting حيث
أن هذه العملية هامة جداً في إيجاد علاقة مكافأة لأي نظام, فمثلاً عند
إدخال مجموعة من المدخلات inputs سنلاحظ أن الخرج outputs تأخذ مجموعة من
النقاط المتشتتة التي لا تجمعها علاقة محددة, أما عند إستخدام curve
fitting سنلاحظ تكون علاقة تقريبية لتوصيف النظام.
وهذه صورة لمجموعة من النقاط الخارجة من النظام لا تجمعها أي علاقة
المعادلات في الماتلاب MATLAB291


ولكن سنقوم بشرح أمرين وهما ones و zeros واللذان لهما القدرة التالية
ones يستطيع أن يكون مصفوفة أو متجه جميع عناصره 1
zeros يستطيع أن يكّون مصفوفة أو متجه جميع عناصره صفر
لاحظ الصورة التالية في طريقة كتابة كلا الأمرين
المعادلات في الماتلاب MATLAB292


وستلاحظ ظهور النتائج بالشكل التالي
المعادلات في الماتلاب MATLAB293


أما الآن سنتكلم عن أنواع Curve Fitting
هنالك أنواع عديدة منها



  • linear


  • Quadratic


  • Sinusoidal

exponential*
وسنتناول النوع الأول والرابع, أما الآن سنتناول النوع الأول
Linear Curve Fitting
في هذا النظام يتم إيجاد خط مستقيم بحيث تكون المسافة العمودية بين كل نقطة والخط المستقيم أقل ما يمكن, يمكن مشاهدة الصورة التالية
المعادلات في الماتلاب MATLAB294


فكما هو واضح في المثال كل قيمة في محور السينات لها قيمة مناظرة في
محور الصادات
وحيث اننا نستخدم طريقة Linear Curve Fitting فإن لكل نقطة على محور
الصادات علاقة خطية مع نقطة محددة على محور السينات, وهذه العلاقة تكتب في
الصورة التالية
المعادلات في الماتلاب MATLAB295


فإذا عدنا بالذاكرة للخلف عند حل المعادلات سنجد اننا كنا نقوم بكتابة المعادلات بالشكل التالي
المعادلات في الماتلاب MATLAB296


ويمكنا كما تعلمنا كتابة تلك المعادلة في الصورة التالية
المعادلات في الماتلاب MATLAB297


وبالرجوع إلى المعادلة الخاصة بــ Linear Curve Fitting نستطيع كتابتها في الصورة التالية
المعادلات في الماتلاب MATLAB298


وبهذا نكون قد حصلنا على قيمة كلاً من K & T والتي نستطيع أن نقوم
بتعريف مجموعة قيم للمتغير X وبالتالي نقوم بالحصول على قيمة Y ومنها نقوم
برسم العلاقة بين X & Y والتي تمثل خطاً تبعاً للمعادلة التالية
المعادلات في الماتلاب MATLAB295


والآن سنقوم بالبدء بكتابة البرنامج في الماتلاب خطوة خطوة
سنقوم الآن بتعريف الماتلاب بمجموعة القيم للمتغير X والعلاقة للنظام التي تعطينا قيمة Y
المعادلات في الماتلاب MATLAB300


والآن لنفترض أن لدينا أكثر من قيمة X وبالتالي سنحصل على أكثر من قيمة Y
وحيث أن العلاقة بين X & Y خطية كما ذكرنا مسبقاً فإننا بالتالي سيكون لدينا أكثر من معادلة يمكن كتابتها في الصورة التالية
المعادلات في الماتلاب MATLAB301


والتي يمكن وضعها في الشكل التالي
المعادلات في الماتلاب MATLAB302


وسنقوم في الماتلاب بتحويل متجه الصف Row Vector إلى متجه عمودي Column
Vector ثم إضافة متجة عمودي جميع قيمه واحد بإستخدام الأمر ones كما تعلمنا
مسبقاً
المعادلات في الماتلاب MATLAB303


والآن قد يظن البعض أنه حتى نحصل على قيم K & T يجب أن تكون صورة الحل كالآتي
المعادلات في الماتلاب MATLAB304


ولكن هذا صحيح إذا كانت قيمة A مصفوفة مربعة , فهل هي كذلك الآن ؟ بالطبع لا, فما العمل
إذا كانت المصفوفة ليست مربعة يتم وضع علامة القسمة مقلوبة ( \ ) ولا يتم إستخدام الأمر inv أي أن صورة الحل الصحيح تكون
المعادلات في الماتلاب MATLAB305


وبالتالي يكون الحل في الماتلاب كالآتي
المعادلات في الماتلاب MATLAB306


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


والآن سنقوم بتعريف الماتلاب عدة نقاط بحيث نرسم ذلك الخط
المعادلات في الماتلاب MATLAB308


وبالتالي نحصل على الرسم بالشكل التالي
المعادلات في الماتلاب MATLAB309




Exponential Curve Fitting


سنأخذ الآن التطبيق الأخير في هذه الدورة وهو Exponential Curve Fitting , ويمكن كتابة العلاقة بين X & Y بالشكل التالي
المعادلات في الماتلاب MATLAB310


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


والتي يمكن كتابتها في صورة المصفوفة
المعادلات في الماتلاب MATLAB312


والآن سنقوم بوضع البرنامج على الماتلاب
المعادلات في الماتلاب MATLAB313


وبالتالي سيظهر الناتج كالتالي
المعادلات في الماتلاب MATLAB314





منقول...نسألكم الدعاء.
الرجوع الى أعلى الصفحة اذهب الى الأسفل
 
المعادلات في الماتلاب
الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1
 مواضيع مماثلة
-
» المصفوفات في الماتلاب.

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
CiViL Engineering  :: الاقسام الدراسيه :: الفرقه الاعدادية ( قسم خاص )-
انتقل الى: