دستورات مهم و ابتدایی در MATLAB

image

دستورات مهم و ابتدایی در MATLAB

 

 

ایجاد ماتریس 

 

A=[1,2,3 ; 4,5,6]

A=[1:10]

A=[1:2:10]

A=[10:-1:1]

A=zeros(2,3) ایجاد ماتریس 2 در3 با مقادیر صفر

A=ones(4,6) ایجاد ماتریس 4 در6 با مقادیر یک


ترانهاده ماتریس A

T=A’

دستیابی به یک یا چند مقدار از یک ماتریس

 

A(2,3) عنصر سطر2 ستون 3

A(:,2) عناصر ستون 2

A(1,:) عناصر سطر 1

A(3:6, 2:4) ستونهای 2 تا 4 از سطرهای 3 تا 6


دستیابی به ستون آخر یک ماتریس:
A(:,end)

مجموع ستونهای یک ماتریس دو بعدی (و یا مجموع مقادیر یک ماتریس یک بعدی):


sum(A)
sum(A’)’ مجموع سطرهای یک ماتریس دو بعدی

بدست آوردن مقادیر روی قطر اصلی A:

diag(A)

ایجاد ماتریس جادویی n×n: (ماتریس جادویی ماتریسی است که مجموع تمام سطرها و ستونها و قطرهای آن برابر است)
magic(n)

می خواهیم جای ستونهای دوم و سوم در ماتریس B را جابه¬جا کرده و نتیجه را در A ذخیره نماییم:
A=B(: , [1,3,2,4])

روند کردن اعداد:

• A=fix(B) گرد کردن به سمت صفر
• A=round(B) گرد کردن به سمت نزدیک ترین عدد صحیح(براساس رقم اعشار)
• A=ceil(B) گرد کردن به سمت مثبت بینهایت
• A=floor(B) گرد کردن به سمت منفی بینهایت

مرتب کردن هر یک از ستونهای ماتریس B بطور جداگانه:

A=sort(B)

 

مرتب کردن سطرهای ماتریس B ابتدا بر اساس ستون اول سپس ستون دوم و الی آخر:

A=sortrows(B)

مرتب کردن سطرهای ماتریس B فقط بر اساس ستون سوم:

A=sortrows(B,3)

 

 

حذف ستون دوم ماتریس A:

A(: , 2) = []

 

میانگین هر یک از ستونهای ماتریس B:

A=mean(B)

 

میانه هر یک از ستونهای ماتریس B:

A=median(B)

 

انحراف از معیار هر یک از ستونهای ماتریس B:

A=std(B)

 

مینیمم هر یک از ستونهای ماتریس B:

A=min(B)

 

ماکسیمم هر یک از ستونهای ماتریس B:

A=max(B)

 

یافتن اندیس عددهای غیر صفر در ماتریس B:

A=find(B)

یافتن اندیس سطر و ستون خانه مساوی 2 ماتریس B

:[i,j]=find(B==2)

 

یافتن اندیس سطر و ستون خانه مساوی 2 در سطر سوم از ماتریس B:

[i,j]=find(B(3,:)==2)

 

یافتن اندیس عددهای بین 1 تا 5 در ماتریس B:

A=find(A>1 & A6)

 

شیفت دادن چرخشی: دستور زیر ماتریس B را یک واحد در جهت عمودی (از بالا به پایین) و دو واحد در جهت افقی (از راست به چپ) شیفت چرخشی می¬دهد.

A=circshift(B, [1, -2])

 

دستور زیر ابعاد یک ماتریس را برمی¬گرداند:

size(A)

 

دستور زیر طول یک بردار را برمی¬گرداند: (اگر A دارای بیش از یک بعد باشد، طول طولانی¬ترین بعد برگردانده می¬شود)

length(A)

 

با دستور زیر می¬توان تابع f را در محیط editor مشاهده کرد و در صورت دلخواه آن را تغییر داد. با این دستور حتی می¬توان توابع خود MATLAB را نیز ویرایش نمود.

edit f

 

دستور زیر ماتریس B را بصورت تنک (خلوت) در A ذیره می¬کند. اگر تعداد زیادی از مقادیر یک ماتریس برابر با صفر باشد با این روش می¬توان در تخصیص حافظه صرفه¬جویی کرد.

