كيف كتابة التطبيقات في MATLAB
-->

Travel

الأربعاء، 17 يونيو 2020

كيف كتابة التطبيقات في MATLAB


التطبيق عبارة عن برنامج MATLAB® قائم بذاته ، بواجهة مستخدم رسومية ، يقوم بأتمتة مهمة أو حساب. يتم تنفيذ جميع العمليات المطلوبة لإكمال المهمة - إدخال البيانات في التطبيق ، وإجراء الحسابات على تلك البيانات ، والحصول على النتائج - داخل التطبيق.

Figure 1. MATLAB Apps Gallery with a custom app installed in My Apps.

الشكل 1. معرض تطبيقات MATLAB مع تطبيق مخصص مثبت في "تطبيقاتي".


بدءًا من R2012b ، يمكنك حزم تطبيقاتك الخاصة لمشاركتها مع مستخدمي MATLAB الآخرين. يمكنك أيضًا تنزيل التطبيقات التي كتبها آخرون من MATLAB Central File Exchange أو مصادر أخرى وتثبيتها في معرض التطبيقات .


كيف كتابة التطبيقات

 نظرًا لأن التطبيق يحتوي على واجهة مستخدم رسومية يتفاعل معها المستخدم ، تختلف كتابة التطبيق في جوانب معينة عن كتابة برامج MATLAB أخرى. عندما تكتب تطبيقًا ، فأنت تنشئ برنامجًا يعتمد على الحدث. بمجرد ظهور تطبيقك على الشاشة ، يظل عادةً خاملاً حتى يتسبب المستخدم في حدوث حدث من خلال التفاعل مع التطبيق — على سبيل المثال ، عن طريق إدخال نص أو النقر فوق زر. استجابة لهذا الإجراء ، يتم تنفيذ وظيفة رد الاتصال. تقوم وظيفة رد الاتصال هذه ، التي يوفرها مؤلف التطبيق ، بتنفيذ بعض التعليمات البرمجية استجابةً للحدث الذي أدى إلى تشغيلها. على سبيل المثال ، قد يؤدي النقر فوق زر تشغيل إلى تنفيذ وظيفة رد الاتصال التي تقوم بإجراء بعض العمليات الحسابية الهندسية وتحديث مؤامرة تظهر في واجهة المستخدم الرسومية.



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

يدعم MATLAB نهجين لكتابة التطبيقات.

 تستطيع: كتابه الرمز من الصفر استخدم الدليل ، بيئة تصميم واجهة المستخدم الرسومية MATLAB يجد معظم المستخدمين أنه من الأسهل استخدام GUIDE لرسم واجهة المستخدم الرسومية رسمياً وإنشاء إطار عمل يستند إلى الحدث للتطبيق. ومع ذلك ، يفضل البعض التحكم الإضافي الذي يحصلون عليه من تأليف التطبيقات من البداية. توضح هذه المقالة طريقة لكتابة التطبيقات من الصفر باستخدام البرمجة الشيئية. لقد وجدنا أن هذه الطريقة طريقة فعالة لإنشاء واجهات مستخدم قوية


العمل مع الكائنات: مثال لتطبيق الأسهم

يدير الكائن مجموعة من الوظائف ذات الصلة والبيانات التي تشاركها. الكائنات مفيدة بشكل خاص لكتابة البرامج التي تعتمد على الأحداث. لسوء الحظ ، على الرغم من ذلك ، يتجنب العديد من المبرمجين استخدام الأشياء ، إما لأنهم يعتقدون أنها معقدة للغاية أو لأنهم يجدون مهمة تعلم البرمجة الموجهة للكائنات شاقة.

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

عند إنشاء كائن ، تحتاج إلى تحديد شيئين: قائمة خصائصه - البيانات المخزنة داخل الكائن - وأساليبه - الوظائف التي تعمل على البيانات المخزنة في خصائص الكائن.

دعونا نلقي نظرة على تطبيق مؤشر الأسهم البسيط الذي يقوم بتحديث رسم بياني لأسعار الأسهم بمرور الوقت لرمز مؤشر معين (الشكل 2).

Figure 2. Simple stock ticker app.


يقوم برنامج simpleStockTicker MATLAB بإنشاء الكائن الذي يقوم بتنفيذ التطبيق.

يخبر السطر الأول من البرنامج MATLAB أنك تحدد فئة جديدة.


تحدد الكلمة الأساسية classdef نوعًا جديدًا من الكائنات ("فئة"). يجب أن يتطابق اسم الفئة ، simpleStockTicker ، مع اسم ملف MATLAB. يوجه الجزء الأخير من السطر ، <مقبض ، MATLAB بعدم عمل نسخ من هذا الكائن. ستبدأ جميع تطبيقاتك على هذا النحو ؛ سيتم تغيير اسم الفئة فقط (simpleStockTicker في مثالنا).

