آموزش متلب

دستورات و عملیات ابتدایی در متلب

دستورات و عملیات ابتدایی در متلب

نرم افزار MATLAB برنامه كامپيوتري است كه براي كساني كه با محاسبات عددي، و بويــژه جـبر
خطي سر و كار دارند، تهيه شده است. نام اين نرم افزار از عبارت انگليسي MATrix LABoratory
اقتباس شده و هدف اوليه آن قادر ساختن مهندسين و دانشمندان به حــل مسـائل شـامل عمليـات
ماتريسي بدون نياز به نوشتن برنامه در زبانهاي برنامه نويســي متـداول همچـون C و FORTRAN
بود. با گذشت زمان قابليتهاي بسيار بيشتري به اين نرم افزار افزوده شده اند بطــوري كـه در حـال
حاضر MATLAB به ابزار پر قدرتي براي ترسيم داده ها، برنامه نويسي و انجام محاسبات مهندسـي
و پژوهشي تبديل شده است.
در طول اين جزوه علامت « علامتي است كه در محيــط كـار موجـود اسـت و نشـان دهنـده محـل
نوشتن دستورات مي باشد. شما نيازي نداريد كه آن را بنويسيد.

help  استفاده

در صورتي كه بخواهيد در مورد دستور و يا تابع خاصي اطلاعاتي بــه دسـت بيـاوريد مـي توانيـد در
پنجره MATLAB كلمه help و پس از آن نام دستور يا تابع مورد نظر را نوشته و كليد بازگشــت را
فشار دهيد:

» help magic
MAGIC Magic square.
MAGIC(N) is an N-by-N matrix constructed from the integers
1 through N^2 with equal row, column, and diagonal sums.
Produces valid magic squares for N = 1,3,4,5,…

روش ديگر استفاده از help بكار بردن دستور helpwin است. اين دستور پنجره كمك MATLAB
را باز مي كند و اجازه مي دهد تا توضيحــات مـورد نيـاز را در پنجـره جـداگانـه اي بدسـت آوريـد.
توضيحات داده شده در اين پنجره همانهايي هستند كه دستور help ارائه مي نمايد.
لازم به توضيح است كه نام دستورات و توابع در help با حروف بزرگ آورده مــي شـوند در حاليكـه
MATLAB نسبت به بزرگ و كوچك بودن حروف حساس است و هنگام استفاده از اين دستورات و
توابع بايد آنها را با حروف كوچك بكار برد.

demo  استفاده

دستور demo پنجره جديدي باز مي كند كه شما در آن مـي توانيـد مثالـهاي متعـددي از امكانـات
MATLAB را بيابيد. بسياري از اين مثالها نمودارهاي جالب و همراه با جزئيات توليد مي نمـايند و
همچنين توضيحات مفيدي در باره نحوه استفاده از MATLAB ارائه مي دهند. توصيه مي شود كه
حتما” تعدادي از اين مثالــها را مشـاهده كنيـد تـا متوجـه شـويد كـه چـه كارهـايي مـي تـوان بـا
MATLAB انجام داد. بويژه دقت كنيد كه چگونه برنامه هاي ساده مـي تواننـد نتـايج پيچيـده اي
توليد نمايند.

 عمليات ابتدايي در متلب
تعريف كردن آرايه ها و عمليات جبري روي آنها

در MATLAB چهار نوع آرايه مي توان تعريف كرد:
١. اعداد اسكالر كه تك عضوي هستند.
٢. بردارها كه شامل يك سطر يا ستون مي باشند (يك بعدي).
٣. ماتريسها كه از اعضاي چيده شده در يك آرايش مربعي تشكيل مي گردند (دو بعدي).
٤. آرايه هاي با ابعاد بيش از دو.

اعضاي يك آرايه مي توانند عدد و يا حرف باشند و تفاوتي بين اعداد صحيح و اعشاري وجود نــدارد.
در صورت جايگزيني يك عــدد و يـا حـرف در يـك متغـير، MATLAB مقـدار جـايگزين شـده را

بلافاصله نشان مي دهد مگر آنكه عبارت تعريف متغير با semicolon خاتمه يابد.

» a=2.5
a =
2.5000
» a=3.2;
» a
a =
3.2000
» p=’hello’
p =
hello

٣

MATLAB بين حروف كوچك و بزرگ فرق قائل است:

» A
??? Undefined function or variable ‘A’.

از آنجا كه نشان دادن مقادير به شكل فوق قدري طولاني است معمـولا” بـهتر اسـت كـه در انتـهاي
دستور معرفي متغير از semicolon استفاده كرد. در صورتي كه اين عمل را فراموش كنيد و برنامـه
شروع به نشان دادن مقاذير يك آرايه طولاني نمايد كافي است كه CONTROL C را فشار دهيد تـا
نشان دادن مقادير متوقف گردد. همانطور كه در بالا ديديد هميشه مي توان بـا نوشـتن نـام متغـير
مقدار آن را مشاهده نمود. همچنين مشاهده مي كنيد MATLAB يك خط فاصله بيــن دسـتورها
مي گذارد. براي حذف اين خطوط اضافي مي توانيد از دستور زير استفاده كنيد:

» format compact

اكنون چند بردار تعريف مي كنيم:

» v=[1 2 3]
v =
1 2 3
» w=[‘abcd’ ‘1234’]
w =abcd1234

براي تعريف بردارهاي عددي حتما” بايد از كروشه استفاده كرد ولي استفاده از آنها براي متغيرهــاي
حرفي الزامي نيست. حالت خاصي از بردار (كه در توابع MATLAB به عنوان جاي خـالي اسـتفاده
بسياري دارد) عبارتست از بردار تهي كه به صورت [ ] تعريف مي گردد.
نحوه تعريف ماتريسها به صورت زير است:

