ما هي لغة البرمجة المضمنة في Matlab؟ ماتلاب - حزمة من البرامج التطبيقية لحل مشاكل الحوسبة التقنية - التثبيت والتكوين

31.03.2019

الآن تتجاوز إمكانيات النظام بشكل كبير إمكانيات الإصدار الأصلي من Matrix Laboratory. تعد MATLAB اليوم، وهي من بنات أفكار شركة MathWorks, Inc.، لغة عالية الكفاءة في الهندسة والحوسبة العلمية. وهو يدعم الحسابات الرياضية وتصور الرسومات العلمية والبرمجة باستخدام بيئة تشغيل سهلة التعلم. أشهر مجالات تطبيق نظام MATLAB:

الرياضيات والحوسبة.

تطوير الخوارزمية.

التجربة الحسابية، ونمذجة المحاكاة، والنماذج الأولية؛

تحليل البيانات والبحث وتصور النتائج؛

الرسومات العلمية والهندسية.

تطوير التطبيقات، بما في ذلك واجهة المستخدم الرسومية.

MATLAB هو نظام تفاعلي كائنه الرئيسي هو المصفوفة، ولا يلزم تحديد البعد له بشكل صريح. وهذا يجعل من الممكن حل العديد من المشاكل الحسابية المرتبطة بتركيبات المصفوفة المتجهة.

الإصدار MATLAB 6.1 هو الإنجاز قبل الأخير للمطورين (وآخرها كان MATLAB 6.5).

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

بيئة التشغيل لنظام MATLAB 6.1.بيئة تشغيل نظام MATLAB 6.1 عبارة عن مجموعة من الواجهات التي تدعم تواصل هذا النظام مع العالم الخارجي من خلال الحوار مع المستخدم عبر سطر الأوامر ومحرر ملفات M والتفاعل مع الأنظمة الخارجية Microsoft Word وExcel وغيرها.

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

قائمة طعام ملف(الشكل 2) يجمع بين الوظائف المعتادة: يحررالمسؤول عن تغيير المحتوى نافذة او شباكالأوامر (تراجع، إعادة، قص، نسخ، لصق، تحديد الكل، حذف، وما إلى ذلك) ولمسح بعض نوافذ MATLAB؛ قائمة طعام منظر- لتصميم سطح المكتب؛ قائمة الويب – تطلق صفحات الويب من الإنترنت؛ قائمة طعام نافذة او شباك- يعمل مع محرر/مصحح أخطاء ملف M (يغلق جميع ملفات M، ويجعل واحدًا منها محدثًا)؛ قائمة طعام يساعد- يعمل مع الوثائق المرجعية والعروض التوضيحية.


الخيار يستحق اهتماما خاصا التفضيلات... (اختيار الخصائص)، والذي عند تحديده يفتح نافذة تتضمن شجرة من الكائنات الموجودة على اليسار (الشكل 3)، وخصائصها المحتملة على اليمين.

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

في جانب العميلفي نافذة أوامر MATLAB، بعد المطالبة، يمكنك إدخال أرقام مختلفة وأسماء المتغيرات وعلامات التشغيل، والتي تشكل معًا بعض التعبيرات. يؤدي الضغط على Enter إلى قيام MATLAB بتقييم التعبير، أو تكراره إذا لم يتم تقييمه. على الرغم من أن العلامة "؛" في نهاية السطر يمنع إخراج النتيجة (إخراج الصدى).

وبالتالي، في جزء العميل من نافذة أوامر MATLAB، يمكن للمستخدم كتابة الأوامر التي تشكل حسابات فردية أو برنامجًا كاملاً على الفور.

لذلك، تم تحليل الأجزاء الهيكلية لنافذة أوامر MATLAB. ولكن إلى جانبهم، هناك العديد من عناصر MATLAB التي تساعد عند العمل:

فرق- نافذة تحتوي على الأوامر التي تم إدخالها مسبقًا في نافذة الأوامر ("سجل الأوامر").

مساحة العملهي منطقة من ذاكرة MATLAB توجد بها متغيرات النظام. يمكن عرض محتويات هذه المنطقة من سطر الأوامر باستخدام الأوامر من(يعرض فقط أسماء المتغيرات) و من(يعرض معلومات حول أحجام المصفوفات ونوع المتغير) أو في نافذة منفصلة بنفس الاسم. يمكنك من خلاله تنفيذ العمليات التالية: تحميل ملف بيانات، وحفظ مساحة العمل كـ (الأوامر تسمح لك بفتح وحفظ محتويات مساحة العمل في ملف MAT ثنائي)، وحذف المتغيرات المحددة؛ افتح المتغيرات المحددة (حيث يمكنك تغيير قيمتها). بالإضافة إلى ذلك، في قائمة "تحرير"، يمكنك مسح كل من نافذة الأوامر وسجل الأوامر ومساحة العمل (أو تشغيل الأمر في نافذة الأوامر: واضح).

لحفظ مساحة العمل وتشغيلها، يمكنك استخدام أوامر التحميل والحفظ.

مثال.

