-ساخت #مربع های #ماتریس #جادویی (ماتریس های جادویی) (magic squares) در متلب :
دستور magic در متلب، برای ساخت مربع های جادویی (magic squares)، با هر اندازه دلخواه، به کار می رود. به مثال زیر توجه کنید :
مثال
یک مربع جادویی (magic square) با 5 ردیف و 5 ستون می سازیم :
A=magic(5)
B=sum(A)
C=sum(A')'
D=sum(diag(A))
E=sum(diag(fliplr(A)))
نتیجه :
A =
17 24 1 8 15
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9
B =
65 65 65 65 65
C =
65
65
65
65
65
D =
65
E =
65
با نتایج بالا، ثابت کردیم که ماتریس A ، یک مربع جادویی (magic square) می باشد.
دستور magic در متلب، برای ساخت مربع های جادویی (magic squares)، با هر اندازه دلخواه، به کار می رود. به مثال زیر توجه کنید :
مثال
یک مربع جادویی (magic square) با 5 ردیف و 5 ستون می سازیم :
A=magic(5)
B=sum(A)
C=sum(A')'
D=sum(diag(A))
E=sum(diag(fliplr(A)))
نتیجه :
A =
17 24 1 8 15
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9
B =
65 65 65 65 65
C =
65
65
65
65
65
D =
65
E =
65
با نتایج بالا، ثابت کردیم که ماتریس A ، یک مربع جادویی (magic square) می باشد.
ام فایل ها در متلب:
چنانچه بخواهید برنامه ای طولانی و پیچیده بنویسید، دیگر پنجره Command جوابگوی نیاز شما نیست و به محیطی فراتر از آن برای نوشتن دستورات و تصحیح کردن آنها نیاز دارید. متلب برای این گونه موارد، امکان ساخت m-file ها را فراهم کرده است. شما می توانید در یک m-file ، تمامی دستورات خود را نوشته و تنها بر روی یک دکمه گرافیکی کلیک کرده و سپس نتیجه اجرای دستورات را در پنجره Command ببینید.
ساخت یک m-file در متلب :
برای ساخت یک m-file جدید می توانید از هر یک از روش های زیر استفاده کنید :
1- در بالای پنجره اصلی نرم افزار متلب، بر روی گزینه New script کلیک کنید. این گزینه به شکل matlab photo 10 می باشد.
2- با نگه داشتن کلید Ctrl و فشار دادن کلید N از کیبورد، این کار را انجام دهید.
3- در پنجره Command بنویسید edit و سپس کلید enter از کیبورد را فشار بدهید.
هر یک از روش های بالا را که انتخاب کنید، نتیجه این است که متلب یک پنجره خالی باز می کند که می توانید در آن، دستورات خود را اجرا کنید.
توصیه می شود اولین دستوری که در یک m-file می نویسید، دستور clear all باشد تا تمامی متغیرهایی که قبلا در متلب تعریف شده است را پاک کند و اختلالی در روند اجرای برنامه ایجاد نشود.
باید دقت داشته باشید که در نرم افزار متلب، m-file ها برای دو هدف اصلی به کار می روند، کاربرد اول آن نوشتن برنامه های پیچیده و طولانی و کاربرد دوم آن ساخت تابع می باشد. ساخت تابع با استفاده از m-file را در مباحث بعدی توضیح خواهیم داد. در این مبحث تنها در مورد نوشتن برنامه در m-file ها صحبت خواهیم کرد.
پس از آنکه دستورات برنامه را در m-file نوشتیم، ابتدا باید با استفاده از گزینه Save در بالای همان پنجره m-file ، آن را ذخیره کنیم. همچنین با نگه داشتن کلید Ctrl و فشار دادن کلید S ، می توانید این کار را انجام دهید.
سپس برای اجرای برنامه، باید بر روی گزینه Save and run که به شکل می باشد، کلیک کنید تا نتایج برنامه در پنجره Command نمایش داده شود. همانطور که از نام این گزینه مشخص است، این گزینه، عمل ذخیره کردن را هم انجام می دهد، یعنی اگر تغییراتی در برنامه ایجاد کنید و سپس بر روی این گزینه کلیک کنید، این تغییرات در m-file ذخیره می شود. اگر قبلا فایل ذخیره نشده باشد، ابتدا از شما می خواهد که نامی برای آن انتخاب کرده و سپس آن را ذخیره کنید.
m-file ها دارای پسوند m می باشند (به عنوان مثال : program.m).
اجرای دستورات درون یک m-file بدون باز کردن آن :
حتی بدون باز کردن یک m-file نیز می توان برنامه نوشته شده در آن را اجرا کرد. برای این منظور باید ابتدا پنجره Current Folder به گونه ای باشد که فولدر حاوی m-file مورد نظرمان را نمایش بدهد (البته می توان مسیر فایل را به نرم افزار متلب اضافه کرد، ولی فعلا در این مورد توضیحی نمی دهیم). فرض کنید نام m-file حاوی برنامه، program.m باشد، بنابراین باید نام فایل program.m را در پنجره Current Folder ببینیم. سپس تنها کافی است که در پنجره Command بنویسیم program و سپس کلید enter از کیبورد را فشار دهیم. دقت شود که نباید پسوند .m نوشته شود. نتیجه اجرای دستورات در پنجره Command نمایش داده خواهد شد.
نوشتن توضیحات در m-file :
زمانی که یک برنامه طولانی بنویسید، به دلیل حجم زیاد دستورات، ممکن است بخشی از روند برنامه نویسی را فراموش کنید. گذشت زمان نیز بسیار تاثیرگذار است و گاهی آن قدر از زمان نوشتن برنامه گذشته است که خود برنامه نویس مجبور می شود برنامه را بارها بخواند تا درک کند که از چه روش هایی استفاده کرده است و گاهی نوشتن یک برنامه جدید به صرفه تر است و زمان کمتری نیاز دارد. بر حسب تجربه، ثابت شده است که با استفاده از 2 تکنیک زیر، می توان این مشکل را تا حد زیادی برطرف کرد :
1- انتخاب هوشمندانه نام متغیرها به گونه ای که هدف استفاده از آنها را بتوان از نامشان به طور کامل درک کرد.
2- می توانیم هنگام نوشتن برنامه، توضیحاتی را در کنار کدها بنویسیم، تا با خواندن آنها خود برنامه نویس یا هر شخص دیگری به راحتی درک کند که روش های استفاده شده در برنامه چیست.
در متلب چنانچه از علامت درصد (%) استفاده کنیم، تمامی نوشته های بعد از علامت درصد، به صورت توضیح در نظر گرفته می شوند. به مثال زیر توجه کنید :
چنانچه بخواهید برنامه ای طولانی و پیچیده بنویسید، دیگر پنجره Command جوابگوی نیاز شما نیست و به محیطی فراتر از آن برای نوشتن دستورات و تصحیح کردن آنها نیاز دارید. متلب برای این گونه موارد، امکان ساخت m-file ها را فراهم کرده است. شما می توانید در یک m-file ، تمامی دستورات خود را نوشته و تنها بر روی یک دکمه گرافیکی کلیک کرده و سپس نتیجه اجرای دستورات را در پنجره Command ببینید.
ساخت یک m-file در متلب :
برای ساخت یک m-file جدید می توانید از هر یک از روش های زیر استفاده کنید :
1- در بالای پنجره اصلی نرم افزار متلب، بر روی گزینه New script کلیک کنید. این گزینه به شکل matlab photo 10 می باشد.
2- با نگه داشتن کلید Ctrl و فشار دادن کلید N از کیبورد، این کار را انجام دهید.
3- در پنجره Command بنویسید edit و سپس کلید enter از کیبورد را فشار بدهید.
هر یک از روش های بالا را که انتخاب کنید، نتیجه این است که متلب یک پنجره خالی باز می کند که می توانید در آن، دستورات خود را اجرا کنید.
توصیه می شود اولین دستوری که در یک m-file می نویسید، دستور clear all باشد تا تمامی متغیرهایی که قبلا در متلب تعریف شده است را پاک کند و اختلالی در روند اجرای برنامه ایجاد نشود.
باید دقت داشته باشید که در نرم افزار متلب، m-file ها برای دو هدف اصلی به کار می روند، کاربرد اول آن نوشتن برنامه های پیچیده و طولانی و کاربرد دوم آن ساخت تابع می باشد. ساخت تابع با استفاده از m-file را در مباحث بعدی توضیح خواهیم داد. در این مبحث تنها در مورد نوشتن برنامه در m-file ها صحبت خواهیم کرد.
پس از آنکه دستورات برنامه را در m-file نوشتیم، ابتدا باید با استفاده از گزینه Save در بالای همان پنجره m-file ، آن را ذخیره کنیم. همچنین با نگه داشتن کلید Ctrl و فشار دادن کلید S ، می توانید این کار را انجام دهید.
سپس برای اجرای برنامه، باید بر روی گزینه Save and run که به شکل می باشد، کلیک کنید تا نتایج برنامه در پنجره Command نمایش داده شود. همانطور که از نام این گزینه مشخص است، این گزینه، عمل ذخیره کردن را هم انجام می دهد، یعنی اگر تغییراتی در برنامه ایجاد کنید و سپس بر روی این گزینه کلیک کنید، این تغییرات در m-file ذخیره می شود. اگر قبلا فایل ذخیره نشده باشد، ابتدا از شما می خواهد که نامی برای آن انتخاب کرده و سپس آن را ذخیره کنید.
m-file ها دارای پسوند m می باشند (به عنوان مثال : program.m).
اجرای دستورات درون یک m-file بدون باز کردن آن :
حتی بدون باز کردن یک m-file نیز می توان برنامه نوشته شده در آن را اجرا کرد. برای این منظور باید ابتدا پنجره Current Folder به گونه ای باشد که فولدر حاوی m-file مورد نظرمان را نمایش بدهد (البته می توان مسیر فایل را به نرم افزار متلب اضافه کرد، ولی فعلا در این مورد توضیحی نمی دهیم). فرض کنید نام m-file حاوی برنامه، program.m باشد، بنابراین باید نام فایل program.m را در پنجره Current Folder ببینیم. سپس تنها کافی است که در پنجره Command بنویسیم program و سپس کلید enter از کیبورد را فشار دهیم. دقت شود که نباید پسوند .m نوشته شود. نتیجه اجرای دستورات در پنجره Command نمایش داده خواهد شد.
نوشتن توضیحات در m-file :
زمانی که یک برنامه طولانی بنویسید، به دلیل حجم زیاد دستورات، ممکن است بخشی از روند برنامه نویسی را فراموش کنید. گذشت زمان نیز بسیار تاثیرگذار است و گاهی آن قدر از زمان نوشتن برنامه گذشته است که خود برنامه نویس مجبور می شود برنامه را بارها بخواند تا درک کند که از چه روش هایی استفاده کرده است و گاهی نوشتن یک برنامه جدید به صرفه تر است و زمان کمتری نیاز دارد. بر حسب تجربه، ثابت شده است که با استفاده از 2 تکنیک زیر، می توان این مشکل را تا حد زیادی برطرف کرد :
1- انتخاب هوشمندانه نام متغیرها به گونه ای که هدف استفاده از آنها را بتوان از نامشان به طور کامل درک کرد.
2- می توانیم هنگام نوشتن برنامه، توضیحاتی را در کنار کدها بنویسیم، تا با خواندن آنها خود برنامه نویس یا هر شخص دیگری به راحتی درک کند که روش های استفاده شده در برنامه چیست.
در متلب چنانچه از علامت درصد (%) استفاده کنیم، تمامی نوشته های بعد از علامت درصد، به صورت توضیح در نظر گرفته می شوند. به مثال زیر توجه کنید :
مثال
x=2
% ali 123456
y=3
نتیجه :
x =
2
y =
3
همان طور که مشاهده می کنید، ali 123456 به عنوان دستور در نظر گرفته نشده و در خروجی نیز نمایش داده نشده است.
x=2
% ali 123456
y=3
نتیجه :
x =
2
y =
3
همان طور که مشاهده می کنید، ali 123456 به عنوان دستور در نظر گرفته نشده و در خروجی نیز نمایش داده نشده است.
باید دقت داشته باشید که متلب نوشته های بعد از علامت درصد را تنها در خط فعلی، به صورت توضیح در نظر می گیرد و نوشته های خط بعد را به صورت دستور (نه توضیح) در نظر خواهد گرفت. بنابراین چنانچه بخواهیم توضیحاتی را در چند خط پشت سرهم بنویسیم، باید در ابتدای هر کدام از آن خط ها، از علامت درصد استفاده کنیم. به مثال زیر توجه کنید :
مثال
x=2
% ali 123456
% this is a simple code
y=3
نتیجه :
x =
2
y =
3
مثال
x=2
% ali 123456
% this is a simple code
y=3
نتیجه :
x =
2
y =
3
محاسبه #کانولوشن (Convolution)، با دستور conv ، در متلب
دستور conv در متلب، برای محاسبه کانولوشن (Convolution) به کار می رود.
دستور زیر را در نظر بگیرید :
w = conv(u,v)
دستور فوق بر اساس فرمول زیر محاسبه می شود :
دستور conv در متلب، برای محاسبه کانولوشن (Convolution) به کار می رود.
دستور زیر را در نظر بگیرید :
w = conv(u,v)
دستور فوق بر اساس فرمول زیر محاسبه می شود :
مثال
clear all
close all
clc
u = [7 1 5 4 8 9]
v = [2 7 3 9 5 6]
w = conv(u,v)
نتیجه :
u =
7 1 5 4 8 9
v =
2 7 3 9 5 6
w =
14 51 38 109 103 178 154 149 145 93 54
clear all
close all
clc
u = [7 1 5 4 8 9]
v = [2 7 3 9 5 6]
w = conv(u,v)
نتیجه :
u =
7 1 5 4 8 9
v =
2 7 3 9 5 6
w =
14 51 38 109 103 178 154 149 145 93 54
ترسیم #شکل در متلب با دستور plot
دستور plot ، بردارهایی از اعداد را دریافت کرده و آنها را به صورت شکل ترسیم می کند. در واقع دستور plot مقادیر گسسته را که هر کدام به صورت یک نقطه می باشند، پشت سرهم قرار می دهد و سپس آنها را با خط به هم وصل می کند تا بتوانیم آنها را به صورت یک شکل پیوسته ببینیم و بدین ترتیب به ارتباط کلی آنها پی ببریم. به مثال زیر توجه کنید :
دستور plot ، بردارهایی از اعداد را دریافت کرده و آنها را به صورت شکل ترسیم می کند. در واقع دستور plot مقادیر گسسته را که هر کدام به صورت یک نقطه می باشند، پشت سرهم قرار می دهد و سپس آنها را با خط به هم وصل می کند تا بتوانیم آنها را به صورت یک شکل پیوسته ببینیم و بدین ترتیب به ارتباط کلی آنها پی ببریم. به مثال زیر توجه کنید :
حال فرض کنید بخواهیم تابعی بر حسب متغیر x را برای بازه ای از تغییرات x رسم کنیم، ابتدا باید متغیر x را به صورت برداری از نقاط آن بازه تعریف کنیم. بازه مورد نظر ما پیوسته است و شامل تعداد بینهایت عدد می باشد، اما ما باید تعداد نقاط را به گونه ای انتخاب کنیم که حداقل تعدادی باشند که شکل تابع را به خوبی نمایش بدهند. به مثال زیر توجه کنید :
در دستور فوق، دقت کنید که در تعریف تابع، پس از x یک علامت نقطه (.) نوشته شده است. وجود این علامت، ضروری است و مشخص می کند که هر عنصر بردار x باید به توان 2 برسد، نه این که کل بردار x به توان 2 برسد.
مثال
ezplot('x^2+2*x+1',[-3,3])
نتیجه :
متلب یک پنجره جدید را باز کرده و نتیجه را به صورت یک شکل نمایش می دهد :
ezplot('x^2+2*x+1',[-3,3])
نتیجه :
متلب یک پنجره جدید را باز کرده و نتیجه را به صورت یک شکل نمایش می دهد :
دقت شود که برای تعریف عبارت مربوط به تابع، از علامت ' استفاده کردیم، در صورتی که بخواهیم از این علامت استفاده نکنیم، باید قبل از استفاده از دستور ezplot ، متغیر x را برای متلب به صورت سمبلیک تعریف کنیم. به مثال زیر توجه کنید :
مشخص کردن عنوان برای شکل خروجی :
چنانچه بخواهیم که شکل ترسیم شده توسط دستور ezplot (و یا هر روش دیگر) دارای عنوان خاصی باشد، باید در خط بعدی پس از دستور ezplot از دستور title استفاده کنیم. این دستور یک رشته (مشخص شده با علامت ') را دریافت کرده و به صورت عنوان در بالای شکل نمایش می دهد. به مثال زیر توجه کنید :
چنانچه بخواهیم که شکل ترسیم شده توسط دستور ezplot (و یا هر روش دیگر) دارای عنوان خاصی باشد، باید در خط بعدی پس از دستور ezplot از دستور title استفاده کنیم. این دستور یک رشته (مشخص شده با علامت ') را دریافت کرده و به صورت عنوان در بالای شکل نمایش می دهد. به مثال زیر توجه کنید :