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‬‬