الحفظ في: matlab.mat

>> احفظ my.mat

>> تحميل my.mat

>> احفظ my2

>> تحميل my2

الكتالوج الحالي- نافذة تمثل نوعًا من "الدليل" عبر كتالوجات MATLAB.

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

محرر/مصحح ملف M- أحد أهم الأجزاء الهيكلية في MATLAB، والتي يمكن فتحها عن طريق تحديد الخيار المناسب في القائمة الرئيسية، أو على شريط الأدوات، أو استدعائها من سطر الأوامر باستخدام أمر التحرير أو التحرير<имя М-файла>ويسمح لك بإنشاء وتحرير ملفات M.

يدعم المحرر/مصحح الأخطاء العمليات التالية: إنشاء ملف M جديد؛ فتح ملف M موجود؛ حفظ ملف M على القرص؛ حذف جزء نسخ جزء إدخال جزء يساعد؛ تعيين/حذف نقطة التحكم؛ مواصلة التنفيذ، الخ.

الدليل عبارة عن واجهة مستخدم رسومية يتم من خلالها إنشاء التطبيقات الكاملة.

جلسة عمل تفاعلية. ملفات M. الوضع التفاعلي هو وضع مستخدم لإدخال الأوامر والتعبيرات من لوحة المفاتيح، والذي يؤدي تنفيذه إلى النتائج الرقمية اللازمة التي يمكن تصورها بسهولة وسرعة باستخدام الأدوات الرسومية المضمنة في حزمة MATLAB. ولكن استخدام هذا الوضع لإنشاء وحفظ برنامج معين غير ممكن. لذلك، قام منشئو MATLAB، بالإضافة إلى نافذة الأوامر، التي يتم فيها تنفيذ الوضع التفاعلي، بتحديد ملفات خاصة تحتوي على رموز لغة MATLAB وأطلقوا عليها اسم M-files (*.m). لإنشاء ملف M، استخدم محرر نصوص (محرر/مصحح ملف M).

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

قم بتوسيع قائمة "ملف" في نافذة MatLab الرئيسية وفي العنصر الجديد، حدد العنصر الفرعي M-file. يتم فتح ملف جديد في نافذة المحرر م-الملفات (الشكل 10). دعنا نكتب إلى ملف برنامجًا لحساب الوسط الحسابي

المتغير a وb ثم احفظه بالاسم fun1.m. قارن بين طرق حل المشكلة الموضحة في الجدول.

جامعة تامبوف التقنية الحكومية


قسم

"عمليات المعلومات وإدارتها"

التطوير المنهجي

للدرس المختبري رقم 1

في تخصص "نظرية اتخاذ القرار"

اسم الانضباط

اسم الموضوع

موضوع:دراسة طرق التحسين أحادية البعد

الهدف من العمل:

دراسة طرق التحسين أحادية البعد وطرق تنفيذها الخوارزمي في بيئة نظام أتمتة متكامل متعدد الوظائف للحسابات الرياضية والعلمية والتقنية MATLAB 7.1؛

تقييم مقارن لمقدار التكاليف الحسابية لطرق: المسح المباشر، الانقسام، “القسم الذهبي” وطريقة فيبوناتشي.

الأدب:

1. أوكي م. مقدمة لأساليب التحسين. م: ناوكا، 1977. 444 ص.

2. باتيشيف د. طرق التصميم الأمثل. م.: «الإذاعة والاتصالات»، 1984. ص 248.

3. بودروف في. آي.، لازاريفا تي.يا.، مارتيميانوف يو.إف. الطرق الرياضية لاتخاذ القرار: كتاب مدرسي. مخصص. تامبوف: دار تامب للنشر. ولاية أولئك. جامعة.، 2004. 124 ص.

4. بولاك إي. طرق التحسين العددي. م: مير، 1997. 376 ص.

5. هيملبلاو د. البرمجة غير الخطية التطبيقية. م: مير، 1975. 534 ص.

6. يودين دي.بي. الطرق الحسابية لنظرية القرار. م: ناوكا، 1989. 316 ص.

7. Ketkov Yu.، Ketkov A. Yu.، Shultz M. M. MATLAB 7: البرمجة، الطرق العددية. - سانت بطرسبرغ: BHV-بطرسبرغ، 2005. - 752 ص.

من خلال إجراء الدرس

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

المواد النظرية التي تم على أساسها تنفيذ النمذجة، وكذلك جوهر العمليات الفيزيائية التي تمت صياغتها في البرامج؛

الطرق الأساسية لنمذجة العمليات ذات الصلة؛

تحديد وتقييم تأثير المعلمات الرئيسية على نتيجة النمذجة؛

تحليل وتلخيص النتائج التي تم الحصول عليها.

يتضمن إكمال العمل المخبري ثلاث مراحل: الإعداد الأولي للدرس المخبري، والدرس نفسه، وإعداد التقارير عن الدرس المخبري.

يهدف الدرس إلى إظهار العلاقة بين المادة النظرية والتطبيق العملي وتعليم الطلاب كيفية تطبيق النظرية في حل المشكلات العملية.

