النتائج 1 إلى 3 من 3
الموضوع:

التعامل مع بلوكات الجداول

الزوار من محركات البحث: 93 المشاهدات : 727 الردود: 2
جميع روابطنا، مشاركاتنا، صورنا متاحة للزوار دون الحاجة إلى التسجيل ، الابلاغ عن انتهاك - Report a violation
  1. #1
    من المشرفين القدامى
    eng-power
    تاريخ التسجيل: July-2013
    الدولة: iraq
    الجنس: ذكر
    المشاركات: 38,353 المواضيع: 2,891
    صوتيات: 2 سوالف عراقية: 0
    التقييم: 32003
    مزاجي: عصبي
    أكلتي المفضلة: fish
    مقالات المدونة: 2

    التعامل مع بلوكات الجداول

    عود مرة أخرى أخوانى الأعزاء بعد أنقطاع دام أكثر من سنة لنستكمل دورة السميولينك والتى قد بدءنها معنا Working with Lookup Tables
    التعامل مع بلوكات الجداول

    ويكون هناك عادة متسلسة او معادلة حسابية وظيفتها اخراج مخرجات معينة نتيجة لمدخلات محددة
    مثال بسيط
    الدالة التكعيبية
    y = x^3
    حيث المدخلات تتكون من الفترة 3 الى -3
    كما بالجدول الاتى

    نجد ان العنصر المدخل 2 يقابله مخرج 8
    ولكن فى حالة عدم وجود الدخل المطلوب فمثلا اذا اردنا قيمة y عند x تساوى 1.5 او اذا كان يقع خارج الفترة
    هنا سيقوم السميولينك بعملية interpolate or extrapolate لاستخراج هذه القيم بصورة خطية

    ونجد ان الجداول فى السميولينك تقدم لنا حلولا بصورة غير رياضية وتكون بالتقدير او التقريب واسرع من الحلول الرياضية وخصوصا عند عملية المحاكاة

    تركيب الجداول
    من الشكل الاتى وهو عبارة عن جدول ثنائى الابعاد يتضح لنا ان المدخلات هنا تسمى Vectors or breakpoint data sets

    انواع بلوكات الجداول

    1- Lookup Table
    وهو أبسط انواع البلوكات حيث يتعامل مع بعد واحد فقط واذا اردنا استخدام بعدين فيجب علينا استخدام النوع الاخر

    2-Lookup Table (2-D)
    وهو نفس النوع السابق ولكن الجداول به يحتوى على بعدين
    ويتكون هذا الجدول من Row index input values وهو الصف الذى يحتوى على قيم X ويكون أفقى
    Column index input values وهو الصف الذى يحتوى على قيم Y الرأسية
    Table data المصفوفة التى تحتوى قيم الجدول او المخرجات

    3-Lookup Table (n-D)
    ويستخدم هذا النوع لحل المعادلات التى بها اكثر من متغيرين ويكون حلها رقمى وليس حل رياضى دقيق ويقوم بعمل مختلف عمليات interpolation
    ويتكون من الاتى :
    Number of table dimensions
    لابد قبل استخدام هذا البلوك من تحديد عدد الابعاد التى يتعامل معها
    Breakpoints for dimension
    قيم المدخلات
    Table data
    قيم المخرجات
    ويمكن ايضا اضافة بعض المعاملات لتحسين النتائج
    Index search method
    Interpolation method
    Extrapolation method

    4- Prelookup
    يستخدم هذا البلوك مع Interpolation Using Prelookup ويقوم بعملية ال Interpolation حيث يقوم بحساب الدليل
    وفترة التقسيم المستخدمة index and interval fraction

    5- Direct Lookup Table (n-D)
    6-Lookup Table Dynamic
    7-Sine, Cosine
    Choosing a Lookup Table
    أختيار بلوك الجدول المناسب
    يعتمد اختيار نوعية بلوك الجدول على اساس ابعاد البيانات التى لدينا حيث اذا كنا سنستخدم بيانات فى بعد واحد او بعدين او اكثر من بعدين فان البلوك المستخدم
    سيختلف فى كل حالة وايضا يعتمد الخيار على نوعية البيانات الرقمية فمثلا نجد ان كل البلوكات لديها القدرة فى التعامل مع الاعداد الحقيقة ولكن اذا اردنا التعامل مع
    ارقام معقدة فاننا سنستخدم البلوكات الاتية irect Lookup Table (n-D) and Lookup Table (n-D) blocks
    ويعتمد الخيار ايضا على الدقة Accuracy
    فتختلف الدقة من بلوك الى اخر ومن عملية الى عملية اخرى نتيجة ما يتم من عمليات interpolation and extrapolation وما ينتج عنها من تقريب وايضا نجد نوع عملية interpolation قد يسبب فى اختلاف الدقة مثل العمليات الاتية linear or cubic spline.
    فى الجدول الاتى نجد مقارنة بين انواع الجداول المختلفة بناء على استخدامتها وخصائصها ليساعدنا فى اختيار البلوك المناسب لنا :
    كيفية ادخال نقاط التوقف وبيانات الجدول
    Entering Breakpoints and Table Data
    ويوجد ثلاثة طرق لادخال البيانات الى الجداول سنتعرف عليها الان
    ————
    Entering Data in a Lookup Table Block’s Parameter Dialog Box
    نقوم الان بعمل مثال لجدول بسيط وهو الدالة التكعيبية على الفترة من -3 الى 3
    اولا سنقوم بفتح برنامج السميولينك وعمل نموذج جديد
    سنقوم بوضع بلوك Lookup Table به

    ومن ثم نقوم بفتح خصائصه كما يلى

    ونجد البيانات الاتية
    Vector of input values وهى تعبر عن قيم المدخلات والتى تكون الفترة من -3 الى 3
    Table data وهى المخرجات وتكون القيم التكعيبية للمدخلات
    Entering Data in the Lookup Table Editor
    ادخال البيانات عن طريق محرر الجداول
    مثال ::
    سنقوم الان بعمل هذه المعادلة
    صورة 7
    حيث X من صفر الى 2
    و Y من صفر الى 2
    وحيث ان المعادلة تحتوى على متغيريين فاننا سنقوم باستعمال البلوك الاتى
    Lookup Table 2-D
    ولفتح محرر الجداول : عن طريق الدخول الى قائمة tools
    واختيار Lookup Table Editor
    كما فى الصورة الاتية

    ونلاحظ وجود القيم الأفتراضية للجدول
    والان سنقوم بادخال قيم X فى Row Breakpoints
    وقيم Y فى Column Breakpoints
    وايضا لا ننسى التعويض فى المعادلة وايجاد قيم الجدول كما فى الصورة الاتية

    وبعد ذلك نعمل بعمل
    Update Block Data من خلال قائمة file

    ————-
    Entering Data Using the Lookup Table Dynamic Block’s Inports
    ادخال بيانات بلوك الجدول الديناميكى عن طريق استيراد البيانات
    فى المثال الاتى سنقوم بعملية تقريب للمعادلة الاتية

    من الفترة صفر الى 10
    سنقوم الان باضافة البلوك الديناميكى والبلوك اللازمة لحل هذه المعادلة
    كما بالشكل الاتى

    وادخال قيم البلوكات كما موضح اعلاه فى الشكل
    Characteristics of Lookup Table Data
    خصائص بلوكات الجداول
    هناك بعض القيود على حجم بيانات الجدول سواء breakpoint data او table data
    اما الحجم الكلى للجدول فالذى يحدده هو ذاكرة جهاز الكمبيوتر.
    وايضا يجب ان يكون هناك توافق بين ابعاد الجدول وابعاد متغيرات الادخال breakpoint فى المحاور الثلاثة
    Monotonicity of Breakpoint Data Sets
    Monotonicity هو اسم لدالة رياضية دائما تحتفظ بترتيب معين مثلا دائما فى تزايد او دائما فى تناقص ويعنى هنا ان يكون هناك ترتيب معين لمدخلات الجداول ويفضل ان يكون دائما monotonically increasing
    للحصول على معلومات أكثر حول الدالة Monotonic يرجى الدخول هنا
    http://en.wikipedia.org/wiki/Monotonic_function
    Representing Discontinuities
    تمثيل النقاط الغير المتصلة
    وهى النقاط التى لا قيمة لها اى تكون عندها قيمة المتغير الافقى او المتغير الراسى تساوى صفر
    كما فى الصورة الاتية :

    فى هذه الصورة نلاحظ اننا لدينا مخرجين لمدخل واحد وهو الصفر
    فى هذه الحالة فان بلوك الجدول يكون لديه بعض القواعد التى يختار على اساسها الخارج

    اولا :: فى حالة ان الدخل المتشابه أصغر من الصفر
    لدينا الدخل -1 والخرج -1
    ولدينا الدخل -1 والخرج -2
    وفى هذه الحالة يقوم البرنامج باخراج أخر خرج فقط للقيم المتشابه
    مثلا فى هذه الحالة يقوم البرنامج باخراج القيمة -2 عندما يكون الدخل -1 ولا يقوم باخراج -1 عند الدخل -1
    ولذلك نجد النقطة -1و-1 غير سوداء وذلك لانها ليست نقطة اخراج.
    —–
    ثانيا:
    فى حالة النقطتان المتشابهتان أكبر من الصفر
    مثل النقطتان 1و2 1و1
    فانه البرنامج يقوم باخراج اول نقطة فقط

    ——–
    ثالثا:
    فى حالة النقطتان تساوى صفر فان البرنامج يخرج المتوسط
    الخرج الاول يساوى -2
    الخرج الثانى يساوى 2
    المتوسط يساوى صفر
    —————–
    اما فى حالة وجود أكتر من دخلان لهم قيم متشابه

    فان البرنامج يخرج قيمة الخرج الخاص بالنقطة المتوسطة فقط
    Estimating Missing Points
    تقدير النقط المفقودة
    عموما فى أغلب حالات الجداول فاننا نرى انه يحدث عمليه أخراج البيانات اذا وجد لكل عنصر فيها دخل
    ولكن فى ان الدخل الموجود يقع خارج القيم المحددة لقيم الدخول فى الجدول فاننا نجد ان السميولينك يقوم بتقدير قيمه للخرج المقابل له
    ويعتمد هذا على عدة طرق
    Interpolation Methods
    عندما يقع قيمة الدخل بين عنصرين من عناصر breakpoint وهى العناصر المحددة للدخل
    فان البرنامج يقوم بحساب قيمته بدلاله القيم المجاورة
    ويوجد عدة طرق لعملية interpolation منها :
    Linear interpolation
    Cubic spline interpolation
    ويعتمد نوع عملية ال interpolation على البلوك المستخدم
    والطريقة الثانية هى :
    Extrapolation Methods
    عندما تقع قيمة الدخل خارج عناصر breakpoint وهى العناصر المحددة للدخل
    ومنها :
    Linear extrapolation
    Cubic spline extrapolation
    والطريقة الثالثة من طرق تقدير النقط المفقودة هى :
    Rounding Methods
    تتم هذه الحالة عندما يقع العنصر المراد تقدير قيمه خارح حدود breakpoint او يقع بين عنصرين ولم نقوم بتحديد العملية المستخدمه وتوجد عده طرق من عملية ال Rounding منها :
    Use Input Nearest
    يقوم البرنامج باخراج قيمه الخرج المقابل للدخل الاقرب للعنصر
    Use Input Below
    يقوم البرنامج باخراج قيمه الخرج المقابل للدخل الاقل قيمه بعد العنصر
    Use Input Above
    يقوم البرنامج باخراج قيمه الخرج المقابل للدخل الأكبر قيمه بعد العنصر

    مثال:
    نجد فى الجدول الاتى قيم ال breakpoint من -5 الى 5 وقيمه الخرج
    sinh([-5:5])

    وعند اختيار قيمه للدخل تساوى 1.4 كقيمة داخل breakpoint ونستخدم قيمه 5.1 كقيمة خارج فنجد ان الخرج قيمته تختلف باختلاف الطريقة المستخدمة كما فى الجدول الاتى


    Lookup Table Editor
    محرر الجداول
    يتيح محرر الجداول خاصية التعديل السريع لمحتويات الجداول
    لفتح المحرر

    من قائمة tool فى صفحة النموذج
    اختار
    Lookup Table Editor
    ونلاحظ فى المحرر انه يحتوى على عمودين

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

    ——-
    مثال :
    سنقوم فى المثال الاتى بحساب اللوغاريتم من القيمه 1 الى القيمة 10
    1- قم بعمل نموذج كما يلى

    وضع فى بلوك الجدول ما يلى

    والان افتح بلوك الثابت وغير الرقم الذى به على سبيل المثال ضع الرقم 5
    ونلاخط هنا ان ال 5 هى من ضمن ال breackpoints الموجودة لدينا والناتج سيكون 0.698

    وعندما نختار قمية موجودة داخل حدود ال breackpoints فاننا نجد البرنامج يقوم بعملية linearly interpolation
    وعندما نختار قيمة موجودة خارج حدود الbreackpoints فاننا نجد البرنامج يقوم بعملية linearly extrapolation

  2. #2
    من المشرفين القدامى
    ๔คгк є๓קєг๏г
    تاريخ التسجيل: September-2014
    الجنس: ذكر
    المشاركات: 5,132 المواضيع: 758
    التقييم: 924
    مزاجي: Praise be to God anyway
    يسلمووووووو

  3. #3
    من المشرفين القدامى
    eng-power
    انرت صديقي..

تم تطوير موقع درر العراق بواسطة Samer

قوانين المنتديات العامة

Google+

متصفح Chrome هو الأفضل لتصفح الانترنت في الجوال