برنامه نویسی با متلب را با این پست شروع کنید : تفاوت function و script در متلب

برنامه نویسی با متلب را با این پست شروع کنید : تفاوت function و script در متلب

در این پست میخواهیم در مورد تفاوت function و script در متلب صحبت کنیم. همچنین میخواهیم اولین قدم را در برنامه نویسی با متلب برداریم.

در جلسات قبل با آموزش نصب متلب ۲۰۱۷ و آشنایی با محیط متلب درخدمتتان بودیم.

تفاوت function و script در متلب

تمام فایلهای کدنویسی در متلب با پسوند .m ذخیره میشوند و به m فایل مشهورند. کدنویسی در درون m فایلها با دور روش انجام میپذیرد:

  1. script
  2. function

script اصلیترین نوع برنامه نویسی در متلب است. به این شکل که شما کدهای اصلی خودتان را داخل یک m فایل مینویسید و بعد از اجرای برنامتان، آن کدها اجرا میشوند.

اما گاهی ممکن است که برنامه شما از بخشهای متعددی تشکیل شود. بعنوان مثال یک برنامه ی ساده را در نظر بگیرید. برنامه ای که تعدادی متغیر از ورودی دریافت میکند. در مرحله ی بعد آنها را باهم جمع میکند. در مراحل بعدی، بترتیب آنها را در هم ضرب، تقسیم و تفریق میکند. در مرحله نیز با نوشتن کدهای گوناگونی، اطلاعات را به صورت نمودار و متن به کاربر نمایش میدهید.

خب این برنامه به علت اینکه از چندین بخش تشکیل شده است بسیار حجیم میباشد. راه مناسبتر برای اینکه بخواهیم برنامه را از این حالت خارج کنیم استفاده از function است. function کمک میکند که شما هر بخش از برنامه را داخل یک m فایل جدا بنویسید. و در نهایت نیز آنها را داخل m فایل اصلی که همان script شماست فراخوانی کنید.

حتما بخوانید:  دانلود متلب 2019 - دانلود متلب r2019a

در این حالت فهم برنامه، هم برای کسانی که برای اولین بار با آن رو به رو میشوند و هم برای خودتان، وقتی که بعداز مدتها آن را دوباره میخوانید، ساده تر خواهد شد.

دومین تفاوت function و script در متلب

دومین تفاوت تفاوت function و script در متلب این است که در برنامه نویسی به صورت Script متغیرهایی که تعریف میکنیم در اصطلاح بعنوان متغیرهای GLOBAL یا سراسری یا عمومی تعریف میشوند. اما در کدنویسی به صورت FUNCTION ، متغیرها به صورت LOCAL یا محلی هستند.

تفاوت متغیرهای Global و Local

حال ببینیم متغیرهای GLOBAL و LOCAL چه تفاوتی با هم دارند. متغیرهای GLOBAL ، متغیرهایی هستند که وقتی آنها را تعریف میکنیم در WORKSPACE ذخیره میشوند و میتوان از آنها در COMMAND WINDOW و تمام SCRIPT ها استفاده کرد. یعنی کاملاً به صورت عمومی عمل می کنند.

متغیرهای LOCAL متغیرهایی هستد که وقتی تعریف میشوند، در WORKSPACE ذخیره نمیشوند و فقط در محیط همان FUNCTION معتبر هستند.

اگر فکر میکنید که شاید متوجه نشده باشید، اصلا نگران نشوید. کمی جلوتر با یکی دوتا مثال کامل موضوع برایتان روشن خواهد شد.

اولین گام برای نوشتن یک برنامه: Script

برای شروع در صفحه ی اصلی برنامه روی گزینه ی NEW SCRIPT کلیک کنید. یک پنجره ی جدید باز میشود به نام EDITOR. این فضایی هست که داخلش کدنویسی میکنیم. البته برای نوشتن FUNCTION هم از همین پنجره استفاده میکنیم که جلوتر خدمتتان توضیح خواهیم داد.

حتما بخوانید:  دستور find در متلب

NEW SCRIPT

دو دستور خیلی مهم : clc و clear

دو دستور مهمی که میشه گفت همیشه باید اول SCRIPTهاتون وارد کنین CLC و CLEAR هستند.

دستورات clc , clear

دستورات clc , clear

clc

دستوره CLC تمامه چیزهایی که داخل COMMAND WINDOW هست را پاک میکند و فضای آن را برای نشان دادن خروجی های SCRIPT آماده میکند.