تم تنظيم العمل المخبري بطريقة لا تفترض معرفة الطلاب ببرنامج MATLAB. يبدأ كل مختبر بملخص MATLAB الذي يزود الطالب بالمعلومات الأساسية اللازمة لإكمال النشاط.

التحضير للفصل

في عشية الفصل، يجب على الطلاب:

اقرأ دليل هذا المختبر؛

كرر مادة المحاضرة وادرس الأدبيات المقترحة حول هذا الموضوع؛

دراسة إجراءات أداء العمل؛

الاستعداد للإجابة على الأسئلة الأمنية.

إجراءات الدرس

في الجزء التمهيدي من الدرس، يتم استقبال مجموعة الدراسة، ويتم الاتصال بالمواد التي تمت دراستها مسبقًا، ويتم الإعلان عن موضوع هذا الدرس والغرض منه وترتيبه وميزاته، والتحقق من استعداد مجموعة الدراسة للدرس.

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

تقرير الدرس

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

وصف موجز لبرنامج MATLAB

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

رسم بياني 1. سطح مكتب النظام

يوضح الشكل 1 سطح مكتب النظام. يشبه شريط القائمة (ملف، تحرير، وما إلى ذلك) في العديد من النواحي شريط القوائم الموجود في محرر Microsoft Word. يؤدي صف الرموز الموجود أدناه أيضًا نفس العمليات كما في محرر Word (باستثناء آخر 3). يتكون سطح مكتب النظام من عدة نوافذ يمكن تغيير تكوينها باستخدام أوامر القائمة سطح المكتب.يوضح الشكل 1 في النافذة العلوية على اليسار محتويات مساحة العمل مساحة العملوالذي يحتوي على وصف لجميع الثوابت والوظائف التي أدخلها المستخدم أثناء التشغيل. في النافذة السفلى تاريخ الأوامريتم إعطاء تسلسل الأوامر المنفذة. يتم ضبط أحجام النوافذ عن طريق سحب الحدود بالماوس. نافذة سطح المكتب الرئيسية - نافذة الأوامر(نافذة الأوامر). في نافذة الأوامر، بعد علامة ">>"، يتم كتابة سطر الأوامر، والذي يتم تنفيذه بعد الضغط على المفتاح " يدخل".

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

يتم ضبط تنسيق الأرقام من خلال القائمة ملف(الشكل 1) في القسم التفضيلاتباستخدام الوظيفة التنسيق الرقمي.الأكثر استخدامًا من بين التنسيقات الـ 12 الممكنة هي قصيرو طويل- تنسيقات الأرقام القصيرة والطويلة.

بعض المفاهيم الأساسية لـ MATLAB هي المتغيرات و صياغات .

عامليُشار إليه بحرف واحد أو مجموعة حروف وأرقام تبدأ بحرف. يجب ألا يتجاوز إجمالي عدد الحروف والأرقام في المجموعة تسعة عشر. إفادة لديه النموذج التالي:

>>متغير=تعبير

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

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

الجدول 1.1

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

>> x=log(1+5*((log10(100))^2-0.2*pi)/sqrt(1+2.71828^3))

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

>> أ=(log10(100))^2;

>> ب=sqrt(1+2.71828^3);

>> س=سجل(1+5*(أ-0.2*بي)/ب)

يحتوي MATLAB على العديد من المتغيرات المضمنة: بي، العائد على السهم، الوقود النووي المشع، طو ي.عامل باييرمز إلى الرقم، eps=2 -52 =2.2204*10 -16 – خطأ في العمليات على أرقام الفاصلة العائمة، الوقود النووي المشع- ما لا نهاية ( )، أناو ي– الوحدة التخيلية ( أنا = ي= ).

عندما لا يتم تحديد الوسيطة اليسرى، يتم تعيين نتيجة التعبير إلى المتغير المشترك ans.

يتم استخدام العوامل العلائقية (الجدول 1.2) في العبارات الشرطية، ومشغلات الحلقة، وما إلى ذلك. عند تنفيذ خوارزميات البحث باستخدام الوظائف M (تتم كتابة الوظائف الفرعية في ملفات ذات الامتداد .m).

الجدول 1.2

لذا فإن البرامج الموجودة في نظام MATLAB هي ملفات M ذات تنسيق نصي تحتوي على سجل البرامج على شكل أكواد البرنامج.

تحتوي لغة الإدخال MATLAB على 9 عوامل تشغيل فقط تستخدم 14 كلمة وظيفية. وترد الهياكل النحوية المقابلة في الجدول. 1.3.

الجدول 1.3

