آموزش برنامه نویسی متلب -بخش دوم از توابع MATLABچهارشنبه 22, آوریل 2020
آشنایی با محیط Matlab
در ادامه آموزش های سایت همیارپروژه برنامه نویسی متلب ارائه خواهد شد .آموزشها از مقدماتی تا پیشرفته ادامه دارد و ما به شما کدنویسی در نرم افزار متلب را یاد خواهیم داد. با ما همراه باشید.
مرتب کردن آرایه ها
- SORT(a) : این دستور آرایه را با ترتیب به صورت کوچک به بزرگ می چیند
- Find() : برای جستجو کردن و پیدا نمودن مقدارهای خاص در ارایه ها و ماتریس ها از این دستور استفاده می شود و استفاده از آن پیش نیاز عبارتهای شرطی را خواستار است
توابع اعداد مختلط
- Conj(a) : مزدوج مختلط اعداد را به ما می دهد برای آن از عملگر ‘را برای عدد و عملگر ‘.’ را برای آرایه و یا ماتریس استفاده می شود
- Real(a) : قسمت حقیقی اعداد مختلط را نمایش میدهد.
- Image(x) :قسمت موهومی اعداد مختلط را نمایش میدهد.
- Abs(a): اندازه ی اعداد مختلط را نمایش می دهد
- Angle(a) : فاز عدد مختلط بر حسب رادیان را به نمایش می گذارد
دستور sort() برای عددهای مختلط اندازه ی اعداد مختلط را معیار قرار میدهد و ااین اعداد را به صورت صعودی از نظر اندازه مرتب می کند و در صورت یکسان بودن اندازه عددی که دارای فاز بزرگ تری دارد محاسبه می شود. به مثال زیر توجه نمایید.
جبر ماتریسی:
- A*B : ضرب ماتریسی دو ماتریس A و B
- ’ : ترانهاده A
- Det(a) : دترمینان A
- Inv(A) معکوس A
- Diag(A) : قطر اصلی A
ضرب کرونکر
- Kron(A,B) : ضرب کرونکر A و B را نمایش میدهد
ضرب کرونکر را می توانیم به این صورت تعریف نماییم که در آن هر درایه ماتریس A در همه ی ماتریس B ضرب می شود و دقت نمایید که این ضرب قابلیت جابجایی ندارد . در مباحث پیشرفته استفاده از این دستور می تواند بر سرعت و خوانایی برنامه بیفزاید. به مثال زیر دقت نمایید:
در مثال B یک ماتریس می باشد
در مثال B یک ماتریس می باشد
- Kron(ones(n,m),A) ماتریس A را در n سطر m ستون تکرار می کند و معادل دستور repmat(A,n,m) می باشد.
دستگاه معادلات خطی
از ریاضیات مقدماتی به خاطر داریم که می توانستیم دستگاه معادلات خطی را به صورت ماتریسی نمایش دهیم
تجزیه LU
تجزیه ي LU یکی از روشهاي مهم براي حل معادله ي چند مجهولی ساده ومحاسبه معکوس ماتریس است که در آن، ماتریس را به دو ماتریس بالا ملثی و پایین ملثی تقسیم میکنیم که حاصلضرب آنها برابر ماتریس اصلی است چنین تفکیکی همیشه امکان پذیر نمی باشد و شرایط خاصی را میطلبد یک راه حل براي اینکه به این روش مقداري عمومیت دهیم این است که سطرهاي ماتریس اصلی را جابجا نماییم وسپس تجزیه ي LU ر انجام دهیم.
- [L1,U]=LU(A) L1 یک ماتریس پایین مثلثی می باشد که سطر های آن جابه جا شده اند که می توان آنرا به صورت زیر نمایش داد
L1*U=A
- [L,U,P]= Lu(A) تجزیه به ماتریسهاي پایین مثلثی و بالا مثلثی در حالت کلی براي این کار باید سطرهاي A جابجا شوند ماتریس P این کار را انجام میدهد
- Triu(A) ماتریس A با عناصر مثلث بالا می باشد
- Tril(A) ماتریس A با عناصر مثلث پایین می باشد
حل معادلات خطی بروش LU حدود ۲٫۵ برابر از روش ماتریس سریعتر است (سرعت اجراي دستورها را میتوان با روشهاي مختلف در متلب بدست آورد)
عبارات جبري ماتریسی
در حل معادله ای همانند dx/dt=ax نتیجه به راحتی قابل محاسبه می باشد x=eat در صورت کلی اگر x بردار و A یک ماتریس باشد می توانیم نتیجه ای مشابه به صورت زیر به دست آوریم:
برای محاسباتی از این قبیل با توابع ماتریسی مواجه می شویم:
- Sqrtm(A) : رادیکال ماتریسی یعنی عکس A*A در نتیجه به دست می آید
- Expm(A):e
بردارهای ویژه و مقادیر ویژه:
براي ماتریسی همانند A حل معادله ي |A-sI|=0 منتج به حل معادله مشخصه ماتریس می شود که با حل معادله مشخصه مقادیر ویژه و در نتیجه بردارهای ویژه به دست خواهد آمد.
- P=poly(A) نمایش برداری چند جمله ای مشخصه ماتریس A
- از tf(P,1) می توانیم برای نشان دادن چند جمله ای ساده p استفاده نماییم .
برای حالت نمایشی معمولی می توانیم از دستور poly2sym(p) نیز بهره بگیریم اما این دستور به جز زمانی که ضرایب صحیح باشند جواب چندان روشنی نمیدهد و استفاده از آن مشروط به آشنایی با محاسبات سمبلیک است.
Eigs(A)=[V,D] : مقدارهای ویژه و بردارهای ویژه A , ماتریس D یک ماتریس قطری می باشد که عنصرهای قطر اصلی آن مقدارهای ویژه ماتریس و ماتریس V نیز ماتریسی می باشد که ستون های آن بردارهای ویژه ی ماتریس A می باشد.
چند نکته در مورد صفحه فرمان (command window)
در اینجا چند نکته براي آشنایی اولیه با صفحه فرمان ذکر میکنیم.
- ابتداي دستور متلب علامت << قرار دارد
- اگر در ابتداي خط فرمان جاري کلید بالاپیماي ↑ صفحه کلید را فشار دهیم به دستور قبل میرسیم
- اگر عبارتی را تایپ و سپس کلید بالاپیما ↑ را فشار دهیم دستور قبلی متلب که با این عبارت آغاز میشود در خط فرمان جاري ظاهر خواهد شد مثال ↑=a و یا ↑sort (علامت ↑در اینجا بمعناي فشردن کلید بالاپیما است)
- کلید Esc خط فرمان جاري را پاك میکند
- دستور clc موجب پاك شدن صفحه فرمان میشود
- پاك شدن صفحه به معناي پاك شدن متغیرها نیست
در اینجا آشنایی با محیط متلب بخش سوم به پایان رسیده است و در آموزش های بعدی به مباحث دیگر آموزش متلب می پردازیم. همچنین از شما مخاطبین عزیز سایت همیارپروژه دعوت می کنم که برای انجام پروژه متلب خود آموزش های ما را دنبال نمایید.
نویسنده : زهرا رستمی
دیدگاهتان را بنویسید