clear

دستور بعدی نیز CLEAR است. کار این دستور این است که تمام متغیرهای سراسری که در WORKSPACE هستند را پاک کند. اینکار برای این انجام میشود که ممکن است متغیرهایی که از قبل در WORKSPACE بودند روی  SCRIPTی که الان در حال نوشتنش هستیم اثر گذار باشند.

اجرای برنامه با فشردن کلید F5

در ادامه ی این دو دستور سایر کدهای برنامه را مینویسیم. وقتی کدها را نوشتیم و تمام شد نوبت به اجرای آنها میرسد. برای اجرا کلید F5 را از کیبورد میزنیم. این کلید دو کار انجام میدهد. اول اینکه از شما میخواهد M-فایل را ذخیره کنید. وقتی کد ذخیره شد، بلافاصله اجرا میشود و خروجی آن در COMMAND WINDOW نمایش میدهد.

البته همین کار را نیز میتوانید با فشردن کلید Run از تب Editor که در نوار بالای برنامه قرار دارد نیز انجام دهید.

run button in matlab

نکته ی خیلی مهمی که باید به خاطر بسپارید این است که مسیر ذخیره سازی آن فایل با مسیر جاری که در درس قبلی توضیح دادیم یکی باشد. در صورتیکه مسیری که در حال ذخیره سازی برنامه در آن هستید با مسیر جاری یکسان نباشد، بصورت پیشفرض متلب پیفامی میدهد که مسیر جاری به مسیر ذخیره سازی برنامه منتقل و برنامه اجرا شود.

حتما بخوانید:  آشنایی با محیط متلب 2017

۱۴ دیدگاه در “برنامه نویسی با متلب را با این پست شروع کنید : تفاوت function و script در متلب

  • سلام.میخواستم بدونم الان داخل help متلب بهینه سازی هارو برحسب x وy نوشته ولی من که میخوام واردر کنم function ام به صورت ضرایب ماتریسی هست / حالا وقتی run میکنم میگه شناخته نشده

  • سلام.چطور میشه متغییر ها را در تابع gui سراسری کرد.مثلا از یک تابع مقدار xرا بدست آوردم ومیخانم از از x بدست آمده در تابع های دیگه استفاده کرد.

    • عرض سلام و خسته نباشید
      در مورد دستور NFE سرچ کنید
      البته میتونید توی خروجی هاتون همون x رو بیارید که همه جا بتونید ازش استفاده کنید.
      موفق و پیروز باشید

  • سلام
    میشه یک mفایل درست کرد بعد توی یک mفایل دیگه فراخوانیش کرد؟
    مثلا یک متغیر رو در یک mفایل تعریف کرد و توی یه mفایل دیگه ازش استفاده کنیم؟

    • سلام عرض شد
      وقتتون بخیر
      بله میشه. ابتدا باید m‌فایل اول رو اجرا کنید. متغیرها ذخیره بشن. برای اینکار میتونین از دستور save استفاده کنین. بعدش در m‌فایل بعدی با استفاده از دستور load اون فایلی که متغیرها داخلش بودن رو فراخوانی کنید و ازشون استفاده کنید.

  • سلام ممنون از سایت خوبتون
    من یک کد نوشتم که یک سری اطلاعات از کاربر به صورت رابط گرافیکی GUI دریافت میکنه و پردازش می کند یک شکل نمایش می دهد و خروجی های مورد نظر در یک اکسل ریخته و باز می کند.کد نوشته شده همه این کار هارا بی نقص انجام می دهد.
    اما وقتی به صورت EXE در می آرم هر اطلاعات را دریافت کند همان نتایج کد که در اخرین مرحله وارد شده نمایش می دهد !! واقعا چرا ؟؟؟
    ممنون میشم اگر راهنمایی کنید

    • سلام وقتتون بخیر. این موردی که میفرمایید رو باید از نزدیک بررسی بشه تا بشه توضیح داد. اما چیزی که الان میتونم بگم اینه که با داده‌های مختلف چک کنید. یه راه دیگه این هست که در هر مرحله از کد که اجرا میشه یه دستور disp‌استفاده کنید تا مراحل رو کنترل کنید. مثلا اگر یه disp‌خاص اجرا نشد پس معلوم میشه اون قسمت از کد مشکل داره. یا برای تک تک عملیاتها خروجی با disp بگیرید که بفهمید وقتی به حالت exe در میاد کجا میتونه مشکل داشته باشه.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.