آموزش دستورات متداول در متلب
برای شروع به کار با متلب بایستی شناخت خوبی نسبت به دستوارت متلب داشت. برای همین دستورات پر کاربردی را در ذیل جهت معرفی آورده ایم:
ایجاد ماتریس:
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])
توابع مقدماتی پرکاربرد:
- 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
روند کردن اعداد:
- 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 & A<5)
جمع تجمعی عناصر ماتریس B:
A=cumsum(B)
حاصل ضرب عناصر ماتریس B:
A=prod(B)
تولید n عدد در فواصل مساوی که از a شروع و به b ختم میشود:
A=linspace(a,b,n)
ترسیم دو بعدی y برحسب x:
plot(x,y)
ترسیم سه بعدی:
plot3(x,y,z)
دستور زیر مقادیری از B که از 6 بزرگتر است را در A ذخیره میکند:
A=B(B>6)
شیفت دادن چرخشی: دستور زیر ماتریس 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’)
شاید علاقه مند باشید مطالب زیر را هم ببینید:
- آموزش مقدماتی Matlab
- توابع نمایی در متلب
- ماشین های القایی متقارن در متلب قسمت دوم
- چگونه تخفیف 25درصد از متلبی بگیریم
سلام
چطور به متلب بگم که مقادیر بزرگتر از ۴۰ یک بردار را در بردار دیگر ذخیره کن
درود بر شما
درخواست شما کامل نیست. اعداد بزرگتر از 40 را به ترتیب در یک بردار قرار دهد. یا دقیقا در همان موقعیتی که در ماتریس اول وجود داشت در ماتریس دوم جایگذاری کند؟
اگر منظور شما این هست که در یک ماتریس با همان ابعاد ماتریس اول, ذخیره شود, میتوان به صورت زیر عمل کرد:
x=[1 2 3
41 25 30
20 68 5
12 24 78]
[a,b]=size(x);
y=zeros(a,b)
for i=1:a
for k=1:b
if x(i,k)> 40
y(i,k)=x(i,k)
end
end
end
y
ماتریس x ,ماتریس اولیه شماست و ماتریس y خروجی برنامه شماست.
میشه یه آیدی تلگرام یا شماره بدین که بتونیم ازتون کمک بگیریم؟
@matlabcoder
اگر سفارشی دارین باید از طریق فرم ثبت سفارش سایت اقدام بفرمایید.
چطور میتونم یه ماتریس متقارن رو با وارد کردن نصف درایههاش در متلب وارد کنم؟
سلام باید ابتدا درایه های دیگر ماتریس اولیه را ضفر قرار بدین تا قابل تشخیص توسط متلب باشه.
سپس از مثال زیر میتونید استفاده کنید:
یا از مثال زیر:
باسلام
خسته نباشید . در نرم افزار متلب من یک جدول دارم و تعدادی ستون هستش که مقادیری رو داره میخوام واسش تعریف کنم ک مثلا بګرد دنبال عدد 12 و نام اون ستون رو واسم بګو از چه دستوری باید استفاده کنم ؟ ممنون
سلام
اگر مثلا نام جدول a هست و داخل آن میخواهید عدد 12 را پیدا کنید از دستور زیر استفاده کنید:
[x,y]=find(a==12)
با سلام.من یه سری عدد دارم که حدودا 1000 تاست.میخواستم بدونم چطوری این رشته عدد رو تبدیل کنم به یه بردار؟
همین که در یک ردیف یا یک ستون داخل ماتریس ایجاد کنید میشه یه بردار.