تنسيق المشغل توضيح
فار = اكسبر مهمة تشغيل. يحسب قيم التعبير expr ويخزن نتائج العمليات الحسابية في متغير فار
ifcondition_1 عبارات_1 النهاية العامل الشرطي. إذا كان condition_1 صحيحًا، فسيتم تنفيذ عوامل المجموعة_1، إذا كان condition_2 صحيحًا، فسيتم تنفيذ عوامل المجموعة_2، ... إذا كانت جميع الشروط المحددة خاطئة، فسيتم تنفيذ العوامل الموجودة بين else وend
Switchexpr casevail Operators_1 caseval2 Operators_2 . . . . . . . . . [بيانات أخرى] تنتهي التبديل حسب قيمة التعبير expr. إذا تطابقت مع القيمة vail، فسيتم تنفيذ عامل المجموعة_1، وإذا تطابقت مع القيمة val2، فسيتم تنفيذ عامل المجموعة_2، ... إذا كانت القيمة expr لا تتطابق مع أي من القيم المدرجة، فإن العوامل الموجودة بين يتم تنفيذ Othervise و end
forvar=el:e3 البيانات النهائية دورة من نوع التقدم الحسابي، يتغير فيها المتغير var، مع كل تكرار لجسم الحلقة، من القيمة الأولية el مع الخطوة e2 إلى القيمة النهائية e3
بينما تنتهي عبارات الشرط حلقة بشرط مسبق تتكرر حتى يتحقق الشرط المحدد
حاول التصريحات_1 قبض على العبارات 2 نهاية محاولة تنفيذ مجموعة Operators_1. في حالة حدوث استثناء نتيجة لتنفيذها، يتم نقل التحكم إلى مشغلي المجموعة_2 (التعامل مع حالات الفشل). إذا لم يحدث أي خطأ، فلن يتم تنفيذ عامل المجموعة_2
استراحة الخروج المبكر من هياكل التحكم مثل، بينما، التبديل، حاول التقاط
الدالة f1 الدالة f2 (x1,x2,..) الدالة y=f3(xl,x2,...) الدالة =f4(xl,x2,..) رأس الوظيفة (xl، x2، ... - معلمات الإدخال؛ y، yl، y2، ... - معلمات الإخراج)
يعود الخروج من الجسم الوظيفي في وقت مبكر

عند كتابة البرامج الوظيفية، يجب أن يتطابق اسم الملف M الذي تم تخزين البرنامج فيه بالضرورة مع اسم الوظيفة.

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

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

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

الاستخدام

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

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

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

مميزات اللغة

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

عيوب:

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

    مركز بشكل دقيق. لا توجد منصة برمجية أخرى يكون فيها MATLAB مفيدًا.

    ارتفاع تكلفة البرمجيات. إذا لم تكن طالبًا، فإما أن تستعد لإفراغ جيوبك أو تجاوز حدود القانون. وحتى لو طالب فالسعر مناسب.

    انخفاض الطلب. على الرغم من الاهتمام الكبير ببرنامج MATLAB في كل المجالات تقريبًا، إلا أن القليل منهم فقط يستخدمونه فعليًا وقانونيًا.

مزايا:

    اللغة سهلة التعلم ولها بناء جملة بسيط ومفهوم.

    فرص ضخمة. لكن هذه ميزة للمنتج ككل.

    التحديثات المتكررة، وعادة ما تحدث التحولات الإيجابية الملحوظة على الأقل عدة مرات في السنة.

    تسمح لك بيئة البرنامج بتحويله إلى كود "سريع" في C وC++.

الجمهور المستهدف

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

أي، إذا لم تكن مبرمجًا كثيرًا، ولكن مهنتك مرتبطة بطريقة أو بأخرى بالحاجة إلى معالجة البيانات البرمجية، فإن منتج MATLAB/Simulink مع اللغة المناسبة يمكن أن يبسط مهامك اليومية إلى حد كبير.

الأدب

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

هل لديك خبرة مع MATLAB؟ وأيها؟

بالنسبة لأولئك الذين يريدون أن يصبحوا مبرمجين - .

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


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

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

سوف يقوم Matlab بحل المعادلة وتقريبها وإنشاء رسم بياني للدالة. هل تفهمون ماذا يعني هذا أيها الأصدقاء؟

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

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

بالإضافة إلى كل هذا، تتيح لك إمكانيات MATLAB تصور البيانات، بما في ذلك إنشاء رسوم بيانية ثلاثية الأبعاد وإنشاء مقاطع فيديو متحركة.

وصفنا لماتلاب، بالطبع، بعيد عن الاكتمال. بالإضافة إلى الإمكانيات والوظائف التي توفرها الشركة المصنعة، هناك عدد كبير من أدوات Matlab المكتوبة ببساطة بواسطة المتحمسين أو الشركات الأخرى.

MATLAB كلغة برمجة


وهي أيضًا لغة برمجة تستخدم مباشرة عند العمل مع البرنامج. لن ندخل في التفاصيل، دعنا نقول فقط أن البرامج المكتوبة في MATLAB تأتي في نوعين: الوظائف والبرامج النصية.


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

يتم تقسيم ملفات M إلى

  • سيناريوهات M. البرنامج النصي M هو أبسط نوع من ملفات M ولا يحتوي على وسيطات إدخال أو إخراج. يُستخدم هذا الملف لأتمتة العمليات الحسابية المتكررة.
  • وظائف M. وظائف M هي ملفات M التي تقبل وسيطات الإدخال والإخراج.