» m=[1 2 3
4 5 6]
m =
1 2 3
4 5 6
» n=[‘abcd’
‘1234’]
n =
abcd

1234

اعضاي يك ماتريس را مي شود بطور جداگانه مشاهده كرد و يا تغيير داد:

» m(2,3)
ans =
6
٤
» m(2,3)=7
m =
1 2 3
4 5 7

عمليات ساده جبري روي بردارها و ماتريسها به صورت زير انجام مي شود:

» 2*m
ans =
2 4 6
8 10 14
» m+1
ans =
2 3 4
5 6 8
» n1=[2 5 4
-1 -2 0];
» m+n1
ans =
3 7 7
3 3 7

لازم به ذكر است كه اعضاي يك سطر ماتريس را مي توان هم با فاصله و هم با ويرگول از هــم جـدا
كرد. بكار بردن semicolon در تعريف يك ماتريس به معناي انتقال به سطر بعدي مي باشد:

» q=[1, 2, 3
4 5 6; 7 8 9]
q =
1 2 3
4 5 6
7 8 9

عملگر دو نقطه ( : ) كاربرد زيادي در رجوع به سطرها، ستونها و يا بخشي از آرايه دارد:

» q(1,:)
ans =
1 2 3
» q(:,2)
ans =
2
5
8
» q(1:2,2:end)
ans =
2 3
5 6

اگر بخواهيد نام متغيرهاي ايجاد شده را ببينيد مي توانيد از دستور who استفاده نماييد:

» who
Your variables are:
a n q w
m p v

براي مشاهده نام متغيرهاي موجود به همراه اطلاعات اضافه تر در مورد آنــها دسـتور whos را بكـار
ببريد:

» whos
Name Size Bytes Class
a 1×1 8 double array
m 2×3 48 double array
n 2×4 16 char array
p 1×5 10 char array
q 3×3 72 double array
v 1×3 24 double array
w 1×8 16 char array
Grand total is 31 elements using 122 bytes

براي توليد بردارهاي عددي كه اعضاي آن به فاصلــه مسـاوي از هـم قـرار دارنـد روش سـاده اي در
MATLAB وجود دارد. فرض كنيد كه t برداري باشد كه عضو اول آن ٠، عضو آخر آن ٢ و اعضاي
آن به فاصله مساوي ٠/٥ از يكديگر باشند

» t=0:.5:2
t =
0 0.5000 1.0000 1.5000 2.0000

آرايه هاي چند بعدي (آرايه هايي كه بيش از دو بعد دارند) از امكانات جديــد پيـش بينـي شـده در
MATLAB 5 هستند. به عنوان مثال مي توان بعد سوم را به شكل زير بــه مـاتريس m كـه قبـلا”
تعريف شده افزود:

» m(:,:,2)=ones(2,3)
m(:,:,1) =
1 2 3
4 5 7
m(:,:,2) =
1 1 1
1 1 1

افزودن بعدهاي چهارم و بيشتر نيز به طريق مشابه امكان پذير است. اصطلاحا” به بعد سوم صفحــه
گفته مي شود ولي نام خاصي براي ابعاد چهارم به بعد وجود ندارد.

براي بدست آوردن طول يك بردار مي توانيد از دستور length استفاده كنيد:

» length(t)
ans =
5

دستور size تعداد سطرها و ستونهاي يك ماتريس را نمايش مي دهد:

» size(n)
ans =
2 4

استفاده از size در مورد آرايه هاي چند بعدي برداري را مي دهد كه مولفه هاي آن طــول آرايـه در
هر يك از ابعاد آن است.
برخي از توابعي كه در ساختن آرايه ها بكار مي روند عبارتند از:

يك ماتريس ٢*٢ با مولفه هاي ١ ايجاد مي كند (ones(2
يك ماتريس ٢*٣ با مولفه هاي ١ ايجاد مي كند (ones(2,3
يك ماتريس ٢*٣ با مولفه هاي صفر ايجاد مي كند (zeros(2
يك ماتريس يكه ٣*٣ ايجاد مي كند (eye(3
برداري با ٧ مولفه با فواصل مساوي بين ١- و ٥ ايجاد مي كند (linspace(-1,5,7
linspace(-1,2,8) كند مي ايجاد ١٠٢
و ١٠-١
برداري با ٨ مولفه با فواصل لگاريتمي مساوي بين
تعدادي از توابعي كه روي آرايه ها عمل مي كنند عبارتند از:
حاصل جمع مولفه هاي sum(x) x
حاصل جمع مولفه هاي x از اول تا هر مولفه (cumsum(x
حاصلضرب مولفه هاي prod(x) x
حاصلضرب مولفه هاي x از اول تا هر مولفه (cumprod(x
بزرگترين مولفه x را پيدا مي كند (max(x
كوچكترين مولفه x را پيدا مي كند (max(x
مولفه هاي x را مرتب مي كند (sort(x
ميانگين حسابي مولفه هاي mean(x) x
انحراف معيار مولفه هاي std(x)

سعید عربعامری
من سعید عربعامری نویسنده کتاب 28 گام موثر در فتح متلب مدرس کشوری متلب و سیمولینک و کارشناس ارشد مهندسی برق قدرتم . بعد از اینکه دیدم سایتهای متعدد یک مجموعه کامل آموزش متلب و سیمولینک ندارند به فکر راه اندازی این مجموعه شدم
http://sim-power.ir

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

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