A = sparse(B)

 

دستور زیر ماتریس B را از حالت تنک به حالت کامل تبدیل کرده و در A ذخیره می¬کند.

A = full(B)

 

توابع مخصوص رشته¬ها:

• strcat متصل کردن دو رشته

• strcmp مقایسه دو رشته

• strcmpi مقایسه دو رشته صرفنظر از بزرگ یا کوچک بودن حروف

 

تمام جایگشتهای ممکن مقادیر یک بردار:

 

perms(A)

حذف مقادیر تکراری از یک بردار:

unique(A)

نمایش هیستوگرام مقادیر یک ماتریس:
hist(A,…)

دستورات کار با تصاویر:
• I=imread(‘pic1.jpg’) خواندن تصویر
• imshow(I) نمایش تصویر
• imwrite(I, ‘pic2.gif’) ذخیره تصویر
• figure باز کردن پنجره جدید برای عکس بعدی تا عکس قبلی از بین نرود

اشتراک دو مجموعه:
intersect(A,B)

دستورات برنامه نویسی

حلقه ها
for i=start : end
دستورات
end

while(شرط)
دستورات
end

if(شرط)
دستورات
end


اجرای برنامه تا فشردن یک کلید متوقف می¬ماند:
pause

اجرای برنامه به مدت n ثانیه متوقف می¬ماند:
pause(n)

در عبارت زیر اولین گروه از دستورات اجرا می¬شوند. اگر خطایی رخ دهد اجرای این دستورات متوقف شده و دومین گروه از دستورات اجرا می¬شود.
try
statements
catch
statement
end


با دستور زیر می¬توان محیط ایجاد رابط کاربر گرافیکی را مشاهده کرد.
guide

با دستور زیر می¬توان مدت زمان اجرای هر یک از خطوط برنامه را مشاهده کرد.
profile {on, off, viewer}

نمایش پیغام: نحوه استفاده از این دستور همانند printf() در زبان C است.
fprintf(‘\n i=%d’, i)

نمایش پیغام خطا و خروج از اجرای برنامه:
error(‘your error message’)

توابع مقدماتی پرکاربرد:

• abs(A)
• exp(A)
• sin(A)
• sqrt(A)
• factorial(n)
• log2(A) لگاریتم در مبنای 2
• log10(A) لگاریتم در مبنای 10
برای مشاهده لیست توابع مقدماتی عبارت help elfun را تایپ کنید.

عملگرهای محاسباتی:

• A=B+C جمع ماتریسی
• A=B-C تفریق ماتریسی
• A=B*C ضرب ماتریسی
• A=B .* C ضرب عناصر متناظر در یکدیگر
• A=B ./ C تقسیم عناصر متناظر بر یکدیگر
• A=B .^ C به توان رساندن هر عنصر به عنصر متناظرش
اگر B یک ماتریس n×m باشد و C یک عدد اسکالر (یک ماتریس 1×1) باشد آنگاه عملگرهای فوق مقدار موجود در C را در تک تک مقادیر B اِعمال می¬کنند. بنابراین عبارت A=B+1 تک تک مقادیر B را با 1 جمع کرده و در A ذخیره می¬کند. عبارت A=B.^2 نیز تک تک مقادیر B را به توان 2 رسانده و نتیجه را در A ذخیره می¬کند.

روشی بدست آوردن باقیمانده تقسیم:


A=mod(B,C)

ایجاد یک ماتریس 3×4 از اعداد تصادفی که دارای توزیع یکنواخت بین 0 تا 1 می¬باشند:
A=rand(3,4)
ایجاد یک ماتریس 3×4 از اعداد تصادفی بین a تا b
A=floor((b-a+1)*rand(3,4)+a)


ایجاد یک ماتریس 1×n که اعداد صحیح 1 تا n به ترتیب تصادفی در آن قرار گرفته¬اند:
A=randperm(n)
ایجاد ماتریس با n×m که در هر سطر عناصر 1 تا m به طور تصادفی قرار داده شده اند
for i=1:n
A(i,:)=randperm(m);
end