لكي نوضح بوضوح كيفية حدوث العمل في MATLAB، نعطي أدناه مثالاً لإنشاء دالة في Matlab. ستقوم هذه الوظيفة بحساب متوسط ​​قيمة المتجه.
F الدالة ص = المتوسط(س)
% المتوسط ​​متوسط ​​قيمة العناصر المتجهة.
% AVERAGE(X)، حيث X متجه. حساب متوسط ​​عناصر المتجه.
% إذا لم تكن وسيطة الإدخال متجهًا، فسيتم إنشاء خطأ.
= الحجم (س)؛
إذا (~((م == 1) | (ن == 1)) | (م == 1 & ن == 1))
خطأ ("يجب أن تكون صفيف الإدخال متجهًا")
نهاية
ص = مجموع(س)/الطول(س); % الحساب الفعلي

يخبر سطر تعريف الوظيفة MATLAB أن الملف عبارة عن دالة M ويحدد أيضًا قائمة وسائط الإدخال. وبالتالي، يبدو خط التعريف للدالة المتوسطة كما يلي:
الدالة ص = المتوسط(س)
أين:

  1. وظيفة - الكلمة الأساسية التي تحدد الدالة M؛
  2. y - وسيطة الإخراج؛
  3. متوسط ​​- اسم الوظيفة؛
  4. x هي وسيطة الإدخال.

لذا، لكتابة دالة في Matlab، عليك أن تتذكر أن كل دالة في نظام MATLAB تحتوي على سطر تعريف دالة مشابه لما هو موضح أدناه.

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

عيوب العمل مع MATLAB


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

حتى لو أردنا ذلك، لا يمكننا أن نقول أن MATLAB كذلكبرنامج بسيط. ومع ذلك، فإننا نأمل أن يكون كل ما سبق حجة كافية للمضي في تطويره.

وأخيرا. إذا كنت لا تعرف لماذا سار كل شيء في حياتك بهذه الطريقة وليس غير ذلك، فاسأل ماتلاب عن ذلك. فقط اكتب "لماذا" في سطر الأوامر. سوف يجيب. جربها!

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

المحاضرة 3. البرمجة في MATLAB.

1. ملفات M. .................................................. ...... ........................................................... ........................................................... .........

1.1. العمل في المحررملفات M. .................................................. ...... ........................................................... ............ ...

1.2. أنواع ملفات M. برامج الملفات. .................................................. ...... ........................................................... ...

1.3. وظائف الملف. .................................................. ...... ........................................................... ...........................................................

وظائف الملف مع وسيطة إدخال واحدة.......................................................................................

وظائف الملف مع وسائط الإدخال المتعددة........................................................................

وظائف الملف مع وسائط الإخراج المتعددة.....................................................................

1.4. الوظائف الفرعية. .................................................. ...... ........................................................... .......................... ...................................

2. التحكم في بنيات لغة البرمجة....................................................................

2.1. مشغلي الحلقة..............................................................................................................................

الحلقة for. .................................................. ...... ........................................................... ........................................................... ......

حائط اللوب. .................................................. ...... ........................................................... ...........................................................

2.2. مشغلي الفروع....................................................................................................................

العامل الشرطيلو . .................................................. ...... ........................................................... .......................... ....................

بيان التبديل. .................................................. ...... ........................................................... ..........................................................

2.3. كسر، متابعة والعودة البيانات. .................................................. ...... ....................................

2.4. حول تقنيات البرمجة العقلانية في MATLAB........................................................

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

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

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

1. ملفات M.

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

إن حفظ متغيرات بيئة العمل أو الاحتفاظ بمذكرات باستخدام المذكرات أمر لا يكاد يذكر

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

1.1. العمل في محرر ملف M.

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

يوضح الشكل 1 نافذة المحرر/مصحح الأخطاء. يمكن كتابة نص الملف المجهز (هذا هو أبسط وأول برنامج لدينا في لغة برمجة MATLAB) على القرص. للقيام بذلك، استخدم الأمر Save As، الذي يستخدم نافذة Windows القياسية لكتابة ملف باسم معين. تجدر الإشارة إلى أن اسم الملف M يجب أن يكون فريدًا، وأن متطلبات اسم الملف هي نفسها الخاصة بأسماء متغيرات بيئة MATLAB. بعد كتابة الملف على القرص، يمكنك تشغيل الأمر "تشغيل" على شريط الأدوات أو قائمة التصحيح، أو ببساطة النقر فوقه .، من أجل تنفيذ ملف m.

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

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

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

ميزة مريحة للغاية لمحرر M-file هي تنفيذ بعض الأوامر.للقيام بذلك، استخدم أمر تقييم التحديد من قائمة السياق أو نص القائمة الرئيسية، أو ببساطة مفتاح الوظيفة والتي تسمح لك بتنفيذ نص البرنامج المحدد.

أرز. 1. نافذة محرر ملف M.

1.2. أنواع ملفات M. برامج الملفات.

هناك نوعان من ملفات M في MATLAB: ملفات M النصية، التي تحتوي على سلسلة من الأوامر، وملفات M الوظيفية، التي تصف الوظائف المحددة من قبل المستخدم.

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