يأتي قسم الخصائص بعد ذلك. يتم تعريف قسم الخصائص من خلال بناء جملة خصائص ... النهاية. حيث يمكنك تحديد البيانات التي سيتم استخدامها من قبل الكائن.

properties


تستخدم هذه الفئة مجموعتين من الخصائص. تقوم الخصائص الخمسة الأولى بتخزين المقابض للمكونات المرئية لواجهة المستخدم - الشكل ، والمحور ، والخط الذي تم رسمه للأسعار ، وتسمية "الرمز" ، ومربع التحرير حيث يمكنك كتابة اسم رمز المؤشر. تقوم الخصائص الأربعة الأخيرة بتخزين البيانات التي يتم استخدامها للحصول على أسعار الأسهم ورسمها. يمكن استخدام هذه الخصائص بأي طريقة من فئات الفئة.

يساعد استخدام الخصائص في معالجة مشكلة شائعة في تأليف التطبيقات: مكان تخزين البيانات التي تحتاج إلى مشاركتها من قبل أجزاء مختلفة من التطبيق. تقليديا ، كانت النهج الأكثر شيوعا لاستخدام إرشادات أو المتغيرات العالمية لتخزين البيانات المشتركة ، ولكن هذه الأساليب لها قيود. قد يكون من الصعب الحفاظ على تحديث إرشادات البيانات والوصول إلى هذه البيانات عندما يحتاجها التطبيق. من السهل تعريف البيانات المشتركة المخزنة كمواقع وسهلة الوصول إليها من أي مكان في التطبيق.


بعد تحديد خصائص الكائن ، يمكنك تحديد أساليبه باستخدام طرق ... نهاية بناء الجملة. يتم استخدام الأسلوب الأول ، المُنشئ ، لإنشاء الكائن. دائمًا ما يكون اسم المنشئ هو نفس اسم الفئة.

function app

وظيفة التطبيق

 لاحظ أن المنشئ يجب أن يكون له متغير إخراج واحد. يتم استخدام متغير الإخراج للإشارة إلى الكائن الذي تم إنشاؤه بواسطة دالة المُنشئ. يمكنك إعطائها أي اسم تريده. يستخدم الفصل في مثالنا تطبيق الاسم. متغير الإخراج خاص لأنه يستخدم داخل ملف تعريف الفئة للإشارة إلى خصائص الكائن وأساليبه. على سبيل المثال ، قد تشير إلى خاصية NumValues ​​للكائن باستخدام تطبيق بناء الجملة. يتم تعريف جميع طرق الفصل مع هذا المتغير الخاص كحجة أولى.


في مثالنا ، تقوم وظيفة المُنشئ بثلاث مهام: فهي تنشئ جميع العناصر المرئية في واجهة المستخدم ، وتهيئ الأسعار المراد رسمها ، وتنشئ كائن مؤقت يتم تحديثه بشكل دوري للحصول على أحدث سعر للسهم. يتم التحكم في معدل التحديث بواسطة خاصية app.TimerUpdateRate للفئة.

الطرق الثلاث التالية في هذه الفئة هي الاسترجاعات. أدناه هو رد الاتصال CloseRequestFcn لنافذة الشكل. يتم استدعاؤه عند إغلاق الرقم. يبدو أن وظائف رد الاتصال الأخرى التي قد تكون كتبتها ، باستثناء واحد: يجب إدخال التطبيق المتغير في بداية قائمة الوسيطات للأسلوب.


function closeApp


لاحظ أن ملف تعريف الفئة يمكن أن يحتوي على طرق أخرى ليست عمليات رد اتصال - على سبيل المثال ، أسلوب getQuote. تسمى هذه الطريقة بطرق أخرى من الفصل.


مزايا استخدام الفئات

غالبًا ما يشجع المبرمجون مزايا البرمجة الشيئية على البرمجة الوظيفية التقليدية. يستشهدون بالتغليف والتجريد وتعدد الأشكال كأسباب لاستخدام نهج موجه نحو الكائنات. على الرغم من أن هذه كلها مفاهيم مفيدة ، إلا أنك لا تحتاج إلى فهمها لكتابة تطبيقك كفئة MATLAB. أهم سبب لاستخدام فصل دراسي لإنشاء تطبيقك هو أن الفصل يوفر طريقة مفيدة لإدارة البيانات التي تشاركها أجزاء مختلفة من تطبيقك. تحتوي خصائص الكائن على جميع البيانات التي تحتاج إلى مشاركتها بين طرق (عمليات الاسترداد) لتطبيقك. لم تعد بحاجة للقلق بشأن استخدام إرشادات أو متغيرات عامة لأنه يتم الآن تخزين جميع البيانات في خصائص الفئة.









NEXT ARTICLE Next Post
PREVIOUS ARTICLE Previous Post
NEXT ARTICLE Next Post
PREVIOUS ARTICLE Previous Post