ایجاد متغیر در متلب
به نام خدا و سلام.
به سومین جلسه از مجموعه جلسات آموزش نرم افزار متلب خوش آمدید. مجموعه جلسات آموزش متلب به صورت کاملا رایگان از وبسایت متلب پلاس ارائه میشود.
در جلسه قبل از سری جلسات آموزش نرم افزار متلب، شروع کار با این نرم افزار مهندسی را یاد گرفتیم. همچنین بخشهای مختلف نرم افزار متلب به طور کامل معرفی شدند. دیدیم که دستورات به طور کلی در پنجره فرمان وارد میشوند. دادههای محاسباتی حاصل از این دستورات در محیط Workspace ذخیره میشوند. در این جلسه با جزئیات بیشتر به وارد کردن دستورات و ایجاد متغیر در فضای کاری متلب (Command Window) میپردازیم.
با متلب پلاس همراه باشید.
ایجاد متغیر در متلب
در نرم افزار متلب برای ایجاد یک متغیر عددی ساده، میتوانید دستورات خود را در پنجره فرمان (Command Window) وارد کنید. برای مثال، با تایپ عبارت a = 2 در پنجره فرمان و زدن کلید Enter، متغیری به نام a ایجاد شده که مقدار آن برابر با 2 است. در این صورت بلافاصله پس از فشردن کلید Enter، متلب مقدار a را در پنجره فرمان برابر با دو نشان میدهد. ضمنا متغیر a به Workspace نیز اضافه شدهاست.
a = 2
پس از اجرا داریم:
a =
2
در مثال بالا، دستور a = 2 در حقیقت مقدار 2 را در a قرار میدهد. به بیانی دیگر، در این نوع نوشتار، پارامتر a یک خروجی و علامت = یک اختصاص دهنده است. این عبارت در ریاضی به معنای مساوی بودن A با 2 است. اما در متلب ماجرا متفاوت است. این عبارت در نرم افزار متلب به معنای اختصاص دادن سمت راست تساوی به سمت چپ است. عبارت سمت چپ تساوی در متلب، یک عبارت درحال بروزرسانی است. به این صورت که ابتدا سمت راست تساوی محاسبه شده و در نهایت در سمت چپ جایگذاری میشود. مثلا عبارت a = a + 3 را درنظر بگیرید. این عبارت در ریاضی اشتباه است. اما در متلب به معنای بروزرسانی کردن a با اضافه کردن 3 واحد به آن است.
متغیر ans در متلب
در ادامه آموزش مقدماتی متلب، متغیر ans را توضیح میدهیم. چنانچه در پنجره فرمان دستوری تایپ کنیم که دارای خروجی مشخص نباشد، نرم افزار متلب پاسخ را در متغیری به نام ans ذخیره میکند. برای درک بهتر، در پنجره فرمان عدد 5 را به تنهایی تایپ کرده و کلید Enter را بزنید. بلافاصله متلب خروجی زیر را به شما میدهد.
5
پس از اجرا داریم:
ans =
5
همچنین با تایپ عبارت sin(a) (با توجه به اینکه مقدار a برابر 2 وارد شده بود) داریم:
sin(a)
پس از اجرا داریم:
ans =
0.9093
این مقدار، سینوس 2 رادیان میباشد و مشاهده میشود که متلب باز هم پاسخ این عبارت را در متغیری به نام ans ذخیره میکند. بدین ترتیب پارامتر ans همواره پاسخ آخرین محاسبات را در خود ذخیره میکند به شرطی که خروجیای برای محاسبات تعیین نشده باشد. در واقع چنانچه یک خروجی برای محاسبات خود تعیین کنیم، مقدار پاسخ در خروجی ذخیره میشود در غیر این صورت در متغیر ans.
جلوگیری از نمایش محاسبات با نقطه ویرگول (; semicolon)
چنانچه در انتهای دستورات خود از نقطه ویرگول (;) استفاده کنیم، متلب محاسبات را انجام میدهد اما آن را در پنجره فرمان نمایش نخواهد داد. مثلا دستور زیر را در Command Window تایپ کنید.
b = 3;
پس از زدن کلید Enter چیزی در پنجره فرمان نمایش داده نمیشود. اما متغیر b با مقدار 3 در حافظه متلب ذخیره شده و به لیست Workspace اضافه میشود.
قوانین نام متغیرها در متلب
نامهای معتبر
یک نام معتبر برای متغیرها با حروف (انگلیسی) آغاز شده و در ادامه آن حروف یا اعداد و یا آندِرلاین (_) قرار میگیرد. نرم افزار متلب به کوچک یا بزرگ بودن حروف حساس است. بنابراین متغیر a با متغیر A متفاوت خواهد بود. طول نام یک متغیر در بیشترین حالت معمولا برابر با 63 کاراکتر میباشد. برای مشاهده طول مجاز نام گذاری (برای نسخه متلب شما) دستور namelengthmax را در پنجره فرمان تایپ کنید.
namelengthmax
پس از اجرا داریم:
ans =
63
یکسان نبودن نام متغیر با توابعِ متلب
نام گذاری متغیرها با نام توابعی که به صورت پیشفرض در متلب وجود دارند ممنوع است. این توابع شامل توابع پیشفرض و لیستی از اپراتورهای اختصاصی متلب میباشد. لیست اپراتورهای متلب با دستور iskeyword قابل مشاهده است.
iskeyword
پس از اجرا داریم:
ans =
'break'
'case'
'catch'
'classdef'
'continue'
'else'
'elseif'
'end'
'for'
'function'
'global'
'if'
'otherwise'
'parfor'
'persistent'
'return'
'spmd'
'switch'
'try'
'while'
اما تعداد توابع داخلی نرم افزار متلب بسیار زیاد است که ارائه لیست را کمی سخت میکند. با کار با نرم افزار متلب و کسب تجربه بیشتر، با این توابع آشنا میشویم.
برای اینکه بررسی کنیم آیا تابعی با نام موردنظر ما در متلب وجود دارد، از دستور exist استفاده میکنیم. به این صورت که نام تابع دلخواه خود را پس از این دستور تایپ میکنیم. عددی که پس از اجرای این دستور نشان داده میشود، بیانگر وضعیت نام موردنظر ما است.
عدد خروجی: مفهوم
0 : این نام وجود ندارد.
1 : با این نام متغیری در فضای کاری (Workspace) وجود دارد.
2 : فایلی در مسیر دایرکتوری متلب شما با این نام وجود دارد. و یا مسیری با نام موردنظر شما وجود دارد.
3 : فایلی از نوع MEX-file در دایرکتوری شما وجود دارد.
4 : مدلی از سیمولینک با نام موردنظر در دایرکتوری شما وجود دارد.
5 : یک تابع داخلی متلب با این نام وجود دارد.
6 : با این نام یک P-file در دایرکتوری متلب شما وجود دارد.
7 : با این نام پوشهای وجود دارد.
8 : این نام، یک کلاس (class) متلب است.
مثال) بررسی کنید که آیا میتوان متغیری با نام tan در متلب ایجاد کرد؟
پاسخ) با تایپ نام tan در جلوی دستور exist داریم:
exist tan
پس از اجرا داریم:
ans =
5
با توجه به اینکه خروجی 5 ارائه شده، نتیجه میشود که این نام، یک تابع داخلی متلب است. در جلسات آینده با توابع پرکاربرد ریاضی در متلب آشنا میشویم. در واقع تابع tan همان تابع تانژانت ریاضیات است. در ادامه چند نمونه مجاز و غیرمجاز نامگذاری متغیرها در متلب آمده است.
نامگذاری مجاز
x4
x_a
x_sin
نامگذاری غیرمجاز
4x
x*a
sin
دلیل مجاز نبودن
شروع شدن با عدد
استفاده از ضرب در نام
نام تابع داخلی متلب
حذف متغیرها در متلب
حذف همه متغیرها
برای حذف متغیرها در متلب از دستور clear استفاده میکنیم. کافیست در پنجره فرمان این دستور را تایپ کرده و Enter بزنیم. با این کار تمامی متغیرها حذف میشوند. مثلا در اینجا 3 متغیر داریم که پس از استفاده از دستور clear تمامی آنها حذف شدهاند. چرا که هنگام فراخوانی آنها، متلب خطای ناشناخته بودن میدهد.
a = 12*4;
b = 3 + a;
clear
a
پس از اجرا داریم:
Undefined function or variable 'a'.
b
پس از اجرا داریم:
Undefined function or variable 'b'.
حذف یک یا چند پارامتر مشخص
برای حذف یک یا چند پارامتر مشخص و دلخواه، پس از دستور clear نامهای موردنظر را تایپ میکنیم. مثلا 3 متغیر زیر را تعریف کرده و پس از آن فقط m و t را حذف میکنیم. مشاهده میشود که مقدار w کماکان باقی مانده و دو متغیر دیگر حذف شدهاند.
m = 45;
w = 21;
t = w*2;
clear m t
w
پس از اجرا داریم:
w =
21
m
پس از اجرا داریم:
Undefined function or variable 'm'.
t
پس از اجرا داریم:
Undefined function or variable 't'.
تمیز کردن صفحه Command Window
معمولا بعد از کمی کار با نرم افزار متلب و انجام دستورات مختلف پنجره فرمان بسیار شلوغ میشود. در این شرایط میتوانیم بدون اینکه نتایج محاسبات حذف شوند صفحه را تمیز کنیم. برای این کار از دستور clc استفاده میکنیم. کافیست عبارت clc را نوشته و Enter بزنیم. فضای Command Window مثل روز اول تمیز و مرتب میشود. توجه داشته باشید که این دستور فقط صفحه را تمیز میکند و متغیرهای ایجاد شده حذف نمیشوند.
clc
اگر بخواهیم علاوه بر تمیز کردن صفحه، تمام متغیرهای موجود هم حذف شوند دستور clc,clear را اجرا میکنیم. این عبارت ترکیب دستور clc (تمیز کردن صفحه) و clear (حذف همه متغیرها) است.
clc, clear
توقف اجرای یک دستور یا اجرا در متلب
گاهی اوقات در متلب میخواهیم محاسباتی انجام دهیم که ممکن است بسیار زمان بر و طولانی باشند. گرچه هنوز در ابتدای یادگیری متلب هستیم، اما در آینده با حالتهایی مواجه میشویم که نیاز به توقف اجرا دارند. در این شرایط بایستی از Ctrl+C (کلیدهای کنترل و C به طور همزمان) استفاده کنیم. در پلتفرم مکینتاش (اپل) میتوانید از کلید Command+. (کلید Command و نقطه) استفاده کنید.
نکته: چنانچه از حلقههای بزرگ و تو در تو استفاده میکنید (برای خوانندگانی که در ابتدای آموزش متلب نیستند!)، برای توقف میتوانید از دستور pause استفاده کنید.
ترفند: اجرای همزمان چندین دستور در متلب
برای وارد کردن چند دستور در چندین خط به صورتی که همه دستورات باهم اجرا شود، از Shift+Enter استفاده میشود. در واقع بجای زدن دکمه Enter، بایستی Shift+Enter زده شود. در این حالت، متلب صبر میکند تا شما تمامی دستورات را وارد کنید. پس از نوشتن آخرین دستور، دکمه Enter را بزنید. به مثال زیر توجه کنید.
مثال) با فرض اینکه مقدار x برابر با 8 و y برابر با 3 باشد، میخواهیم حاصل x+2xy را بدست آوریم. البته میخواهیم این دستورات را پشت سر هم و به یکباره اجرا کنیم. برای انجام این محاسبه ساده، عبارت x = 8 را در پنجره فرمان نوشته و Shift+Enter را میزنیم. سپس عبارت y = 3 را تایپ میکنیم و بازهم Shift+Enter را میزنیم. در نهایت عبارت x + 2*x*y را نوشته و Enter را میزنیم. مشاهده میشود که پس از زدن اینتر، هر 3 دستور به سرعت اجرا شده و مقدار پاسخ نیز محاسبه میشود. کد این مثال به صورت زیر است.
x = 8
y = 3
x + 2*x*y
پس از اجرا داریم:
x =
8
y =
3
ans =
56
تمرینات این جلسه
در انتهای این جلسه 3 تمرین متلب مربوط به مباحث این جلسه ارائه شده است. لطفا این تمرینها را حل کرده و با پاسخ آن مقایسه کنید. پاسخ تمرینات متلب این جلسه در کانال تلگرام متلب پلاس منتشر میشود. از آیکونهای سمت راست صفحه میتوانید در این کانال عضو شوید.
تمرین اول) مقدار عبارت ریاضی 2+14*3 را در متغیری به نام k ذخیره کنید.
تمرین دوم) متغیر a دارای مقدار 2 و متغیر b دارای مقدار 17 است. حاصل عبارت c و d را محاسبه کنید. c = a + b*b – 7*a*b و d = a*c – b.
تمرین سوم) کدامیک از نامهای زیر میتواند برای نام یک متغیر استفاده شود؟
a+, a.2, a2, 2a
جمعبندی
جلسه سوم آموزش نرم افزار متلب در اینجا به پایان میرسد. در این آموزش سعی کردیم تا مفاهیم اساسی و ابتدایی ایجاد متغیر در پنجره فرمان را پوشش دهیم. استمرار در یادگیری متلب و کدنویسی با آن، میتواند شما را به یک استاد متلب تبدیل کند.
توصیه میشود که حتما تمرینات این جلسه را انجام بدید و اگر سوال و ابهامی دارید در بخش نظرات (پایین همین صفحه) به ما بگید. از فهرست سمت راست هم میتونید به بقیه جلسات دسترسی داشته باشید.
26 Comments
به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.
عالیه دستتون درد نکنه
ممنون، نظر نظر لطف شماست.
بسیار عالی و کاربردی. موفق و موید باشید
با سلام و عرض ادب
بسیار خوشحالیم که از کیفیت آموزش متلب راضی بودید.
موفق باشید.
بسیار عالی، جامع و کاربردی بود.
خدا خیرتون بده انشالله
با سلام و عرض ادب
بسیار خوشحالیم که از کیفیت آموزش متلب راضی بودید.
موفق باشید.
سلام
عالی درس میدید
واقعا دستتون درد نکنه
کلیپهای دیگه ای دیدم اما شما واقعا متفاوت درس میدید
جزئیات رو خیلی خوب
میگید
سپاس فراوان بابت زحماتتون
با سلام و عرض ادب
بسیار خوشحالیم که از کیفیت آموزش متلب راضی بودید.
موفق باشید.
با عرض سلام و وقت بخیر، ارائه مطالب با کیفیت عالی هستند خسته نباشید و خداقوت.
سلام
بسیار خوشحالیم که از کیفیت آموزش متلب راضی بودید.
موفق باشید.
بسیار عالی ، مرسی از شما ، خیلی آموزنده هست
لطفا تمرین دوم را حل بفرمایید وقتی از علامت منفی استفاده میکنیم خطا داریم
با درود فراوان
لطفا مشکل خود را در گروه پرسش و پاسخ متلب در تلگرام به آی دی matlab_discussion مطرح کنید.
سلام، خیلی ممنون از شما
سلام مهدی جان
بسیار خوشحالیم که از کیفیت آموزش متلب راضی بودید.
موفق باشید.
ممنون از مطالب خوبتون فایل پاور رو قرار نمیدین؟
سلام سهندجان!
فیلم جلسه در سایت، و همچنین تمرینات و پاسخ اونها در کانال تلگرام منتشر شده. نیازی به فایل پاورپوینت نیست.
تو جلسه بعد میگید همانطور که آموزش دادم نحوه ایجاد ماتریس رو ولی در اینجا چیزی ازماتریس نگفتین ممنون میشم چک بفرمایید
سلام سینا عزیز
درباره ایجاد ماتریس بطور کامل در جلسه چهارم صحبت کردیم.
لطفا به جسله چهارم مراجعه کنید.
ممنون ممنون ممنون
سلام اعظم جان!
بسیار خوشحالیم که از کیفیت آموزش متلب راضی بودید.
موفق باشید.
سلام
ببخشید امکان دانلود فایل هست
سپاس
بی نهایت ممنون بخاطر توضیحات عالی و بیان گیرای شما
سلام فرزانه جان!
خیلی خوشحالیم که از آموزشهای متلب ارائه شده راضی بودید.
پیامهای شما انگیزه بسیار زیادی برای ادامه مسیر به تیم متلبپلاس میده. خیلی ممنون از اینکه نظرتون رو با ما به اشتراک گذاشتید!
موفق باشید.
از این که با جزئیات کامل توضیح میدین واقعا ممنونم. عاااااالی
سلام هادی عزیز!
خیلی خوشحالیم که از ویدیوهای آموزش متلب راضی هستید.
پیامهای شما انگیزه بسیار زیادی برای ادامه مسیر به تیم متلبپلاس میده. خیلی ممنون از اینکه نظرتون رو با ما به اشتراک گذاشتید!
موفق باشید.