هناك طريقتان لتشغيل برنامج الملفات.

1. من محرر ملف M كما هو موضح أعلاه.

2. من سطر الأوامر أو غيرهملف البرنامج، حيث يتم استخدام اسم الملف M (بدون امتداد) كأمر. يعد استخدام الطريقة الثانية أكثر ملاءمة، خاصة إذا كان برنامج الملف الذي تم إنشاؤه سيتم استخدامه بشكل متكرر في المستقبل. يصبح ملف M الفعلي الذي تم إنشاؤه أمرًا يفهمه MATLAB.

أغلق جميع النوافذ الرسومية واكتب mydemo في سطر الأوامر، وستظهر نافذة رسومية تتوافق مع أوامر ملف برنامج mydemo.m. بعد إدخال أمر mydemo، يقوم MATLAB بتنفيذ الإجراءات التالية.

1. يتحقق مما إذا كان الأمر الذي تم إدخاله هو اسمأي من المتغيرات المحددة

الخامس بيئة العمل. إذا تم إدخال متغير، يتم عرض قيمته.

2. إذا لم يكن الإدخال متغيرًا، فسيبحث MATLAB عن الأمر المُدخل بين الوظائف المضمنة. إذا تبين أن الأمر عبارة عن وظيفة مضمنة، فسيتم تنفيذه.

3. إذا لم يكن الإدخال متغيرًا أو دالة مضمنة، فسيبدأ MATLAB في البحثملف M باسم الفريق والامتداد m. يبدأ البحث ب الدليل الحالي(الدليل الحالي)؛ إذا لم يتم العثور على ملف M فيه، فإن MATLAB يبحث في الدلائل المحددة في مسار البحث (المسار). (لتعيين الدليل الحالي، يمكنك استخدام نافذة التحديد التي تحمل نفس الاسم على شريط الأدوات أو الأمر cd. ويتم تحديد مسارات البحث باستخدام

باستخدام أمر Set Path من أمر قائمة File أو باستخدام أمر addpath).

إذا لم تؤد أي من الإجراءات المذكورة أعلاه إلى النجاح، فسيتم عرض رسالة في نافذة الأوامر، على سبيل المثال، في حالة حدوث خطأ.

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

ثانيًا، يجب ألا يبدأ اسم الملف برقم أو علامات "+" أو "-" أو أي أحرف يمكن تفسيرها بواسطة MATLAB على أنها خطأ عند إدخال تعبير. على سبيل المثال، إذا قمت بتسمية ملف M باستخدام ملف برنامج 5prog.m، فعند تشغيله من قائمة المحرر أو من خلال سوف تتلقى رسالة خطأ. هذا ليس مفاجئًا، حيث أن MATLAB يتوقع منك استخدام 5 + prog (أو 5، prog) لتقييم تعبير حسابي باستخدام المتغير prog (أو إضافة 5 كعنصر أول إلى prog المتجه للصف). ولذلك، فإن الاسم الصحيح سيكون prog5.m (أو على الأقل p5rog.m)، ولكن يبدأ بحرف فقط.

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

هناك خطأ آخر شائع جدًا عند تحديد اسم برنامج الملفات، والذي قد يكون له للوهلة الأولى عواقب لا يمكن تفسيرها: يتم تشغيل البرنامج مرة واحدة فقط. تشغيله مرة أخرى لا يؤدي إلى تنفيذ البرنامج. دعونا نلقي نظرة على هذا الموقف باستخدام مثال برنامج الملفات من القائمة 5.1، والذي قمت بحفظه في الملف mydemo.m. أعد تسمية الملف إلى x.m، ثم احذف كافة متغيرات مساحة العمل من نافذة Workspace Variable Browser أو من سطر الأوامر:

>> مسح الكل

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

1.3. وظائف الملف.

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

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

وظائف الملف مع وسيطة إدخال واحدة.

لنفترض أنك تحتاج غالبًا إلى استخدام قيمة دالة في العمليات الحسابية:

- س س 2

من المنطقي كتابة دالة ملف مرة واحدة، ثم استدعائها أينما كان من الضروري حساب هذه الوظيفة لوسيطة معينة. للقيام بذلك، تحتاج إلى فتح ملف جديد في محرر M-file واكتب النص:

الدالة و = myfun(x)

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

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

أنت الآن بحاجة إلى حفظ الملف في دليل العمل الخاص بك أو في أي موقع آخر معروف لـ MATLAB. عند تحديد حفظ أو حفظ باسم... من القائمة "ملف"، يتم افتراضيًا اقتراح اسم ملف يطابق اسم وظيفة myfun. يجب عليك حفظ ملف الوظيفة بهذا الاسم المقترح. الآن يمكن استخدام الدالة التي تم إنشاؤها بنفس طريقة استخدام الدالة sin وcos وغيرها، على سبيل المثال، من سطر الأوامر:

>> ص=myfun(1.3) ص =

