Corporate 2 Template
Download
Report
Transcript Corporate 2 Template
دانشگاه کردستان
دانشکده کشاورزی
گروه مهندس ی بیوسیستم
برنامه نویس ی کامپیوتر
Computer Programming
فصل هفتم:
مقدمه ای بر MATLAB
مدرس:
دکتر کاوه مالزاده
مقدمه
MATLAB oیک نرم افزار قوی جهت استفاده دانشجویان و پژوهشگران رشته های ریاض ی و مهندس ی است که
اولین نگارش های آن در دانشگاه نیومکزیکو و استانفورد در سال 1970توسط Cleve Molerجهت حل مسائل
تئوری ماتریس ها ،جبر خطی و آنالیز عددی به وجود آمد .نسخه کامل MATLABدر سال 1984روانه بازار شد.
oلغت MATLABترکیبی از دو کلمه MATrix LABoratoryاست .در حقیقت MATLABیک زبان برنامه
نویس ی آسان با مشخصات بسیار پیشرفته و ساده تر از زبان های کامپیوتری نظیر پاسکال و Cاست .زبان برنامه نویس ی
این بسته ،بواسطه دارا بودن کتابخانه عظیم شامل توابع از پیش تعریف شده ،مدل های آماده و سیستم های شبیه
سازی و بهینه سازی توانسته است نیازهای کاربران را به صورت قابل قبولی ارضا کند .ماتریس ها ،معادلت
دیفرانسیل ،رشته های عددی ،ترسیمات و گراف ها از لوازم اصلی به کار رفته در ریاضیات و نیز در MATLABاست.
برنامه نویس ی کامپیوتر -گروه مهندس ی بیوسیستم– دانشگاه کردستان
http://agri.uok.ac.ir/k.mollazade
1
برخی از کاربردهای MATLAB
oکاربرد و اداره ماتریس ها و آرایه های جامع در آنالیز عددی
oیافتن ریشه های چند جمله ای ها با درجات بال
oرسم نمودارهای دو بعدی و سه بعدی با سیستم های مختصات مختلف
oانتگرال گیری و مشتق گیری
oکنترل و پردازش سیگنال
oشناسایی و هوش مصنوعی
oبهینه سازی و محاسبات سیمولینکی
برنامه نویس ی کامپیوتر -گروه مهندس ی بیوسیستم– دانشگاه کردستان
http://agri.uok.ac.ir/k.mollazade
2
مزایای استفاده از MATLAB
oنرم افزار MATLABهم می تواند به عنوان یک ماشین حساب و هم به عنوان یک زبان برنامه نویس ی به کار رود.
oرسم های گرافیکی و محاسبات را به زیبایی در کنار هم ترکیب می کند.
oیادگیری نرم افزار MATLABآسان است.
oیک نرم افزار تفسیری ( )interpreted languageاست نه مترجمی ( .)compiled languageبنابراین
تصحیح خطا در آن آسان است.
oطوری بهینه شده است که عملیات ماتریس ی را سریع انجام می دهد.
برنامه نویس ی کامپیوتر -گروه مهندس ی بیوسیستم– دانشگاه کردستان
http://agri.uok.ac.ir/k.mollazade
3
معایب استفاده از MATLAB
oیک زبان برنامه نویس ی با هدف های عام مانند C++ ،Cو FORTRANنیست.
oیک زبان تفسیری است؛ بنابراین از زبان های مترجمی کندتر است.
oبال بودن هزینه ی خرید نرم افزار
برنامه نویس ی کامپیوتر -گروه مهندس ی بیوسیستم– دانشگاه کردستان
http://agri.uok.ac.ir/k.mollazade
4
آشنایی با محیط MATLAB
oمنوهای اصلی پنجره ی Window ،Desktop ،Parallel ،Debug ،Edit ،File :MATLABو Help
oپنجره فرمان Command window :
oپنجره تاريخچه دستوراتCommand History :
oپنجره دايرکتوري جاري Current Directory :
oپنجره فضاي کاري و ویرایش متغیرها Work Space :
oمنوي Start
Simulink o
برنامه نویس ی کامپیوتر -گروه مهندس ی بیوسیستم– دانشگاه کردستان
http://agri.uok.ac.ir/k.mollazade
5
آشنایی با محیط MATLAB
برنامه نویس ی کامپیوتر -گروه مهندس ی بیوسیستم– دانشگاه کردستان
http://agri.uok.ac.ir/k.mollazade
6
آشنایی با محیط MATLAB
oدر منوی Fileمی توان M-fileها یا متغیرهای جدید را ایجاد ،باز یا ذخیره کرد؛ داده های جدید را وارد نمود و
بالخره از محیط MATLABخارج شد.
oدر منوی Editمی توان عملیاتی نظیر کپی کردن ،انتقال داده ها و خالی کردن دستورات سایر پنجره ها را انجام داد.
oمنوی Debugبرای مدیریت و اجرای M-fileها استفاده می شود.
oمنوی Parallelبرای مدیریت Configurationها استفاده می شود.
oمنوی Desktopبرای سفارش ی کردن پنجره های اصلی متلب مانند حذف یا ایجاد برخی ازپنجره ها استفاده می
شود.
oمنوی Windowبرای مدیریت پنجره ها استفاده می شود.
برنامه نویس ی کامپیوتر -گروه مهندس ی بیوسیستم– دانشگاه کردستان
http://agri.uok.ac.ir/k.mollazade
7
پنجره دستورات Command Window
oاصلی ترین پنجره MATLABاست که کاربر می تواند در این قسمت از دستورات ساده تا کدهای برنامه نویس ی
را در این محل تایپ کند و اجرا نماید .این دستورات در مقابل عالمت << ( )Command promptنوشته می
شوند و پس از اتمام دستورنویس ی و زدن Enterدستور مورد نظر اجرا می شود .این صفحه می تواند مانند یک
ماشین حساب ساده بکار برده شود .پیغام های خطا و سایر پیغام های MATLABدر این پنجره دیده می شود.
oبه عنوان مثال
>> 4+2
Ans= 6
oمحتویات این صفحه را می توان از طریق منوی Editو گزینه Clear command windowپاک کرد.
برنامه نویس ی کامپیوتر -گروه مهندس ی بیوسیستم– دانشگاه کردستان
http://agri.uok.ac.ir/k.mollazade
8
پنجره تاريخچه دستورات Command History
oهر بار که برنامه MATLABباز می شود ،زمان و تاریخ ورود کاربر در پنجره Command Historyبه رنگ سبز
ا
نشان داده می شود .مثال%-- 2/4/10 5:29 PM --% :
oپس دستوراتی که به برنامه می دهیم نیز پشت سر هم در این پنجره ذخیره می شوند .این دستورات تا زمانی که
پاک نشوند در لیست باقی می مانند .حتی بعد از خارج شدن از برنامه نیز همچنان سر جای خود باقی هستند .برای
اجرای دوباره این دستورات کافیست دو بار روی آنها کلیک چپ کنیم و برای پاک کردن آنها کافیست پس از انتخاب
دستورات مورد نظر بر روی آنها کلیک راست کرده و گزینه Delete selectionرا اجرا کنیم.
محتویات Command Historyاز طریق منوی Editسپس Clear command historyپاک می شود.
برنامه نویس ی کامپیوتر -گروه مهندس ی بیوسیستم– دانشگاه کردستان
http://agri.uok.ac.ir/k.mollazade
9
پنجره فضاي کاري Workspace
Workspace oیا محیط کار برای ایجاد ،انتقال و مشاهده ی متغیرهای ماتریس ی است .باید توجه کرد که مسئله
همنامی در متغیرها اتفاق نیفتد.
oاگر در این پنجره روی هر کدام از متغیرها دبل کلیک کنیم ،پنجره Array Editorمربوط به آن متغیر باز می شود
که در این پنجره می توان هر گونه تغییری در مقادیر متغیرها ایجاد کرد.
oبرای پاک کردن محتویات آن می توان از منوی Editسپس و گزینه Clear workspaceعمل نمود.
oپس از ایجاد متغیر در فضای کاری آیکون Saveفعال شده و می توان متغیر را به صورت MAT-fileذخیره کرد.
برنامه نویس ی کامپیوتر -گروه مهندس ی بیوسیستم– دانشگاه کردستان
http://agri.uok.ac.ir/k.mollazade
10
پنجره مسیر جاري Current Directory
oاین پنجره مکان فایلی را که برنامه ی در حال اجرای MATLABدر آن قرار دارد را نشان می دهد .که البته همه
فایل های موجود ،گزارشات و نتایج و ...را نیز نشان می دهد MATLAB .به طور پیش فرض پوشه ای در My
Documentبه نام MATLABایجاد می کند که می توان با تغییر مسیر و رفتن به شاخه جدید ،مدیریت شاخه را
در قسمت جدید انجام داد .هر دستور ورودی و خروجی در این فایل انجام خواهد شد (یعنی اگر پارامتری را بخواهیم
ذخیره کنیم در این شاخه و در این فایل ذخیره خواهد شد) .البته اگر بخواهیم برنامه ای را اجرا کنیم باید در این
شاخه باشد .در صورت یکی نبودن شاخه ها MATLAB ،خود شاخه را تغییر خواهد داد.
oتوجه :اگر یکی از پنجره ها را به اشتباه ببندید ،می توان از مسیر زیر یک بار دیگر به صفحه شکل و پنجره های اولیه
بازگشت.
Desktop>>Desktop layout>>Default
برنامه نویس ی کامپیوتر -گروه مهندس ی بیوسیستم– دانشگاه کردستان
http://agri.uok.ac.ir/k.mollazade
11
آشنایی با محیط MATLAB
oبا کلیک بر روی منوی Startبه تمامی قسمتهای MATLABاعم از Tool Boxها Help ،Simulink ،و سایر
قسمت ها دسترس ی پیدا می کنیم.
:Simulink oاز سیمولینک برای شبیه سازی سیستم های دینامیکی پیوسته و ناپیوسته زمانی خطی و غیرخطی
استفاده می شود .با کلیک برروی آن کتابخانه ی Simulinkیا Simulink Library Browserباز می شود.
oسفارش ی کردن :Desktop
برای مینیمم کردن پنجره است ،با کلیک برروی
آن پنجره به سمت راست صفحه می رود .برای بازگرداندن آن کافی
است برروی آن کلیک راست کرده و گزینه Restoreرا انتخاب کنیم.
برای آزاد کردن پنجره یا Undockکردن از منوی
استفاده می کنیم .برای بازگرداندن آن کافیست بر روی آیکون
( )Dockکلیک کرد.
برنامه نویس ی کامپیوتر -گروه مهندس ی بیوسیستم– دانشگاه کردستان
http://agri.uok.ac.ir/k.mollazade
12
متغیرها
oمتغیر در حقیقت فضایی اختصاص ی می باشد که نرم افزار از آن برای ذخیره مقادیر و ماتریس ها و یا هر نوع اطالعات
دیگر استفاده می کند.
oشرایط ایجاد متغیرها:
.1نرم افزار MATLABبه حروف بزرگ و کوچک بسیار حساس است و آن ها رامتفاوت می شناسد.
.2حرف اول یک متغیر نباید از عدد استفاده شود.
.3نام متغیرها حداکثر 63کاراکتر می تواند باشد (بستگی به نسخه نرم افزار دارد).
.4نام متغیرها را نباید از کلمات تعریف شده در MATLABباشد .البته دستورات MATLABبا حروف کوچک نوشته می شود
و شما می توانید برای نامگذاری متغیر خود از این نام ها با حروف بزرگ استفاده نمایید.
.5بین حروف یک کلمه نباید فاصله وجود داشته باشد.
.6از (_) در نامگذاری متغیرها می توان استفاده کرد ،اما از کاراکترهای عالمت و دستوری نمی توان استفاده کرد.
برنامه نویس ی کامپیوتر -گروه مهندس ی بیوسیستم– دانشگاه کردستان
http://agri.uok.ac.ir/k.mollazade
13
متغیرهای ویژه در MATLAB
ans .1برای ذخیره مقادیری که کاربر متغیری را برای ذخیره آن ها در نظر نگرفته است.
pi .2مقدار عدد پی ()3.1416
eps .3کوچک ترین عدد مثبت بزرگ تر از صفر (بزرگترین عددی که اگر با یک جمع شود باز هم یک را به عنوان نتیجه برمی
گرداند).
inf .4به عنوان عالمت بی نهایت .این مقدار از تقسیم یک عدد غیر صفر بر عدد صفر بدست می آید.
NaN .5یا nanمقدار غیر عددی (نتیجه تمام عملگرها روی NaNها NaN ،است) .این مقدار از تقسیم عدد صفر بر صفر
بدست می آید.
برنامه نویس ی کامپیوتر -گروه مهندس ی بیوسیستم– دانشگاه کردستان
http://agri.uok.ac.ir/k.mollazade
14
دو دستور کاربردی
پاک کردن پنجره دستورات ()Command window
پاک کردن پنجره دستورات و فضای کاری ()Command window & Workspace
برنامه نویس ی کامپیوتر -گروه مهندس ی بیوسیستم– دانشگاه کردستان
http://agri.uok.ac.ir/k.mollazade
>> clc
>> clear
15
ماتریس تک عنصری
oیک ماتریس از mسطر و nستون تشکیل شده است .در صورتی که m=n=1باشد ،ماتریس تک عنصری گفته
می شود.
>> a=2
=a
2
oدر صورتی که بخواهید تنها مقدار ثبت شود و نمایش داده نشود ،از عالمت ; در پایان دستور استفاده نمایید.
;>> a=2
برنامه نویس ی کامپیوتر -گروه مهندس ی بیوسیستم– دانشگاه کردستان
http://agri.uok.ac.ir/k.mollazade
16
ایجاد ماتریس mسطر و nستون
oاعضای یک ماتریس mسطر در nستون را باید در یک دراکت ] [ معرفی کرد .هر سطر را با عالمت ; از یکدیگر
جدا کنید .برای جداسازی ستون ها (اعضای هر سطر) می توان از فاصله یا عالمت ,استفاده کرد.
]>> a=[1,2,3
=a
3
1
2
]>> b=[1 3 5; 6 7 8; 5 3 0
=b
5
8
0
برنامه نویس ی کامپیوتر -گروه مهندس ی بیوسیستم– دانشگاه کردستان
http://agri.uok.ac.ir/k.mollazade
3
7
3
1
6
5
17
ماتریس با آرایه رشته (متن)
oبرای ایجاد کردن ماتریس ی که اعضای آن مقادیر رشته ای یا همان کاراکترهای متنی است ،کافی است رشته خود را در
داخل عالمت ‘رشته’ قرار دهید.
oنکته :تعداد کاراکترهای رشته ها باید با یکدیگر برابر باشد.
]'>> g=['MATLAB'; 'insert'; 'dimens
=g
MATLAB
insert
dimens
برنامه نویس ی کامپیوتر -گروه مهندس ی بیوسیستم– دانشگاه کردستان
http://agri.uok.ac.ir/k.mollazade
18
ایجاد ماتریس به روش سطری
oجهت ایجاد این گونه ماتریس ها از عالمت :استفاده می شود .در این روش می توان هم ماتریس سطری و هم
ماتریس ستونی و یا هر دو را ایجاد کرد.
عدد پایانی :مقدار پرش :عدد شروع = A
oدر صورتی که عدد مقدار پرش را ننویسید ،به صورت پیش فرض 1در نظر گرفته می شود.
]>> A = [7:-2:1; 1:4
>> A=2:2:10
=A
=A
1
4
3
3
5
2
10
7
1
برنامه نویس ی کامپیوتر -گروه مهندس ی بیوسیستم– دانشگاه کردستان
http://agri.uok.ac.ir/k.mollazade
8
6
4
2
19
دست یابی به آرایه ای مشخص از یک ماتریس
oبرای دستیابی به سطر یا ستونی خاص از یک ماتریس و یا حتی آرایه ای دلخواه از یک ماتریس ،از فرم های زیر
استفاده می شود:
از ماتریس Bآرایه سطر xو ستون yجدا شده و در متغیر Aقرار می گیرد.
)A=B(x,y
جدا کردن سطر xاز ماتریس Bو قرارگیری در ماتریس .A
)A=B(x,:
جدا کردن سطر yاز ماتریس Bو قرارگیری در ماتریس .A
)A=B(:,y
9
)>> j=A(3,:
)>> n=A(:,2
)>> B=A(2,3
]>> A=[1 2 3; 4 5 6; 7 8 9
=j
=n
=B
=A
8
7
2
5
8
6
برنامه نویس ی کامپیوتر -گروه مهندس ی بیوسیستم– دانشگاه کردستان
http://agri.uok.ac.ir/k.mollazade
3
6
9
2
5
8
1
4
7
20
دست یابی به آرایه ای مشخص از یک ماتریس
oنکته :در صورتی که بخواهید از عدد مورد نظر ماتریس خود تا آخرین آرایه سطر یا ستون جدا کنید ،اما عدد آخرین
آرایه را نمی شناسید ،می توانید از کلمه endاستفاده نمایید.
)>> nn=x(2:end, 1:end-1
]>> x=[1 2 3 4; 5 6 7 8; 9 10 11 12
= nn
=x
7
11
6
10
5
9
برنامه نویس ی کامپیوتر -گروه مهندس ی بیوسیستم– دانشگاه کردستان
http://agri.uok.ac.ir/k.mollazade
3 4
7 8
11 12
2
6
10
1
5
9
21
اضافه کردن سطر یا ستون به ماتریس
oدر صورتی که بخواهید به یک ماتریس که در یک متغیر قرار داده شده است سطری را اضافه کنید ،به صورت زیر
عمل کنید:
]]سطر مورد نظر[ ;A = [A
oدر صورتی که بخواهید به یک ماتریس که در یک متغیر قرار داده شده است ستونی را اضافه کنید ،به صورت زیر
عمل کنید:
]’]ستون مورد نظر[ A = [A
]']>> cx=[d [1 1 6
]]>> bb=[d;[4 4 3
]>> d=[1 2 3; 4 5 6; 7 8 9
= cx
= bb
=d
1
1
6
3
6
9
2
5
8
1
4
7
3
6
9
3
2
5
8
4
1
4
7
4
برنامه نویس ی کامپیوتر -گروه مهندس ی بیوسیستم– دانشگاه کردستان
http://agri.uok.ac.ir/k.mollazade
3
6
9
2
5
8
1
4
7
22
ایجاد ماتریس با استفاده از توابع
oماتریس واحد
(تعداد ستون ,تعداد سطر) A = eye
)>> A=eye(3,3
0
0
1
oماتریس یک
0
1
0
=A
1
0
0
(تعداد ستون ,تعداد سطر) A = ones
)>> A=ones(3,3
1
1
1
برنامه نویس ی کامپیوتر -گروه مهندس ی بیوسیستم– دانشگاه کردستان
http://agri.uok.ac.ir/k.mollazade
1
1
1
=A
1
1
1
23
ایجاد ماتریس با استفاده از توابع
oماتریس صفر
(تعداد ستون ,تعداد سطر) A = zeros
)>> A=zeros(3,4
0
0
0
oماتریس تصادفی (اعداد اتفاقی بین 0و )1
0
0
0
0
0
0
=A
0
0
0
(تعداد ستون ,تعداد سطر) A = rand
)>> A=rand(3,4
0.9649
0.1576
0.9706
0.2785
0.5469
0.9575
برنامه نویس ی کامپیوتر -گروه مهندس ی بیوسیستم– دانشگاه کردستان
http://agri.uok.ac.ir/k.mollazade
0.9134
0.6324
0.0975
=A
0.8147
0.9058
0.1270
24
ایجاد ماتریس با استفاده از توابع
oماتریس تصادفی (اعداد مثبت و منفی تصادفی)
(تعداد ستون ,تعداد سطر) A = randn
)>> A=randn(3,4
1.4090 -1.2075
1.4172 0.7172
0.6715 1.6302
oماتریس مربعی جادویی (ماتریس ی مربعی که جمع سطرها یا
ستون ها برابر است)
=A
0.7254 -0.2050
-0.0631 -0.1241
0.7147 1.4897
(تعداد سطر و ستون) A = magic
)>> A=magic(3
6
7
2
برنامه نویس ی کامپیوتر -گروه مهندس ی بیوسیستم– دانشگاه کردستان
http://agri.uok.ac.ir/k.mollazade
1
5
9
=A
8
3
4
25
توابع اطالعاتی ماتریس
oشناسایی متغیرها :این دستور لیست تمام متغیرهای
مورد استفاده را به همراه ابعاد و مقدار حافظه اشغال
شده در برنامه و حقیقی یا مختلط بودن آن ها را نمایش
می دهد.
Attributes
whos
Bytes Class
72 double
8 double
96 double
oاندازه ماتریس ها :این دستور اندازه ماتریس را به
صورت دو عدد که اولی تعداد سطر و دومی تعداد ستون
ماتریس مدنظر است ،نشان می دهد.
Size
>> whos
Name
A
B
x
3x3
1x1
3x4
)A = size (B) or [m, n] = size (B
)>> [m, n]=size(x
)>> A=size(x
]>> x=[1 2 3; 5 4 7
=m
2
=n
3
=A
2
=x
3
برنامه نویس ی کامپیوتر -گروه مهندس ی بیوسیستم– دانشگاه کردستان
http://agri.uok.ac.ir/k.mollazade
3
7
2
4
1
5
26
توابع اطالعاتی ماتریس
oاندازه ماتریس سطری یا بردار :این دستور تعداد
آرایه های ماتریس Bدر هر سطر را در ماتریس Aقرار می
دهد .این دستور در واقع طول بردار را نشان می دهد.
)A = length (B
)>> A=length(x
]>> x=[1 2 3 5 4 7
=A
6
=x
7
oنمایش آرایه :با این دستور متون مورد نظر خود را می
توانید با قرار دادن در بین عالمت ‘ ‘ به نمایش در آورید.
4
5
3
2
1
)’متن‘( disp
)'>> disp ('Hello
Hello
برنامه نویس ی کامپیوتر -گروه مهندس ی بیوسیستم– دانشگاه کردستان
http://agri.uok.ac.ir/k.mollazade
27
عملگرهای ریاض ی خارجی (عملگرهای ریاض ی ماتریس ی)
نام عملگر
عالمت
نحوه استفاده
جمع
+
A+B
تفریق
-
A–B
تقسیم Aبر B
/
A/B
تقسیم Bبر A
\
A\B
ترانهاده
‘
’A
ضرب
*
A*B
توان
^
A^B
برنامه نویس ی کامپیوتر -گروه مهندس ی بیوسیستم– دانشگاه کردستان
http://agri.uok.ac.ir/k.mollazade
28
عملگرهای ریاض ی داخلی (عملگرهای ریاض ی درایه ای (درایه به درایه))
نام عملگر
عالمت
نحوه استفاده
جمع
+
A+B
تفریق
-
A–B
تقسیم Aبر B
./
A ./ B
تقسیم Bبر A
\.
A .\ B
ترانهاده
‘
’A
ضرب
*.
A .* B
توان
^.
A .^ B
برنامه نویس ی کامپیوتر -گروه مهندس ی بیوسیستم– دانشگاه کردستان
http://agri.uok.ac.ir/k.mollazade
29
عملگرهای منطقی
نام عملگر
عالمت
نحوه استفاده
NOT
~
~A
AND
&
A&B
OR
|
A|B
XOR
xor
)xor(A,B
>> A|B
>> ~B
]>> A=[1 2; 3 4
= ans
1 1
1 1
= ans
0 0
0 1
=A
1
3
)>> xor (A,B
>> A&B
]>> B=[2 2; 2 0
= ans
0 0
0 1
= ans
1 1
1 0
=B
2
2
برنامه نویس ی کامپیوتر -گروه مهندس ی بیوسیستم– دانشگاه کردستان
http://agri.uok.ac.ir/k.mollazade
2
4
2
0
30
عملگرهای رابطه ای
نام عملگر
مساوی
عالمت
نحوه استفاده
==
A == B
نامساوی
=~
A ~= B
بزرگ تر
>
A>B
کوچک تر
<
A<B
بزرگ تر مساوی
کوچک تر مساوی
=>
A >=B
=<
A <= B
برنامه نویس ی کامپیوتر -گروه مهندس ی بیوسیستم– دانشگاه کردستان
http://agri.uok.ac.ir/k.mollazade
31
توابع اولیه ریاض ی
oجمع ستون:
این تابع که حاصل آن یک ماتریس سطری است ،آرایه های
)A = sum (B
موجود در ستون ماتریس Bرا جمع کرده و حاصل را در متغیر Aقرار می دهد.
;]>> B=[1 1 4; 3 5 6
)>> A=sum(B
10
oماکزیمم ستون:
این تابع که حاصل آن یک ماتریس سطری است ،آرایه های
)A = max (B
موجود در ستون ماتریس Bرا مقایسه کرده و ماکزیمم مقدار هر ستون را در متغیر A
قرار می دهد.
6
=A
4
;]>> B=[1 1 4; 3 5 6
)>> A=max(B
6
برنامه نویس ی کامپیوتر -گروه مهندس ی بیوسیستم– دانشگاه کردستان
http://agri.uok.ac.ir/k.mollazade
5
=A
3
32
توابع اولیه ریاض ی
oمینیمم ستون:
این تابع که حاصل آن یک ماتریس سطری است ،آرایه های
)A = min (B
موجود در ستون ماتریس Bرا مقایسه کرده و مینیمم مقدار هر ستون را در متغیر A
قرار می دهد.
;]>> B=[1 1 4; 3 5 6
)>> A=min(B
4
oمیانگین ستون:
این تابع که حاصل آن یک ماتریس سطری است ،میانگین هر
ستون ماتریس Bرا در متغیر Aقرار می دهد.
1
=A
1
)A = mean (B
;]>> B=[1 1 4; 3 5 6
)>> A=mean(B
5
برنامه نویس ی کامپیوتر -گروه مهندس ی بیوسیستم– دانشگاه کردستان
http://agri.uok.ac.ir/k.mollazade
3
=A
2
33
توابع اولیه ریاض ی
oمیانه ستون:
این تابع که حاصل آن یک ماتریس سطری است ،میانه هر ستون
)A = median (B
ماتریس Bرا در متغیر Aقرار می دهد.
;]>> B=[1 1 4; 3 5 7
)>> A=median(B
5.5
oمرتب سازی ستون ماتریس:
این تابع آرایه های ستون های ماتریس Bرا
3.0
=A
2.0
)A = sort (B
به صورت صعودی مرتب می کند و در متغیر Aقرار می دهد.
;]>> B=[1 8 4; 3 5 9; 2 6 8
)>> A=sort(B
=A
1 5 4
2 6 8
3 8 9
برنامه نویس ی کامپیوتر -گروه مهندس ی بیوسیستم– دانشگاه کردستان
http://agri.uok.ac.ir/k.mollazade
34
توابع اولیه ریاض ی
oفاکتوریل ماتریس:
این دستور ،فاکتوریل هر درایه از ماتریس Bرا در متغیر
)A = factorial (B
Aبه صورت ماتریس قرار می دهد.
;]>> B=[1 1 4; 3 5 7
)>> A=factorial(B
=A
24
5040
oچرخش ماتریس:
این دستور به اندازه 90درجه در جهت خالف عقربه ساعت
ماتریس Bرا چرخش داده و در متغیر Aبه صورت ماتریس قرار می دهد.
)>> A=rot90(B
=A
4 7
1 5
1 3
برنامه نویس ی کامپیوتر -گروه مهندس ی بیوسیستم– دانشگاه کردستان
http://agri.uok.ac.ir/k.mollazade
1
120
1
6
)A = rot90 (B
]>> B=[1 1 4; 3 5 7
=B
1 1 4
3 5 7
35
توابع اولیه ریاض ی
oدترمینان ستون:
این دستور ،دترمینان ماتریس Bرا محاسبه کرده و در متغیر
)A = det (B
Aقرار می دهد.
)>> A=det(B
=A
-49
oقطر اصلی ماتریس:
]>> B=[1 1 4; 3 5 7; 8 9 5
=B
1 1 4
3 5 7
8 9 5
این دستور قطر اصلی ماتریس Bرا جدا کرده و در
)A = diag (B
متغیر Aبه صورت ماتریس ستونی قرار می دهد.
)>> A=diag(B
=A
1
5
5
]>> B=[1 1 4; 3 5 7; 8 9 5
=B
1 1 4
3 5 7
8 9 5
برنامه نویس ی کامپیوتر -گروه مهندس ی بیوسیستم– دانشگاه کردستان
http://agri.uok.ac.ir/k.mollazade
36
توابع اولیه ریاض ی
oتشخیص وجود مقادیر غیرقابل قبول ماتریس:
توسط این
)A = isnan (B
دستور ،مقادیر غیرقابل قبول ماتریس Bمانند ( 1/0یک تقسیم بر صفر) را به صورت
عدد یک و اعداد قابل قبول را به صورت عدد صفر در ماتریس Aقرار می دهد.
]>> B=[1 0 4; 3 nan 7; 8 9 nan
)>> A=isnan(B
0
0
1
oگرد کردن آرایه به سمت صفر:
0
1
0
=B
1 0 4
3 NaN 7
8 9 NaN
=A
0
0
0
توسط این دستور ،مقادیر آرایه
)A = fix (B
ماتریس Bبه سمت صفر گرد شده و در ماتریس Aقرار می گیرد.
4
7
)>> A=fix(B
]>> B=[1.26 0.99 4; 3 -3.68 7
=A
1
3
=B
1.2600 0.9900
3.0000 -3.6800
0
-3
4.0000
7.0000
برنامه نویس ی کامپیوتر -گروه مهندس ی بیوسیستم– دانشگاه کردستان
http://agri.uok.ac.ir/k.mollazade
37
توابع اولیه ریاض ی
oگرد کردن آرایه به سمت منفی بی نهایت:
توسط این دستور،
)A = floor (B
مقادیر آرایه ماتریس Bبه سمت منفی بی نهایت گرد شده و در ماتریس Aقرار می گیرد.
)>> A=floor(B
]>> B=[1.26 0.99 4; 3 -3.68 7
=A
1
3
=B
1.2600 0.9900
3.0000 -3.6800
4
7
oگرد کردن آرایه به سمت بی نهایت:
0
-4
4.0000
7.0000
توسط این دستور ،مقادیر آرایه
)A = ceil (B
ماتریس Bبه سمت بی نهایت گرد شده و در ماتریس Aقرار می گیرد.
)>> A=ceil(B
]>> B=[1.26 0.99 4; 3 -3.68 7
=A
2
3
=B
1.2600 0.9900
3.0000 -3.6800
4
7
1
-3
4.0000
7.0000
برنامه نویس ی کامپیوتر -گروه مهندس ی بیوسیستم– دانشگاه کردستان
http://agri.uok.ac.ir/k.mollazade
38
توابع اولیه ریاض ی
oباقی مانده تقسیم:
توسط این دستور ،باقی مانده تقسیم آرایه های ماتریس
)C = rem (B, A
Bبر ماتریس Aدر ماتریس Cقرار می گیرد.
;]>> B=[8 6.99 4
;]>> A=[3 3.68 2
)>> C=rem(B,A
0
oقدرمطلق بعد از تقسیم:
توسط این دستور ،مقدار یا ماتریس Bبر مقدار
3.3100
=C
2.0000
)C = mod (B, A
یا ماتریس Aتقسیم شده و قدرمطلق حاصل تقسیم در متغیر Cقرار می گیرد.
)>> C=mod(-14, 5
=C
1
برنامه نویس ی کامپیوتر -گروه مهندس ی بیوسیستم– دانشگاه کردستان
http://agri.uok.ac.ir/k.mollazade
39
توابع اولیه ریاض ی
oجستجوی آرایه:
توسط این دستور می توان مکان آرایه های مورد نظر خود در
)C = find (B, A
ماتریس Bرا نسبت به شرایطی که با عملگرها انتخاب می کنید را جدا کرده و در متغیر
Aبه صورت ماتریس ستونی قرار می دهد.
]>> B=[1 1 4; 3 5 7; 8 9 5
)>> [A, C]=find(B>5
=A
=C
3
1
3
2
2
3
oتابع نمایی:
)>> A=find(B>5
=A
3
6
8
این دستور عدد eرا به توان ماتریس Bرسانده و حاصل را در متغیر
4
7
5
1
5
9
=B
1
3
8
)A = exp (B
Aقرار می دهد.
;]>> B=[1 3 4
)>> A=exp(B
=A
2.7183 20.0855 54.5982
برنامه نویس ی کامپیوتر -گروه مهندس ی بیوسیستم– دانشگاه کردستان
http://agri.uok.ac.ir/k.mollazade
40
توابع اولیه ریاض ی
oلگاریتم:
توسط این دستور لگاریتم طبیعی ماتریس Bگرفته شده و در ماتریس A
)A = log (B
قرار داده می شود.
;]>> B=[1 3 4
)>> A=log(B
=A
1.3863
oلگاریتم بر مبنای :2
توسط این دستور لگاریتم مبنای 2ماتریس Bگرفته
1.0986
0
)A = log2 (B
شده و در ماتریس Aقرار داده می شود.
;]>> B=[1 3 4
)>> A=log2(B
=A
2.0000
برنامه نویس ی کامپیوتر -گروه مهندس ی بیوسیستم– دانشگاه کردستان
http://agri.uok.ac.ir/k.mollazade
1.5850
0
41
توابع اولیه ریاض ی
oلگاریتم بر مبنای :10
توسط این دستور لگاریتم مبنای 10ماتریس Bگرفته
)A = log10 (B
شده و در ماتریس Aقرار داده می شود.
;]>> B=[1 3 4
)>> A=log10(B
=A
0.6021
oجذر:
0.4771
توسط این دستور جذر ماتریس Bگرفته شده و در ماتریس Aقرار داده می
0
)A = sqrt (B
شود.
;]>> B=[1 3 4
)>> A=sqrt(B
2.0000
برنامه نویس ی کامپیوتر -گروه مهندس ی بیوسیستم– دانشگاه کردستان
http://agri.uok.ac.ir/k.mollazade
1.7321
=A
1.0000
42
توابع اولیه ریاض ی
oقدرمطلق:
توسط این دستور قدرمطلق ماتریس Bگرفته شده و در ماتریس A
)A = abs (B
قرار داده می شود .این تابع اندازه مقادیر مختلط را هم نشان می دهد.
;]>> B=[1 -3 2-2j
)>> A=abs(B
2.8284
oجداکردن بخش موهومی عدد مختلط:
توسط این دستور بخش موهومی
3.0000
=A
1.0000
)A = imag (B
آرایه های مختلط ماتریس Bگرفته شده و در ماتریس Aقرار داده می شود .برای نوشتن
اعداد موهومی از حروف iو jاستفاده می شود.
;]>> B=[1+4.2j 3-5j 4
)>> A=imag(B
0
برنامه نویس ی کامپیوتر -گروه مهندس ی بیوسیستم– دانشگاه کردستان
http://agri.uok.ac.ir/k.mollazade
=A
4.2000 -5.0000
43
توابع اولیه ریاض ی
oجداکردن بخش حقیقی عدد مختلط:
توسط این دستور بخش حقیقی
)A = real (B
آرایه های مختلط ماتریس Bگرفته شده و در ماتریس Aقرار داده می شود .برای نوشتن
اعداد موهومی از حروف iو jاستفاده می شود.
;]>> B=[1+4.2j 3-5j 4
)>> A=real(B
4
oزاویه فاز بر حسب رادیان:
توسط این دستور می توان اندازه زاویه فاز آرایه
3
=A
1
)A = angle (B
های مختلط ماتریس Bرا گرفته و در ماتریس Aقرار داد.
;]>> B=[1+4.2j 3-5j 4
)>> A=angle(B
0
برنامه نویس ی کامپیوتر -گروه مهندس ی بیوسیستم– دانشگاه کردستان
http://agri.uok.ac.ir/k.mollazade
=A
1.3371 -1.0304
44
توابع اولیه ریاض ی
oمزدوج:
توسط این دستور می توان مزدوج آرایه های مختلط ماتریس Bرا گرفته و در
)A = conj (B
ماتریس Aقرار داد.
;]>> B=[1+4.2j 3-5j 4j
)>> A=conj(B
0 - 4.0000i
oتشکیل عدد مختلط:
=A
1.0000 - 4.2000i 3.0000 + 5.0000i
توسط این دستور می توان دو عدد Aو Bرا به عدد
)C= complex(A, B
مختلط به فرم A+Biتبدیل نمود و در ماتریس Cقرار داد.
)>> C=complex(3,4
=C
3.0000 + 4.0000i
برنامه نویس ی کامپیوتر -گروه مهندس ی بیوسیستم– دانشگاه کردستان
http://agri.uok.ac.ir/k.mollazade
45
توابع مثلثاتی
بر حسب
درجه
تابع
فرم استفاده
سینوس
)A = sind (B
کسینوس
)A = cosd (B
تانژانت
)A = tand (B
کتانژانت
)A = cotd (B
عکس سینوس
)A = asind (B
عکس کسینوس
)A = acosd (B
عکس تانژانت
)A = atand (B
عکس کتانژانت
)A = acotd (B
برنامه نویس ی کامپیوتر -گروه مهندس ی بیوسیستم– دانشگاه کردستان
http://agri.uok.ac.ir/k.mollazade
46
توابع مثلثاتی
بر حسب
رادیان
تابع
فرم استفاده
سینوس
)A = sin (B
کسینوس
)A = cos (B
تانژانت
)A = tan (B
کتانژانت
)A = cot (B
عکس سینوس
)A = asin (B
عکس کسینوس
)A = acos (B
عکس تانژانت
)A = atan (B
عکس کتانژانت
)A = acot (B
برنامه نویس ی کامپیوتر -گروه مهندس ی بیوسیستم– دانشگاه کردستان
http://agri.uok.ac.ir/k.mollazade
47
توابع مثلثاتی
بر حسب
هایپربولیک
تابع
فرم استفاده
سینوس
)A = sinh (B
کسینوس
)A = cosh (B
تانژانت
)A = tanh (B
کتانژانت
)A = coth (B
عکس سینوس
)A = asinh (B
عکس کسینوس
)A = acosh (B
عکس تانژانت
)A = atanh (B
عکس کتانژانت
)A = acoth (B
برنامه نویس ی کامپیوتر -گروه مهندس ی بیوسیستم– دانشگاه کردستان
http://agri.uok.ac.ir/k.mollazade
48
برنامه نویس ی کامپیوتر -گروه مهندس ی بیوسیستم– دانشگاه کردستان
http://agri.uok.ac.ir/k.mollazade