یادگیری نرمافزار متلب/اطلاعات عمومی + آرایهها و ماتریسها
نرم افزار متلب ( MATLAB ) چیست؟
ویرایشMATLAB مختصر شده MATrix LABoratory (آزمایشگاه ماتریس) میباشد. متلب یک هسته غول پیکر از داده میباشد که جعبه ابزار های متنوعی به آن متصل شده است.
توابع و دستورات زیادی هستند که نرم افزار متلب میتواند انجام دهد ولی تعداد کمی از مردم هستند که میتوانند ماهر و استاد شوند. نرم افزار متلب میتواند برای کارهای متنوعی مورد استفاده قرار بگیرد.مانند پردازش تصویر ، حل معادلات ریاضی ، پردازش ویدئو ، ترسیم اشکال 2 بعدی و 3 بعدی و برنامه نویسی رباتها.
مثالی از کاربرد نرم افزار متلب :
اینها برخی از نمودارها و فایلهای gifs هستند که توسط نرم افزار متلب بوجود آمده اند.
چگونه از دانش بدست آمده از طریق این دوره میتوانم استفاده کنم
ویرایشوقتی شما میخواهید یک مهندس ، ریاضیدان ،فیزیکدان شوید شما باید یک دانش پیشرفته در نرم افزار متلب داشته باشید.اما بهرحال شما باید یادبگیرید گام هایتان را قبل از اجرا بردارید.اطلاعات پایه و ابتدایی شبیه تابع هر پنجره ، چگونه یک متغییر تعریف کنیم ،وسایر چیزها که شما باید قبل از استفاده از جعبه ابزار در نرم افزار متلب اینجا بیاموزید.
بیایید شروع کنیم
ویرایشاین پنجرهها هر کدام برای چه کاری هستند؟
ویرایشاین یک پنجره معمولی نرم افزار متلب به نظر میرسد.همانطور که شما می بینید،3 پنجره اصلی وجود دارد:
1_پنجره فرمان (دستور) (پایین تصویر):جایی هست که شما دستور وفرمان را وارد میکنید،نرم افزار متلب بلافاصله اجرا میکند. برای مثال : اگر بخواهید راه حلی برای معادله ( X= 70/10 )بیابید،کاری که همه شماباید انجام دهید این است که آنرا در صفحه دستور تایپ کرده وEnter را بزنید،نرم افزار متلب در قسمتی از ثانیه جواب رابه شما خواهد داد.شما میتوانید معادله ها رابا برخی متغییر با ارزش شنا خته شده در این پنجره حل کنید. برای مثال اگر بعد از تایپ معادله زیر Enter را بزنید.
Y=5 Z=6 X=Y+Z
جواب 11 خواهد شد.
شاید شما علاقمند باشید به : Wikibooks_MATLAB_CommandPrompt and Wikibooks_MATLAB_Variables
2_ویرایشگر(شکل سمت بالای راست ):تفاوتهای زیادی بین پنجره دستور و پنچره ویرایشگر وجود دارد.هر دو میتواند برای وارد کردن دستورات استفاده شود.با این حال برای این 2 هدف اغلب ویرایشگر بیش از پنجره دستور مورد استفاده قرار میگیرد
1_برخلاف پنجره دستور ، در ویرایشگر شما میتوانید کدهای خود را بعد از اجرای آن به عقب برگشته واشکال زدایی کنید.به همین دلیل اگر شما بخواهید یک تکه کد کوچک و آسان بنویسید از پنجره دستور استفاده میشود.
2_وقتی شما نرم افزار متلب را می بندید تمام کدهای شما در پنجره دستور از بین خواهد رفت .وقتی شما از ویرایشگر استفاده میکنیدشما میتوانید کار خود را در یک فایل به نام M-file برای استفاده بعدی ذخیره کنید. وقتی شما کد خود را بعد از تایپ در ویرایشگر اجرا میکنید،نرم افزار متلب از شما میخواهد یک فایل که M-file نام دارد را در کامپیوتر قبل از اینکه آنرا اجرا کنید ذخیره کنید.فایل شما یک پسوند (.m)دارد. وقتی شما کد خود را در ویرایشگر اجرا میکنید ، در پنجره دستور یک خروجی خواهید دید.
شاید شما علاقمند باشید به : Wikibooks_MATLAB_M.Files
3_فضای کاری: در فضای کار شما تمام متغییر ها را که تا حالا بوجود آوردید میتوانید ببینید.با 2 بار کلیک بر روی اسم متغییر شما میتوانید
آنرا در پنجره جداگانه باز کنید.وقتی با آرایه ها و بردارها سرکار دارید سودمند میباشد.به قسمت چپ تصویر رجوع کنید.
شاید شما علاقمند باشید به : Wikibooks_MATLAB_Workspace
اطلاعات مهم برای به یاد داشتن
ویرایش- برای اجرای کد کاربر باید F5 را بفشارد،یا گزینه run را را دربالا بزند
- کاربر باید یک متغییر را قبل از استفاده آن تعریف بکند.تعریف یک متغییر توسط کلمه کلیدی (syms)که بوسیله یک اسم متغیر دنبال میشودانجام شود.
یکبار که متغییر را تعریف میکنید آن در workspace ذخیره میشودوشما دیگر نباید آنرا تعریف کنید حتی اگر کد خود را پاک کردید.برای مثال ،اگر ما بخواهیم یک متغییر x را تعریف بکنیم،مینویسیم:
;syms x
- یک رشته شامل یک دنباله از اعداد وحروف میباشد برای اظهار کردن یک رشته ، اسم انتخابی رشته خود را بنویسید.با قرار دادن یک علامت نقل قول(') اعداد و/یا حروف را که میخواهید در آن قرار دهید سپس یک علامت نقل قول (') دیگر قرار دهید.برای مثال :
'mystring = ' this is a string 123
- اگر کاربر بخواهد درباره تابع مشخصی بداند ،او با تایپ کردن "help" در پنجره دستور میتواند اسم تابع را دنبال کند و بفهمد.
برای مثال اگر درباره تابع syms بیشتر میخواهید بدانید شما برنامه زیر را میزنید:
help syms
و "Enter" را بفشارید.نرم افزار متلب تمام اطلاعات موجود درباره این تابع را به شما خواهد داد
- برای پاک کردن پنجره دستور ،کافی است بنویسید:(clc)
- برای پاک کردن فضای کار (Workspace)در پنجره دستور بنویسید(clear)
بیشترین علائم مورد استفاده
ویرایشتابع | سمبل | نام |
---|---|---|
برای پایان نتیجه دستورات میباشد.اغلب وقتی که کاربر بخواهد چندین دستور یا یک تکه کد که قبلا نتیجه را میدانسته استفاده میشود .
هدف این است که پنجره دستور از اطلاعات غیر ضروری پر نشود. |
; | سیمیکلون |
برای قرار دادن یک توضیح ، تا عملکرد یک قسمت از کد را تشریح کند. | % | علامت
درصد |
برای بوجود آوردن یک سلول بکار میرود.کد داخل این سلول بصورت جداگانه میتواند فارغ از ویرایشگر با کلیک بر روی سلول و فشردن
(ctrl+Enter)اجرا شود. |
%% | دوبل
درصد |
برای تعریف یک تابع استفاده میشود.مثال: (f=@(y) sin(2.*y اطلاعات بیشتر درباره این عنوان در درس بعدی. | @ | ات ساین |
آرایه ها وماتریس
ویرایشآرایه یک ساختار داده میباشد که شامل مجموعه ای از ارزش عتاصر یا متغییرها هست. ماتریس یک آرایه مستطیلی شکل هست شامل اعداد و سمبل ها که در سطر و ستون ها مرتب شده است.
آرایه ها به طور گسترده در تمام برنامه نویسی نرم افزارها مورد استفاده قرار میگیرند. خلق یک آرایه آسان میباشد.اول ، شما نیاز دارید که متغییر خلق کنید،سپس نیاز دارید یک براکت استفاده کنید تا به نرم افزار مطلب بگویید که میخواهید یک آرایه خلق کنید. اگر شما نیاز داشته باشید که یک ستون ایجاد کنید شما نیاز به استفاده از کاما دارید ، اگر شما نیاز به خلق یک سطر داشته باشید شما نیاز به استفاده از سمیکلون دارید برای مثال :
[A= [ 1,2,3 ; 10,20,30
این به شما آرایه زیر را میدهد :
این هم یک مثال دیگر :اگر شما بخواهید ماتریس زیر را خلق کنید
کد دستور شما این خواهد شد:
[X=[1,9,-13 ; 20,5,6
عملیات روی ماتریس ها و آرایه ها
بیایید فرض کنیم ما ماتریس A و B را داریم
A=
B=
برای نوشتن B و A در نرم افزار متلب به این صورت کد مینویسیم:
[A=[10,20,30 ; 2, 5, 10 [B=[1,2,3 ; 20,50,1
اپراتور(عمل کننده) | عملکرد | Example |
---|---|---|
+ | جمع یک به یک 2 عناصر هر آرایه بصورت مرتب و متناسب | =A+B |
- | تفریق یک به یک 2 عناصر هر آرایه بصورت مرتب و متناسب | =A-B |
. * | ضرب ماتریس:ضرب هر المان از ماتریس Aدر همان المان متناسب در ماتریس Bو جایگذاری نتیجه درهمان مکان(ضرب درایه به درایه) | =A. *B |
* | در این ضرب حتما بایدتعداد ستونهای ماتریس اول با تعداد سطرهای ماتریس دوم برابر باشد. | A*B |
. / | تقسیم ماتریس:تقسیم هر المان از ماتریس A بر همان المان متناسب در ماتریس B .توجه کنید که هر 2 ماتریس باید از لحاظ سطر و ستون یکسان باشند. | =A. /B |
. ^ | هر المان ماتریس تک تک و جداگانه به توان عدد میرسند. | =B. ^3 |
: | یک آرایه از عنصر سمت چپ تا المان سمت راست ایجاد میکند. | =[C=[ 4: 10 |
اگر 2 ماتریس ابعاد متناسب و یکسان نداشته باشند چه میشود
بیاید فرض کنیم ما 2 ارایه زیر را داریم
[V= = [1,2,3 ; 2,3,4
[X= = [2 ; 3 ; 4
به منظور ضرب 2 ماتریس که سطر و ستون های یکسانی ندارند ما از اپراتور (*) استفاده میکنیم اما تعداد ستون در ماتریس اول بایدبا تعداد سطر ها در ماتریس دیگر برابر باشد.وقتی از این اپراتور روی ماتریس V و X استفاده میکنیم.متلب المان اول در ستون اول ماتریس V را در المان اول سطر اول ماتریس X ضرب میکند،سپس اولین المان ستون دوم ماتریس V در اولین المان سطر دوم ماتریس X ضرب میشود،سپس اولین المان ستون سوم ماتریس V در اولین المان سطر سوم ماتریس X ضرب میشود.سپس آن 3 عدد با هم جمع میشود.بعد ازآن این روند برای دومین المان هرستون ماتریس V تکرار میشود.
[V*X]= = = [20 ; 29]
من علاقه دارم به کمکهای تصویری که به شما برای درک کمک کند یکی از این فایلهای gif که با فشردن بر روی ان باز میشود.
شما ممکن هست علاقمند باشید به: MathIsFun_MATLAB_Arrays_Multiplication و MathWorks_MATLAB_Arrays_Opperation
چگونه ما یک ماتریس طولانی را به 2 ماتریس کوچکتر بشکنیم؟
فرض کنید شما یک آرایه خیلی طولانی شبیه زیر دارید:
;[Data= [ 12 , 54 , 99, 203, 2045, 1, 5,4, 90, 45, 34 , 345, 124, 3434 ,345, 2, 2, 5, 4, 7, 8, 0, 1, 100 ,6, 78, 2
اگر شما بخواهید این آرایه بزرگ را به چندین ارایه کوچکتر بشکنید،برای راه حل دستی این خیلی خسته کننده وزمان بر خواهد بود.اینجا یک تابع بخصوص هست تشکیل آرایه کوچکتر و ذخیره زمان را برای شما در پی خواهد داشت. برای مثال اگر شما بخواهید 20 المان اول آرایه را تشکیل دهید در نرم افزار متلب به این شکل مینویسیم
;((New_Array=(Data (1:20
این روش و روند می تواند هر چند بار که می خواهید برای ایجاد چندین آرایه کوچک انجام شود.
شما ممکن است علاقمند باشید به :Wikibooks_MATLAB_Arrays
بازی های ویدئویی و نرم افزار متلب
ویرایشیک قانون مهم به نام قانون آفساید در فوتبال و جود دارد.برای درک این قانون این مثال را در نظر بگیرید،اگر یک بازیکن از تیم A وقتی که به گل
تیم B نزدیکتر از از بازیکن B هست بگیرداین را به عنوان آفساید در نظر گرفته میشود وتوپ باید به تیم B داده شود.بنابراین چگونه به نرم افزار متلب ارتباطش دهیم؟ برنامه نویسانی که دارند یک برنامه برای بازی فوتبال(FIFA) میسازند بااین مشکل مواجه میشوند که چگونه این قوانین را برای فهم کامپیوتر تبدیل وترجمه کنند،بنابراین آنها از یک ماتریس بزرگ شبیه یک نمونه که در زیر نشان داده استفاده میکنند.
=x
این ماتریس موقعیت بازیکنان در زمین ومیدان نشان میدهد.صفرها نقاط خالی را نشان میدهد ،1 ها بازیکن تیم A را نشان میدهد،2 بازیکن تیم A بهمراه توپ را نشان میدهد، 3 ها بازیکن تیم B هستند ، و4 بازیکن تیم B بهمرا توپ را نشان میدهد.سطر اول دروازبان تیم A رانشان میدهد.سطر آخر دروازبان تیم B را نشان میدهد.با نگاهی به ماتریس بالا ، شما میتوانید بازیکن تیم A بهمراه توپ را ببینید (شماره 2)در سطر سوم ببینید.اگر این بازیکن توپ را به هم تیمی خود(3)در سطردوم پاس دهد این بخاطر اینکه (3) در سطر دوم به (2) برخواهد گشت آفساید خواهد شدو این (2) به دروازبان (1) نزدیکتر از سایر(1) در میدان هست . در نتیجه ، در خروجی این ماتریس درست هست سپس بازی متوقف خواهد شد و توپ به تیم دیگری تحویل میشود.