عندما أنشأنا وظيفة ملف myfun، قمنا بمنع طباعة قيمة f في نافذة الأوامر عن طريق إنهاء بيان المهمة بفاصلة منقوطة. إذا لم يتم ذلك، فسيتم عرضه عند الاتصال بـ y=myfun(1.3) . كقاعدة عامة، من الأفضل تجنب طباعة نتائج الحسابات الوسيطة داخل دالة ملف في نافذة الأوامر.

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

>>س=;

>> ص=myfun(x)

??? خطأ في استخدام ==> ^ يجب أن تكون المصفوفة مربعة.

خطأ في ==> C:\MATLAB6p5\work\myfun.m

في السطر 2 ==> f = exp(-x)*sqrt((x^2 + 1)/(x^4 + 0.1));

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

الدالة و = myfun(x)

f = exp(-x).*sqrt((x.^2 + 1)./(x.^4 + 0.1));

الآن يمكن أن تكون وسيطة الدالة myfun إما رقمًا أو متجهًا أو مصفوفة للقيم، على سبيل المثال:

>>س=;

>> ص=myfun(x)

المتغير y، الذي يخزن نتيجة استدعاء الدالة myfun، يصبح تلقائيًا متجهًا بالحجم المطلوب.

دعونا نلقي نظرة على مثال لاستخدام الوظائف. نرسم الدالة myfun على مقطع باستخدام برنامج ملفات أو من سطر الأوامر:

>> س=0:0.5:4;

>> ص=myfun(x);

>> مؤامرة (س، ص)

سيتطلب حل المشكلات الحسابية باستخدام MATLAB أن تكون قادرًا على برمجة وظائف الملف المناسبة للمهمة التي بين يديك (على سبيل المثال، الجانب الأيمن من نظام المعادلات التفاضلية أو التكامل).

سنلقي نظرة الآن على مثال واحد بسيط لكيفية استخدام وظائف الملف مما يسهل تصور الوظائف الرياضية. لقد قمنا للتو برسم رسم بياني باستخدام المؤامرة. لاحظ أنه لم يكن عليك الاتصال بـ myfun لحساب المتجه y - حيث يمكنك كتابة تعبير له على الفور ثم تحديد parx و y في الرسم. تتيح لنا وظيفة الملف myfun الوصول إلى الوظيفة الخاصة fplot، والتي تتطلب تحديد اسم وظيفة الملف (بالفواصل العليا) أو مؤشر إليها (مع وجود عامل التشغيل @ أمام اسم الوظيفة) وحدود الجزء المخصص للتخطيط (في ناقل مكون من عنصرين)

>> fplot("myfun"،)

>> فبلوت (@myfun،)

يجب إضافة خوارزمية للدالة fplot تقوم تلقائيًا بتحديد خطوة الوسيطة، مما يقللها في مناطق التغير السريع في الوظيفة قيد الدراسة، مما يمنح المستخدم عرضًا جيدًا للبيانات.

وظائف الملف مع وسائط الإدخال المتعددة.

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

مسافة × 2 + ص 2 + ض 2 .

الدالة r = radius3(x,y,z) r = sqrt(x.^2 + y.^2 + z.^2);

>> R = نصف القطر3(1، 1، 1)

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

وظائف الملف مع وسائط الإخراج المتعددة.

تعد وظائف الملفات ذات وسيطات الإخراج المتعددة مفيدة لتقييم الوظائف التي تُرجع قيمًا متعددة (تسمى وظائف المتجهات في الرياضيات). يتم إلحاق وسيطات الإخراج بقائمة وسيطات الإخراج، مفصولة بفواصل، ويتم وضع القائمة نفسها بين قوسين مربعين. يوفر المثال التالي وظيفة ملف hms لتحويل الوقت المحدد بالثواني إلى الساعات والدقائق والثواني:

الوظيفة = hms(sec) ساعة = Floor(sec/3600);

عند استدعاء وظائف ملف باستخدام وسائط إخراج متعددة، يجب كتابة النتيجة إلى متجه بطول مناسب:

>> = همز (10000) ح =

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

>> hms(10000) الجواب =

إذا كانت قائمة وسائط الإخراج فارغة، أي أن الرأس يبدو كالتالي: function myfun(a, b) أو function = myfun(a, b) ,

ثم لن تقوم وظيفة الملف بإرجاع أي قيم. أحيانًا تكون هذه الوظائف مفيدة أيضًا.

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

الدالة = همس (ثانية) %hms - تحويل الثواني إلى ساعات ودقائق وثواني

% الدالة hms مخصصة لتحويل الثواني

% إلى ساعات ودقائق وثواني.

% = همس (ثانية)

الساعة = الطابق (ثانية/3600)؛

دقيقة = أرضية((ثانية - ساعة*3600)/60); الثانية = ثانية - ساعة*3600 - دقيقة*60;

1.4. الوظائف الفرعية.

دعونا نفكر في نوع آخر من الوظائف - الوظائف الفرعية. يعتمد استخدام الوظائف الفرعية على فصل جزء من الخوارزمية إلى وظيفة مستقلة، يرد نصها في نفس الملف مثل الوظيفة الرئيسية. دعونا ننظر إلى هذا مع مثال.

