انجمن انیاک
آموزش تصویری Matlab قسمت 2 - نسخه‌ی قابل چاپ

+- انجمن انیاک (http://forum.learninweb.com)
+-- انجمن: آموزش های تصویری (/forumdisplay.php?fid=7)
+--- انجمن: آموزش تصویری Matlab (/forumdisplay.php?fid=29)
+--- موضوع: آموزش تصویری Matlab قسمت 2 (/showthread.php?tid=77)



آموزش تصویری Matlab قسمت 2 - learninweb - 08-14-2011 10:18 PM

به آموزش Matlab خوش آمدید
توجه کنید که شما میتواند آموزش Matlab را به همراه چند بخش آموزشی دیگر که بصورت شبیه سازی شده و تعاملی درس داده شده است و رایگان نیز میباشد از لینک آموزش Matlab دانلود کنید.

توجه كنيد كه در اين نرم‌افزار متغير A با متغير a فرق دارد. متغير را به هر شكلي تعريف كريد همانطور در ادامه نيز بايد از آن استفاده كنيد. وگرنه Error مي‌دهد.

View نرم‌افزار در حالت default باشد. بعد از تعيين حالت default پنجره را Maximize كنيد.
Desktop -> Desktop layout -> Defualt‌
نرم‌افزار MATLAB پردازش اطلاعات را با كمك ماتريسها انجام مي‌دهد. به اين جهت درك مفاهيم ماتريس براي يادگيري اين نرم‌افزار اساسي مي‌باشد و باعث مي‌شود بهتر بتوانيد با اين نرم‌افزار كار كنيد در اين فصل به بررسي ماتريسها و آرايه‌ها و روش استفاده از آنها مي‌پردازيم.
مي‌خواهيم با روش وارد كردن يك ماتريس آشنا شويم. ماتريس A بصورت زير تعريف شده است.
A =
[تصویر:  001.gif]

براي واردكردن ماتريس فوق بايد عبارت زير را تايپ كنيد.
A= [1 3 5 ; -6 20 10 ; -12 -15 -6]
روش تعريف به اين صورت است كه در ابتدا علامت "[" را وارد مي‌كنيم سپس اعداد رديف اول را وارد مي‌كنيم. بين هر دو عدد نيز يك فاصله يا كاراكتر "," بايد وارد شود تا محل پايان عدد و شروع عدد بعدي مشخص گردد. براي وارد كردن رديف بعدي از كاراكتر ";" استفاده مي‌شود. البته از كليد Enter نيز مي‌توانيد استفاده كنيد. در انتها نيز كاراكتر "]" را وارد مي‌كنيم.
مشاهده مي‌كنيد كه دستور صفحه قبل را وارد كرده‌ايم. با توجه به مطالبي كه بيان كرديم براي وارد كردن ماتريس ذكر شده مي‌توانيد از عبارت زير نيز استفاده كنيد.
A=[1 , 3 , 5
-6,20,10
-12,-5,-6]
دكمه Enter را فشار دهيد تا مقدار ماتريس وارد شود.

[تصویر:  002.gif]

اكنون ماتريس مورد نظر تعريف شده است. براي مشاهده اين ماتريس، روي ماتريس A در پنجره WorkSpace دابل كليك كنيد.

[تصویر:  003.gif]


‌اكنون پنجره ويرايش اين آرايه را مشاهده مي‌كنيد براي مشاهده اين پنجره مي‌توانستيد روي A راست‌ كليك كرده و گزينه Open Selection منوي باز شده را انتخاب كنيد. در اين پنجره مي‌توانيد تغييرات لازم را بر روي ماتريس وارد كنيد در قسمت مشخص شده با كادر آبي نيز اعدادي را كه وارد كرديم مشاهده مي‌كنيد. مي‌توانيد در صورت نياز اين اعداد را تغيير دهيد.

[تصویر:  004.gif]

تا اينجا با نحوه وارد كردن آرايه و تغيير آن آشنا شديد. در ادامه اين بخش به بررسي عمليات بر روي ماتريسها مي‌پردازيم. مي‌خواهيم 3 واحد به تمامي عناصر آرايه A اضافه كنيم و آرايه جديد را در B ذخيره كنيم براي اين‌ كار عبارت B=A+3 را در ادامه وارد مي‌كنيم.
دكمه Enter صفحه كليد را فشار دهيد، تا اين دستور اجرا شود.

[تصویر:  005.gif]

مشاهده مي‌كنيد كه به تمامي عناصر آرايه A سه واحد افزوده شده و در آرايه B ذخيره شده است. دو آرايه A و B را مي‌توانيد در قسمت Workspace مشاهده كنيد. روي متغير B در اين پنجره دابل كليك كنيد.
[تصویر:  006.gif]

در ادامه مي‌خواهيم پنجره Array Editor را طوري تنظيم کنيم که مقادير هر دو متغير قابل مشاهده باشد. در قسمت مشخص شده يکسري کليد مشاهده مي‌کنيد که به کمک آنها مي‌توانيد نحوه نمايش آرايه را تنظيم کنيد. براي مثال براي نمايش اطلاعات دو آرايه در دو پنجره به صورت کنار هم، روي ليست بازشونده مشخص شده کليک کنيد.‌

[تصویر:  007.gif]

پس با توجه به شکل گزينه‌‌ها مدل مورد نظر خود را مي‌توانيم انتخاب کنيم. روي گزينه مشخص شده كليك كنيد.‌
[تصویر:  008.gif]

روي دكمه Close اين پنجره كليك كنيد.

[تصویر:  009.gif]

در ادامه مي‌خواهيم ترانهاده ماتريس A را به دست آوريم. براي اينكار دستور A' را وارد مي‌كنيم.
دكمه Enter صفحه كليد را فشار دهيد.

[تصویر:  010.gif]

مشاهده مي‌كنيد كه جواب دستور وارد شده در يك ماتريس به نام ans ذخيره شده است. در قسمت Workspace نيز مشاهده مي‌كنيد كه يك ماتريس به نام ans و با سايز 3 x 3 تعريف شده است. در ادامه مي‌خواهيم عناصر قطر اصلي ماتريس A را پيدا كنيم براي اين كار دستور diag(A) را وارد مي‌كنيم.
دكمه Enter صفحه كليد را فشار دهيد.

[تصویر:  011.gif]

اكنون عناصر اصلي قطر ماتريس A را مشاهده مي‌كنيد. جواب اين دستور نيز در يك آرايه به نام ans ذخيره شده است. در قسمت Workspace مشخص است كه ans يك ماتريس با سايز 3 x 1 است. براي محاسبه مجموع عناصر قطر اصلي ماتريس A از دستور sum(diag(A)) استفاده مي‌كنيم. در ادامه اين دستور را وارد مي‌كنيم.
دكمه Enter صفحه كليد را فشار دهيد، تا نتيجه را مشاهده كنيد.

[تصویر:  012.gif]

در Matlab اين قابليت وجود دارد که با فشار دادن دکمه حرکت مکان نما به سمت بالا دستور قبلي دوباره تايپ شود دکمه حرکت مکان نما به سمت بالا را فشار دهيد.‌‌
دكمه Enter صفحه كليد را فشار دهيد، تا نتيجه را مشاهده كنيد.

[تصویر:  013.gif]

مشاهده مي‌كنيد كه مجموع عناصر قطر اصلي نمايش داده شده است و جواب نيز در ماتريس ans ذخيره شده است. در ادامه مي‌خواهيم عناصر ستون اول آرايه A را با هم جمع كنيم براي اينكار دستور A(1,1) + A(2,1) + A(3,1) را بايد وارد كنيم.
دكمه Enter صفحه كليد را فشار دهيد.

[تصویر:  014.gif]

اكنون مجموع عناصر ستون اول ماتريس A را مشاهده مي‌كنيد. براي محاسبه مجموع كل عناصر آرايه A از دستور sum(A(Smile) استفاده مي‌كنيم. در ادامه اين دستور را وارد مي‌كنيم.
دكمه Enter صفحه كليد را فشار دهيد.

[تصویر:  015.gif]

مشاهده مي‌كنيد كه مجموع كليه عناصر آرايه A محاسبه شده است. عملگر ":" كاربردهاي ديگري نيز دارد كه در ادامه به بررسي آن مي‌پردازيم. براي بررسي يكي از اين كاربردها دستور1:5 را وارد مي‌كنيم.
دكمه Enter صفحه كليد را فشار دهيد.

[تصویر:  016.gif]

مشاهده مي‌كنيد كه خروجي اين دستور از اعداد 1 تا 5 با قدم يك مي‌باشد. حال دستور
40:-5:20 را وارد مي‌كنيم.
دكمه Enter صفحه كليد را فشار دهيد.
[تصویر:  017.gif]


خروجي اين دستور اعداد 40 تا 20 با قدم 5- مي‌باشد. در ادامه دستور فوق را وارد كرده و يك كاراكتر ";" در انتهاي آن وارد مي‌كنيم. براي اينکار کافيست دکمه حرکت مکان‌نما رو به بالا را فشاردهيد تا دستور قبلي ظاهر شود.‌
کليد ; صفحه كليد را ‌فشار دهيد.
دكمه Enter صفحه كليد را فشار دهيد.

[تصویر:  018.gif]

اگر در انتهاي دستور علامت; را تايپ ‌كنيد خروجي را مشاهده نمي‌كنيد، ولي جواب در Workspace ذخيره خواهد شد. در جدول زير دستورات ساخت ماتريسهاي مختلف نمايش داده شده است.
ماتريس صفر A = zeros ( i,j )
ماتريس يك A = ones ( i,j )
ماتريس هماني A = eye ( i,j )
دترمينان ماتريس B = det ( A )
وارون ماتريس B = inv ( A )
براي حذف ستون دوم ماتريس A دستور A(:,2)=[] را وارد مي‌كنيم. در اين دستور با استفاده از كاراكتر : تمامي رديفها را انتخاب كرده‌ايم. سپس بعد از كاما شماره ستون ماتريس را تعيين مي‌كنيم. در انتها قسمت انتخاب شده در ماتريس A را برابر يك ماتريس خالي قرار مي‌دهيم.
دكمه Enter صفحه كليد را فشار دهيد.

[تصویر:  019.gif]

مشاهده مي‌كنيد كه ستون دوم ماتريس A حذف شده و چون قبلاً ماتريس A يك ماتريس 3*3 بوده است اكنون به يك ماتريس 3*2 تبديل شده است. اين ماتريس را در پنجره Workspace نيز مي‌توانيد مشاهده کنيد.‌
همانطور كه تا اينجا متوجه شديد در MATLAB احتياج به تعريف متغير نداريم. دستورات زير را در ادامه وارد مي‌كنيم.
a=3 ; b='M'; c=1.78; d= 'This is a test';
در اين دستورات a و b و c يك ماتريس 1*1 و d يك ماتريس 14*1 مي‌باشد. دكمه Enter صفحه كليد را فشار دهيد تا مقادير در Workspace ذخيره شوند.

[تصویر:  020.gif]

مشاهده مي‌كنيد كه متغيرها در Workspace قرار دارند. دو متغير b و d از نوع آرايه كاراكتري مي‌باشند ولي بقيه از نوع ماتريس هستند. تا اينجا متوجه شده‌ايد كه اعداد در MATLAB به صورت صريح مورد استفاده قرار مي‌گيرند. اعداد مختلط در MATLAB با استفاده از i يا j نمايش داده مي‌شوند.
در جدول زير عملگرهاي MATLAB را مي‌توانيد مشاهده مي‌كنيد.‌

عملگر نماد
جمع +
تفريق -
ضرب *
تقسيم /
توان ^
ترانهاده '
البته به اين نكته بايد توجه كنيدكه براي ضرب آرايه در آرايه قبل از ضرب، از عملگر نقطه استفاده مي‌كنيم در ادامه دستورات زير كه دو ماتريس a و b را تعريف كرده و سپس در هم ضرب مي‌كند را وارد مي‌كنيم.
a=[1 2 3 4]; b=[5 6 7 8]; a*b‌
دكمه Enter صفحه كليد را فشار دهيد.مشاهده مي‌كنيد كه اين دستور ايراد دارد در ادامه دستور a.*b را وارد مي‌كنيم.

[تصویر:  021.gif]


دكمه Enter صفحه كليد را فشار دهيد.
مشاهده مي‌كنيد كه اين بار دو ماتريس a و b در هم ضرب مي‌شوند. براي عمليات توان و تقسيم نيز همين روند را بايد انجام داد.
[تصویر:  022.gif]

در ادامه مي‌خواهيم توابع موجود در نرم‌افزار MATLAB را بررسي كنيم براي مشاهده توابع اصلي MATLAB دستور help elfun را وارد مي‌كنيم.
دكمه Enter صفحه كليد را فشار دهيد.
اكنون توابع اصلي اين نرم‌افزار را مشاهده مي‌كنيد كه توضيح مختصري در جلوي هر كدام نوشته شده است.

[تصویر:  023.gif]

ر جدول زير توابع مثلثاتي به همراه توضيح آن را مشاهده مي‌كنيد.

تابع عملكرد درMATLAB
Arctan(تانژانت وارون) atan
زاويه يك نقطه در مختصات دكارتي Atan2
معكوس تانژانت هيپربوليك Atanh
سكانت sec
سكانت هيپربوليك sech
معكوس تابع سكانت asec
معكوس سكانت هيپربوليك Asech
كسكانت csc
كسكانت هيپربوليك csch
معكوس كسكانت acsc
معكوس كسكانت هيپربوليك Acsch
كتانژانت cot
كتانژانت هيپربوليك coth
كتانژانت وارون acot
معكوس كتانژانت هيپربوليك acoth

تابع عملكرد درMATLAB
تابع سينوس sin
سينوس هيپربوليك sinh
Arcsin(سينوس وارون) asin
معكوس سينوس هيپربوليك asinh
تابع كسينوس cos
كسينوس هيپربوليك Cosh
Arccos(كسينوس وارون) acos
معكوس كسينوس هيپربوليك acosh
تانژانت tan
تانژانت هيپربوليك tanh
در اين جدول نيز توابع نمايي را به همراه توضيح آنها مشاهده مي‌كنيد.

تابع عملكرد آن درMATLAB
محاسبه exp (x)
محاسبه لگاريتم نپرين (لگاريتم در پايهe) log
محاسبه لگاريتم در پايه 10 log10
محاسبه لگاريتم در پايه 2 log2
x2 را محاسبه مي‌كند. pow2(x)
لگاريتم اعداد حقيقي real log
جذر اعداد نزديك به صفر real sqrt
را محاسبه مي‌كند. Sqrt
براي محاسبه اولين عدد P كه 2p>nextpow2(x) nextpow2

در اين جدول نيز توابع مختلط را به همراه توضيح آنها مشاهده مي‌كنيد.

تابع عمكرد در MATLAB
محاسبه قدرمطلق يك عدد abs
محاسبه زاويه يك عدد مختلط angle
ايجاد عدد مختلط x + j y complex(x,y)
محاسبه مزدوج مختلط يك عدد conj
محاسبه قسمت موهومي يك عدد مختلط imaj
محاسبه قسمت حقيقي يك عدد مختلط real
آيا عدد حقيقي است يا نه isreal

توابع Round كردن و محاسبه باقيمانده در جدول زير مشاهده مي‌كنيد.

تابع عملكرد در MATLAB
اعداد را به سمت صفر گرد مي‌كند. fix
اعداد را به سمت منفي بي‌نهايت گرد مي‌كند. florr
اعداد را به سمت مثبت بي‌نهايت گرد مي‌كند. ceil
گرد كردن يك عدد به سمت نزديك‌ترين عدد صحيح round
باقيمانده تقسيم با علامت mod
تقسيم rem
تابع علامت sing

يكي ديگر از مباحثي كه در MATLAB به آن احتياج داريم چند جمله‌ايها مي‌باشند در ابتدا بايد روش شناسايي چند جمله‌اي را بررسي كنيم در MATLAB چند جمله‌اي براساس بردار ضرايب مشخص مي‌شود به عنوان مثال چند جمله‌اي
f = 4x4 + 3x2 + 5x - 3به صورت زير در MATLAB نمايش داده مي‌شود.
f= [4 , 0 , 3 , 5, -3]
يعني به ترتيب توانها ضرايب آنها را مي‌نويسيم و با استفاده از كاما از يكديگر جدا مي‌كنيم. چند جمله‌اي g = 6x3 - 2x2 + 4x +2 نيز به صورت g = [6,-2,4,2] نمايش داده مي‌شود در ادامه اين دستورات را وارد مي‌كنيم.
وظيفه اين دستور تعريف دو چند جمله‌اي f و g مي‌باشد. دكمه Enter صفحه كليد را فشار دهيد.
f = 4x4 + 3x2 + 5x – 3‌
g = 6x3 - 2x2 + 4x +2‌
[تصویر:  024.gif]


در ادامه مي‌خواهيم چند جمله‌اي f را با چند جمله‌اي g جمع كنيم. براي اين كار بايد هر دو چند جمله‌اي داراي درجه‌هاي برابر باشند. براي اين كار بايد در چند جمله‌اي g ضريب x4 را برابر صفر تعريف كنيم. پس در ادامه دستور زير را وارد مي‌كنيم. اين دستور باعث مي‌شود كه يك جمله با ضريب صفر در ابتداي چند جمله‌اي اضافه شود.
g = [ 0 , g ]
توسط دستور h = f + g نيز دو چند جمله‌اي را با هم جمع كرده و در متغير h ذخيره مي‌كنيم.
دكمه Enter صفحه كليد را فشار دهيد.

[تصویر:  025.gif]

اكنون نتيجه را مشاهده مي‌كنيد براي ضرب يك عدد در چند جمله‌اي از ضرب يك عدد در ماتريس استفاده مي‌شود. در ادامه دستور زير را وارد مي‌كنيم :
2*g
دكمه Enter صفحه كليد را فشار دهيد.
[تصویر:  026.gif]

براي ضرب و تقسيم دو چند جمله‌اي از دو دستور conv و deconv استفاده مي‌كنيم. در ادامه دستور زير را وارد مي‌كنيم :
L= conv (f,g);‌
دكمه Enter صفحه كليد را فشار دهيد.
[تصویر:  027.gif]


در ادامه مي‌خواهيم اين دو چند جمله‌اي را بر هم تقسيم كنيم براي اين كار دستور زير را وارد مي‌كنيم :
[q ,r] =deconv (f,g)‌
در اين دستور q برابر خارج قسمت تقسيم و r برابر باقيمانده است.
دكمه Enter صفحه كليد را فشار دهيد.

[تصویر:  028.gif]

مشاهده مي‌کنيد که چون مقدار g برابر صفر است خطا رخ داده است. در ادامه دستور g=g+5 را وارد مي‌کنيم.‌
دكمه Enter صفحه كليد را فشار دهيد.
[تصویر:  029.gif]

دکمه حرکت مکان نما رو به بالا را دوبار فشار دهيد.
دكمه Enter صفحه كليد را فشار دهيد.

[تصویر:  030.gif]

اكنون نتيجه را مي‌توانيد مشاهده مي‌كنيد كه خارج قسمت تقسيم q و باقي مانده تقسيم r مي‌باشد. در ادامه مي‌خواهيم تابع
m(x)= x3 + 2x2 + 4x + 3 را به ازاي x= 0,...,3 محاسبه كنيم براي اين كار دستورات زير را وارد مي‌كنيم.
m=[1,2,4,3]; x=[0:3]; k= polyval (m,x)
توسط خط اول تابع m(x) تعريف مي‌شود. با استفاده از خط دوم متغير x شامل اعداد صفر تا سه مي‌شود. توسط خط سوم نيز مقدار تابع m به ازاي مقادير موجود در x محاسبه مي‌شود.
دكمه Enter صفحه كليد را فشار دهيد.
[تصویر:  031.gif]

مشاهده مي‌كنيد كه چهار عدد به عنوان خروجي ظاهر شده‌اند. عدد اول به ازاي x=0 محاسبه شده است. عدد دوم به ازاي مقدار دوم موجود در x يعني يك محاسبه شده دو عدد بعدي نيز به ازاي x=3 و x=4 محاسبه شده‌اند. براي محاسبه ريشه‌هاي يك چند جمله‌اي از دستور roots استفاده مي‌كنيم در ادامه دستور زير را وارد مي‌كنيم.
R= roots(m)
دكمه Enter صفحه كليد را فشار دهيد.
[تصویر:  032.gif]

اكنون ريشه‌هاي چند جمله‌اي m(x) را مشاهده مي‌كنيد. در اين نرم‌افزار مي‌توانيد از روي ريشه‌ها چند جمله‌اي را به دست آوريد. براي اين كار دستور poly استفاده مي‌كنيم. در ادامه دستور زير را تايپ مي‌كنيم :
poly®
دكمه Enter صفحه كليد را فشار دهيد.
[تصویر:  033.gif]

مشاهده مي‌كنيد كه اين تابع بردار ضرايب چند جمله‌اي را برگردانده است در MATLAB دستورات ساده ديگري براي كار با چند جمله‌اي‌ها وجود دارد با تايپ دستور help polyfun مي‌توانيد اين توابع را به همراه توضيح مختصري مشاهده كنيد. در ادامه اين دستور را تايپ مي‌كنيم.
دكمه Enter صفحه كليد را فشار دهيد، تا ليست اين توابع را مشاهده كنيد.
[تصویر:  034.gif]


اكنون ليست اين توابع نمايش داده شده است. در هر زمان كه بخواهيد با وارد كردن دستور who مي‌توانيد ليستي از متغيرهايي كه در حافظه ذخيره كرده‌ايد را مشاهده كنيد در ادامه دستور who را وارد مي‌كنيم.
دكمه Enter صفحه كليد را فشار دهيد.

[تصویر:  035.gif]

اكنون ليستي از متغيرهايي كه استفاده كرده‌ايم را مشاهده مي‌كنيد در صورتيكه ساير خصوصيات اين متغيرها را بخواهيد مشاهده كنيد بايد دستور whos را واردكنيد.
مشاهده مي‌كنيد كه دستور whos را وارد كرده‌ايم براي اجراي اين دستور دكمه Enter صفحه كليد را فشار دهيد.

[تصویر:  036.gif]

همانطور كه به ياد داريد، با دابل كليك كردن بر روي متغير در پنجره Array Editor مقادير متغير را مي‌توانستيد مشاهده كنيد روش ديگر براي اين كار تايپ نام متغير مي‌باشد. براي مشاهده مقادير متغير A حرف A را تايپ ‌كنيد.
دكمه Enter را فشار دهيد، تا نتيجه را مشاهده كنيد.
[تصویر:  037.gif]

اكنون مقادير اين متغير را مشاهده مي‌كنيد.
توجه کنید که شما میتواند آموزش Matlab را به همراه چند بخش آموزشی دیگر که بصورت شبیه سازی شده و تعاملی درس داده شده است و رایگان نیز میباشد از لینک آموزش Matlab دانلود کنید.