MATLABآشنایی با نرم افزار
Download
Report
Transcript MATLABآشنایی با نرم افزار
آشنایی با نرم افزار MATLAB
MATLABچیست؟!
MATLABکه نام آن از عبارت انگلیس ی MATrix LABoratoryبه
معنی آزمایشگاه ماتریس
اولين نگارش هاي آن در دانشگاه نيومکزيکو و استانفورد در سال ١٩٧٠در
جهت حل مسائل تئوري ماتريس ها ،جبرخطي و آناليز عددي
هدف اوليه آن قادر ساختن مهندسين و دانشمندان به حل مسائل شامل
عمليات ماتريس ي بدون نياز به نوشتن برنامه در زبان هاي برنامه نويس ي متداول
همچون Cو FORTRANبود )(LINPACK
MATLABچیست؟!
در ادامه ی هدف گفته شد باید گفت:ماتريس ها ،معادالت ديفرانسيل ،رشته
هاي عددي اطالعات ،ترسيمات و گراف ها از لوازم اصلي بکار گرفته در
رياضيات و نيز در MATLABهستند.
در چه زمینه هایی استفاده می شود؟MATLABاز
برای حل مسائلی که به شکلHigh-performance Language این برنامه یک
زبان آن مبتنی بر مفهوم آرایه می باشد و قابلیت.ریاض ی و با عالئم ریاض ی قابل بیان هستند
. را داردObject Oriented Programming
:از این برنامه در موارد زیر استفاده می شود
Math and computation
Algorithm development
Modeling, simulation
Data analysis, exploration, and visualization
Scientific and engineering graphics
Application development
including graphical user interface building
نمای کلی MATLABو آشنایی با پنجره های آن
Command Window
ابتدا نحوه ی آوردن این صفحه نشان داده شود.
محیط کاری اصلی MATLAB
دستورات و توابع در این قسمت درج می شود
Command window promptیا »
بررس ی چند دستور در این پنجره
کاربرد clc
MATLABدارای خاصیت Case Sensitiveمی باشد.
Command History
هر بار که شما برنامه MATLABرا باز می کنید ،زمان و تاریخ وررود شما در
Command Historyبه رنگ سبز نشان داده می شود
دستوراتي که در برنامه مورد استفاده قرار می گيرد پشت سر هم در اين پنجره ذخيره
مي شوند.
اين دستورات حتي بعد از خارج شدن از برنامه نيز هم چنان سر جاي خود باقي مي
مانند و حذف نمي شوند.
ً
با کليک بر روي اين دستورات ذخيره شده شما مي توانيد آنها را مجددا اجرا کنيد.
برای فعال کردن این پنجره از منوی Desktop >> Command
Historyاستفاده می شود.
Workspace
امکان مشاهده ی تمامی متغيرهايي که در MATLABتعريف
کرده ايم.
امکان تغیير آنها می باشد.
امکان پاک کردن تمامی متغیيرها در منوی Edit
Help
یکی از منوهای MATLAB
به عنوان یک دستور
دستوری با نام Helpwin
تذکر:الزم به توضيح است كه نام دستورات و توابع در helpبا حروف
بزرگ آورده مي شوند ،در حاليكه
MATLABنسبت به بزرگ و كوچك بودن حروف حساس است
DEMO
پنجره demoدستور جديدي باز مي كند كه شما در آن مي
توانيد مثال هاي متعددي از امكانات MATLABرا بيابيد.
چند دستور و عمل ابتدایی
عملیات ابتدایی
در MATLABچهار نوع آرايه مي توان تعريف كرد:
اعداد اسكالر كه تك عضوي هستند.
بردارها كه شامل يك سطر يا ستون مي باشند (يك بعدي).
ماتريس ها كه از اعضاي چيده شده در يك آرايش مربعي تشكيل مي گردند(دو
بعدي).
آرايه هاي با ابعاد بيش از دو.
اعضاي يك آرايه مي توانند حرف ویا عدد باشند (اعداد صحيح و اعشاري)
وجود ; در هنگام تعریف یک متفير...
نحوه ی صدا کردن متغير
عملیات ابتدایی (ادامه)
اعمال ساده ی ریاض ی به راحتی انجام شده و در متغيری به نام ansکه در همان
لحظه ساخته می شود،ریخته می شود.
می توان متغيرها را هم با هم جمع کرد.
در نام گذاري متغيرها بايد موارد زير را رعايت کرد:
MATLABنسبت به حروف کوچك و بزرگ حساس است.
اسامي متغيرها حداکثر مي تواند ٣١کرکتر باشد.
اسامي متغيرها حتما بايد با حرف شروع شود (کرکتر اول نبايد عدد باشد).
جز کلمات تعريف شده براي MATLABنباشد (اين کلمات به رنگ آبي نوشته مي
شود ،مثل )for
براي شناسايي کلمات کلیدی MATLABمي توان از دستور iskeyword
استفاده کر د.
عملیات ابتدایی (ادامه)
واضح است ،از آنجایی که تمام دستورات و عبارات کليدي MATLABبا حروف
کوچك نوشته مي شود .بنابراين مي توان اسامي آن ها را با حروف بزرگ براي نام
گذاري متغيرها به کار برد.
اگر بخواهيم چند دستور را در يك خط بنويسيم ،بايد از کاما ( )،و سميكالن (؛)
استفاده کنيم .سميكالن باعث مي شود محاسبات انجام شود ولي نتايج نمايش داده
نشود.
;» a=3; b=4; c=1
,و ; یک عملکرد دارند با این تفاوت که ; باعث می شود شرح کار نشان داده نشود.
براي توقف پردازش برنامه از Ctrl + cاستفاده کنيد.
چند متغير خاص
در MATLABمتغيرهاي ويژه اي وجود دارد که هر يك مقادير خاص ي را
در خود ذخيره مي کنند:
ansبراي ذخيره مقاديري که کاربر متغيري را براي ذخيره آنها در نظر
نگرفته است.
piمقدار عدد پي ()3.1416
epsکوچكترين عدد مثبت بزرگتر از صفر
infبه عنوان عالمت بينهايت
NaNيا nanمقدار غير عددي (نتيجه تمام عملگرها روي NaN
هاNaN ،است).
چند دستور ساده
:WHoبرای نمایش نام متغيرهای تعریف شده.
:Clearبرای پاک کردن یک یا چندین متغير.
:Whosدر جهت نمایش نام و اطالعات کامل تری از متغير.
عمليات و توابع منطقي
مقايسه منطقي
در MATLABعالمت هاي زير براي مقايسه مقادير عددي و حرفي بكار
مي روند.
كوچكتر از
كوچكتر از يا مساوي با >=
بزرگتر از
بزرگتر از يا مساوي با
مساوي با
مخالف با
>
<
<=
==
~=
Example of >=
» [1 2]>=[0 3]
ans =
10
عملگرهای منطقي
روابط منطقي را مي توان با استفاده از عملگرهاي منطقي با
هم تركيب کرد .اين عملگرها عبارتند از:
&
و (تركيب عطفي)
|
يا (تركيب فصلي)
xor
يا (مانع جمع)
~
نقيض
Example Of XOR
)]» xor([0 0 1 1],[0 1 0 1
= ans
0 1 1 0
توجه كنيد كه xorيك تابع است و دو بردار ورودي به آن بايد
هم اندازه باشند.
نحوه تعريف ماتريس ها
آرایه ها در MATLABبه سادگی ایجاد می شوند .ساده ترین و ابتدایی ترین
راه ،تایپ تمام مقادیر بين دو ] [ می باشد.
برخي از توابعي كه در ساختن آرايه ها بكار مي روند عبارتند از:
يك ماتريس 2*2با مولفه هاي ١ايجاد مي كندones(2) .
يك ماتريس 2*3با مولفه هاي ١ايجاد مي كندones(2,3) .
)zeros(2
يك ماتريس 2*2با مولفه هاي صفر ايجاد مي كند.
)eyes(3
يك ماتريس يكه 3*3ايجاد مي كند.
برداري با ٧مولفه با فواصل مساوي بين -1و ٥ايجاد مي كند.
)linspace(-1,5,7
برداري با ٨مولفه با فواصل لگاريتمي مساوي بين 10-1و 102ايجاد مي كند.
)logspace(-1,2,8
از aشروع کنb ،تا bتا برو جلو تا به cبرس ی .در این روش bکه گام حرکت
نام دارد می تواند منفی باشد.
a:b:c
در MATLABمی توان آرایه های ستونی نيز معرفی کرد .برای تولید سطر جدید
از سمیکالن (؛) استفاده می کنیم .راه دیگر ایجاد سطر این است که بعد از معرفی
سطر اول با زدن enterبه خط بعد رفته و به معرفی سطر بعد بپردازید.
در این مورد به چند نکته باید توجه کرد:
تعداد ستون ها در هر سطر باید برابر باشد ،در غير این صورت پیغام خطایی
نمایش داده می شود.
تعداد فواصلی که برای جدا کردن اعداد به کار می روند برای MATLABمهم
نیست .یعنی MATLABفضاهای خالی اضافه را تشخیص داده و حذف می
کند.
تعدادي از توابعي كه روي آرايه ها عمل مي كنند
)sum(x
حاصل جمع مولفه هاي x
حاصل جمع مولفه هاي xاز اول تا هر مولفه )cumsum(x
)prod(x
حاصلضرب مولفه هايx
)cumprod(x
حاصلضرب مولفه هاي xاز اول تا هر مولفه
)max(x
بزرگترين مولفه xرا پيدا مي كند
)min(x
كوچكترين مولفه xرا پيدا مي كند
)sort(x
مولفه هاي xرا مرتب مي كند
)mean(x
ميانگين حسابي مولفه هاي x
)std(x
انحراف معيار مولفه هاي x
الحاق دو یا چند آرایه
دو آرایه مفروض aو bرا می توان با استفاده از دستورات
( [a,b] الحاق سطری)
( [a;b] الحاق ستونی)
به یکدیگر الحاق کرد و به این ترتیب آرایه هایی با سطرها و ستون ها ي متعدد
داشت ،البته در الحاق سطری تعداد سطرها و در الحاق ستونی تعداد ستون های
دو آرایه باید مساوی باشند.
همچنين می توان تعداد آرایه های الحاقی را به طور دلخواه افزایش داد.
عمليات ماتريس ي روي آرايه ها
شامل محاسبه ترانهاده ،ضرب ماتريس ي ،جمع و تفريق آرايه هاي
هم اندازه و غيره مي شود.
تعدادي از توابع ماتريس ي در زير آورده شده اند:
)det(a
دترمینان ماتریس مربعی
)inv(a
ماتريس وارون
)eig(a
مقادير و بردارهاي ويژه ماتريس مربعي
)poly(a
چند جمله اي مشخصه ماتريس
عمليات عضو به عضو
در این حالت قبل از عملگر ( .نقطه) قرار می دهیم.
آرايه هاي چند بعدي
مي توان بعد سوم را به شكل زير به ماتريس mکه قبال تعریف شده افزود:
)» m(:,:,2)=ones(2,3
= )m(:,:,1
1 2 3
4 5 7
= )m(:,:,2
1 1 1
1 1 1
افزودن بعدهاي چهارم و بيشتر نيز به طريق مشابه امكان پذير است .اصطالحا به بعد سوم
صفحه گفته مي شود ولي نام خاص ي براي ابعاد چهارم به بعد وجود ندارد.
چند جمله اي ها
يك چند جمله اي در MATLABبه صورت يك بردار سطري كه مولفه هاي آن
ضرايب چند جمله اي به ترتيب نزو لي هستند معرفي مي شود.
ريشه هاي يك چند جمله اي
محاسبه مقدار يك چند جمله اي
ضرب و تقسيم چند جمله اي ها
مشتق چند جمله اي
برازش منحني چند جمله اي
ترسيم داده ها
نمودارهاي ٢بعدي
ترسیم نمودار
خطوط شبکه ای
برچسب محور X
برچسب محور Y
عنوان نمودار
اضافه کردن متن در نقطه دلخواه
راهنمای نمودار
)plot(x,y
grid
)’xlabel(‘Text
)’ylabel(‘Text
)‘title(‘Text
)’text(a,b,’Text
)’legend(‘Text
plot(x,y,’character’)
)subplot(a,b,c
دو عدد اول ( )B ،Aتعداد تقسیمات صفحه را تعیين می کنند.
عدد سوم ( )Cمکان رسم نمودار را مشخص می کند.
)]axis([a b c d
نمودار را در بازه aو bبرای محور افقی و cو dبرای محور عمودی رسم می
نماید.
ترسیم نمودار های 3بعدی
ترسیم نمودار 3بعدی
برچسب محور Z
ایجاد شبکه 2بعدی روی صفحه دلخواه
ترسیم سطوح 3بعدی
)plot3(x,y,z
)’zlabel(‘Text
)meshgrid(a,b
)surf(x,y,z
ابزار حساب نمادین
تعریف نماد
مشتق
انتگرال
دترمینان
ماتريس معكوس
رسم منحنی دو بعدی
رسم منحنی 3بعدی
syms
diff
int
det
inv
ezplot
ezplot3
)]ezplot(f,[xmin,xmax,ymin,ymax
برای رسم نمودار با متغيرها
عبارت دوم داخل پرانتز حدود رسم نمودار را مشخص می کنند.