وظيفة بسيطة.

% الوظيفة الرئيسية أ = 2*pi;

فلوريدا = f(1.1, 2.1) f2 = f(3.1, 4.2)-أ f3 = f(-2.8, 0.7)+أ

الوظيفة z = f(x, y)% الوظيفة الفرعية

ض = x^3 - 2*y^3 - x*y + 9;

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

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

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

2. التحكم في بنيات لغة البرمجة.

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

2.1. مشغلي الحلقة.

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

الحلقة for.

استخدام for هو كما يلي:

للعد = البداية: الخطوة: النهائية

أوامر ماتلاب

هنا count هو متغير الحلقة، start هي قيمته الأولية، Final هي القيمة النهائية، astep هي الخطوة التي يتم من خلالها زيادة العدد في كل مرة يتم فيها إدخال الحلقة. تنتهي الحلقة بمجرد أن تصبح قيمة العد أكبر من القيمة النهائية. يمكن لمتغير الحلقة أن يأخذ ليس فقط القيم الصحيحة، ولكن أيضًا القيم الحقيقية لأي علامة. فيما يلي مثال على استخدام الحلقة for. لنفترض أنك تريد عرض الرسوم البيانية لعائلة منحنيات لـ x، والتي

محددة بواسطة الدالة y (x,a)= e − ax sinx، اعتمادًا على المعلمةa، لقيم المعلمات من -0.1 إلى

0.1 بزيادات قدرها 0.02. يمكنك، بالطبع، حساب y(x, a) بالتتابع وإنشاء الرسوم البيانية الخاصة به لقيم مختلفة، ولكن من الملائم أكثر استخدام حلقة for. نص ملف البرنامج:

الشكل % ينشئ نافذة رسومات

س = 0:بي/30:2*بي؛ % يحسب متجه قيم الوسيطات

% التكرار من خلال قيم المعلماتل = -0.1:0.02:0.1

% حساب متجه القيم الوظيفية للقيمة الحالية...

معامل

y = exp(-a*x).*sin(x); % إضافة تعليق على الرسم البياني للوظيفة

نهاية المؤامرة (x، y).

نتيجة لتنفيذ برنامج الملفات هذا، ستظهر نافذة رسومية، كما هو موضح في الشكل. 2، والذي يحتوي على عائلة المنحنيات المطلوبة.

أرز. 2. عائلة المنحنيات.

يمكن أن تكون حلقات for متداخلة داخل بعضها البعض، ولكن يجب أن تكون متغيرات الحلقات المتداخلة مختلفة. الحلقات المتداخلة مفيدة لملء المصفوفات. مثال لإنشاء مصفوفة هيلبرت:

أ = الأصفار (ن)؛ لأني = 1: ن

ل ي = 1:ن

أ(i, j) = 1/(i+j-1);

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

للعد = أ

أوامر ماتلاب

إذا كان A متجه صف، فإن العد يأخذ قيمة عناصره بشكل تسلسلي في كل مرة يدخل فيها إلى الحلقة. في حالة المصفوفة ثنائية الأبعاد A، في الخطوة i من الحلقة، يحتوي count على العمود A(:,i) . بالطبع، إذا كان A متجه عمود، فسيتم تنفيذ الحلقة مرة واحدة فقط بقيمة عددية A.

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

حائط اللوب.

يتم استخدام حلقة while لتنظيم التكرارات لنفس النوع من الإجراءات في الحالة التي يكون فيها عدد التكرارات غير معروف مسبقًا ويتم تحديده من خلال استيفاء بعض الشروط. لنفكر في مثال لتوسيع سلسلة sin(x):

× 2 ك + 1

ق (س )= ∑ (− 1)

(2ك+1) !

ك = 0

بالطبع، لن يكون من الممكن إضافة ما لا نهاية، ولكن يمكنك تجميع المبلغ بدقة معينة، على سبيل المثال، 10-10. من الواضح أن عدد حدود السلسلة في هذه الحالة غير معروف، لذا فإن استخدام العامل for أمر مستحيل. الحل هو استخدام حلقة while، والتي تعمل طالما أن شرط الحلقة مستوفي:

أثناء تكرار حالة الحلقة

أوامر ماتلاب

في في هذا المثال، شرط تكرار الدورة هو أن يكون معامل الحد الحالي

× 2 ك + 1 (2 ك + 1) ! أكثر من 10-10. نص دالة ملف mysin التي تحسب مجموع السلسلة بناءً على ذلك

علاقة تكرارية:

ك - 1

2ك (2ك + 1)

وظيفة ق = ميسين (خ)

% حساب الجيب عن طريق توسيع السلسلة

% الاستعمال: ص = ميسين (خ)،-باي< х < pi

% حساب الحد الأول لمجموع k = Oك = 0؛

% حساب المتغير المساعد

بينما القيمة المطلقة (u) > 1.0e-10 k = k + 1;

u = -u* x2/(2*k)/(2*k + 1); ق = ق + ش؛