دستورات اولیه متلب
فهرست مطالب
مقدمه:
دستورات اولیه متلب یکی از ابزارهای قدرتمند برنامه نویسی و تحلیل داده است که برای انجام عملیات ریاضی، تحلیل داده، تصویربرداری و سایر کاربردهای علمی استفاده می شود. این دستورات اولیه ابزارهای مختلفی را برای ایجاد و مدیریت ماتریس ها و بردار ها، انجام عملیات ریاضی پایه، تولید نمودارها و غیره فراهم می کنند.
متلب چیست؟
استفاده از دستورات متلب برای تحلیل دادهها و رسم نمودارها:
نکات مهم در استفاده از دستورات متلب:
دستورات متلب:
در متلب، دستورات پایه برای انجام عملیات ریاضی از جمله جمع، تفریق، ضرب و تقسیم به صورت ساده و قابل فهم ارائه شده اند. به عنوان مثال، برای جمع دو ماتریس در متلب می توان از دستور “plus” استفاده کرد. همچنین، دستورات متلب برای محاسبه توان، رادیکال و توابع ریاضی دیگر نیز بسیار کارآمد هستند.
حال به دستورات اولیه متلب می پردازیم امیدوارم این دستورات در محسابات ریاضی و کندنویسی متلب به شما دوستان عزیز کمک کند:
دستور zeros:
یکی از دستورات اولیه مهم متلب، دستور zeros است که برای ایجاد یک ماتریس صفر با ابعاد دلخواه استفاده می شود. به عنوان مثال، دستور زیر یک ماتریس 3×3 صفر ایجاد می کند:
A = zeros(3,3);
دستور ones:
دستور ones نیز برای ایجاد یک ماتریس پر از یک ها استفاده می شود. به عنوان مثال، دستور زیر یک بردار 5 عضوی پر از یک ها ایجاد می کند:
B = ones(1,5);
دستور eye:
دستور eye برای ایجاد یک ماتریس واحد استفاده می شود. به عنوان مثال، دستور زیر یک ماتریس واحد 4×4 ایجاد می کند:
C = eye(4);
دستور rand:
توابع متلب rand و randn برای تولید اعداد تصادفی (random numbers) در متلب استفاده میشوند.
تابع rand اعداد دارای توزیع یکنواخت بین 0 و 1 تولید میکند، در حالی که تابع randn اعداد دارای توزیع نرمال (گاوسی) با میانگین صفر و انحراف معیار یک تولید میکند.
برای تولید یک عدد تصادفی از توزیع یکنواخت بین 0 و 1 در متلب، میتوانید از دستور زیر استفاده کنید:
random_number = rand;
برای تولید یک بردار شامل اعداد تصادفی از توزیع نرمال با اندازه دلخواه (برای مثال 1×5)، از دستور زیر استفاده کنید:
random_vector = randn(1, 5);
دستور true:
در متلب، دستور true نشاندهنده مقدار صحیح یا true به معنای درست است. این دستور بیشتر در شرایط منطقی و کنترل جریان برنامهها استفاده میشود. در صورت استفاده از true به صورت منفی، معادل آن false است.
دستور false:
در محیط متلب، دستور false به صورت یک عبارت ناهمصحت که معمولا برای بررسی شرایط در دستورات شرطی استفاده میشود. اما این دستور به تنهایی معنی خاصی ندارد و به صورت جداگانه نمیتوان از آن استفاده کرد.
دستور diag:
A = [1 2 3 4];
B = diag(A); % ایجاد یک ماتریس قطری از بردار A
در این حالت، ماتریس B متشکل از مقادیر بردار A خواهد بود و دیگر مقادیری در سایر عناصر ماتریس وجود ندارد.
برای دسترسی به مقادیر قطری یک ماتریس و یا تغییر آنها نیز میتوانید از اندیس دوم diag استفاده کنید، مانند مثال زیر:
C = [1 0 0; 0 2 0; 0 0 3];
diag(C) % بازگشتی مقادیر قطری ماتریس C
دستور blkdiag:
دستور blkdiag در محیط نرمافزار متلب برای ساختن ماتریس دیاگونال بلوکی (block diagonal matrix) استفاده میشود. این دستور بلوکهای ورودی را در قالب ماتریس دیاگونال بلوکی میچیند.
برای استفاده از دستور blkdiag در متلب باید ماتریسهای ورودی را به عنوان آرگومانهای ورودی به تابع داده و خروجی آن را به یک ماتریس نهایی اختصاص دهید. به عنوان مثال، فرض کنید دو ماتریس A و B داریم:
A = [1 2; 3 4];
B = [5 6; 7 8];
و میخواهیم یک ماتریس دیاگونال بلوکی از این دو ماتریس بسازیم. این کار به این صورت انجام میشود:
C = blkdiag(A, B);
حالا ماتریس C ماتریس دیاگونال بلوکی از ماتریسهای A و B میباشد.
دستور cat:
در MATLAB، cat یک تابع است که برای ادغام آرایه ها در یک بُعد خاص استفاده میشود. به عنوان مثال، C = cat(dim, A, B) دو آرایه A و B را در بُعد dim ادغام میکند و نتیجه را در آرایه C برمیگرداند. این تابع بسیار مفید است برای ادغام آرایه ها در MATLAB.
دستور horzcat:
A = [1 2; 3 4];
B = [5 6; 7 8];
C = horzcat(A, B);
در اینجا، ماتریس C به صورت زیر خواهد بود:
C =
1 2 5 6
3 4 7 8
استفاده از [ ] به صورت خلاصه میتواند به صورت زیر باشد:
C = [A, B];
دستور vertcat:
دستور vertcat در متلب برای افزودن دو یا چند آرایه به صورت افقی (به طول) به هم متصل میکند. این دستور برای افزودن آرایهها در جهت عمودی (به عرض) استفاده میشود. اگر میخواهید دو آرایه را در اینترلیس (عمودی) به هم اضافه کنید از دستور vertcat استفاده میکنید.
مثال:
A = [1 2; 3 4];
B = [5 6; 7 8];
C = vertcat(A, B);
این کد دو آرایه را به صورت عمودی به هم اضافه میکند و ماتریس جدید C را ایجاد میکند که به صورت زیر خواهد بود:
C =
1 2
3 4
5 6
7 8
دستور repelem:
دستور repelm در متلب به منظور تکرار بردارها در جهت عکس العمل مکانیکی (replicate and tile) استفاده میشود. این دستور به شما امکان میدهد یک بردار را تکرار کرده و در قالب یک بردار با ابعاد دلخواه تکرار نماید.
برای مثال، اگر میخواهید بردار [1 2 3] را ۳ بار تکرار کرده و به صورت [1 2 3 1 2 3 1 2 3] دریافت کنید، میتوانید از دستور repelem در MATLAB استفاده کنید.
دستور repmat:
B = repmat(A, m, n)
در اینجا:
– A یک ماتریس یا آرایه است که میخواهید تکرار شود.
– m تعداد تکرارهای در راستای اول (عمودی) ماتریس نهایی است.
– n تعداد تکرارهای در راستای دوم (افقی) ماتریس نهایی است.
بهعنوان مثال:
A = [1, 2; 3, 4];
B = repmat(A, 2, 3);
این دستور، ماتریس A را دوبار در راستای اول و سه بار در راستای دوم تکرار میکند، بنابراین مقدار B به صورت زیر خواهد بود:
B =
1 2 1 2 1 2
3 4 3 4 3 4
1 2 1 2 1 2
3 4 3 4 3 4
دستور linspace:
تابع linspace در متلب یک دنباله از اعداد متوالی را ایجاد میکند. سینتکس این تابع به صورت زیر است:
linspace(start, end, num_points)
در اینجا:
– start نقطه شروع دنباله است.
– end نقطه پایان دنباله است.
– num_points تعداد نقاط (یا عناصر) در دنباله است.
این تابع یک بردار یک بعدی از num_points نقطه بین start و end ایجاد میکند که فاصله بین هر دو نقطه متوالی برابر است.
دستور logspace:
y = logspace(a, b, n)
که \(a\) و \(b\) حدود مقادیر لگاریتمی در بازه \([a, b]\) هستند و \(n\) تعداد نمونههای در این بازه است. این تابع یک آرایه با \(n\) عنصر برمیگرداند که مقادیر آن با فاصله لگاریتمی در بازه \([10^a, 10^b]\) قرار دارند.
برای مثال:
y = logspace(1, 3, 4)
این دستور یک آرایه چهار عضوی با اعدادی نزدیک به \( [10, 100, 1000] \) ایجاد میکند.
دستور freqspace:
در محیط نرمافزار متلب، دستور freqspace به منظور ایجاد فضای فرکانس برای تبدیلات فوریه استفاده میشود. این دستور اطلاعاتی از فضای فرکانس مورد استفاده در تبدیلات فوریهای مانند فوریه دیسکرت و یا فوریه دیسکرت تبدیل را ارائه میدهد.
اما خب از آنجایی که متلب قابلیت اجرای زبان فارسی نیز دارد، ممکن است دستور freqspace به صورت ترجمه شده و معادل فارسیاش در دستورات متلب قابل استفاده باشد. اما بعد از سال 2021، دقیقاً معلوم نیست که آیا این ترجمه به فارسی اضافه شدهاست یا خیر.
برای مطمئن شدن از نحوه استفاده این دستور در متلب بهتر است به منابع رسمی متلب یا مستندات آن مراجعه کنید.
دستور meshgrid:
[X, Y] = meshgrid(x, y)
که x و y دو بردار مربوط به مقادیر محورهای x و y هستند. این دستور به صورت خودکار یک شبکه از تمام دستگاههای مختلف ایجاد میکند.
مثال:
x = -2:0.1:2;
y = -2:0.1:2;
[X, Y] = meshgrid(x, y);
Z = X.^2 + Y.^2;
mesh(X, Y, Z);
xlabel('X');
ylabel('Y');
zlabel('Z');
این کد یک سطح برابر با یک دایره با مرکز در نقطه (0,0) را رسم میکند.
دستور ndgrid:
در محیط نرمافزار MATLAB، دستور ndgrid برای ایجاد شبکههای چندبعدی از مقادیر مختلف در فضای n-بعدی استفاده میشود. این دستور به صورت زیر استفاده میشود:
[X1, X2, ..., Xn] = ndgrid(x1, x2, ..., xn);
این دستور عبارت است از ایجاد یک شبکه چند بعدی از نقاط که مقادیر آنها به ترتیب در x1، x2، …، xn داده شده است. نتیجه این دستور، n آرایه با ابعاد متناظر با تعداد مقادیر داده شده x1 تا xn خواهد بود.
مثال:
B = ones(1,5[x, y] = ndgrid(1:3, 4:6);
% Output:
% x = [1 1 1; 2 2 2; 3 3 3]
% y = [4 5 6; 4 5 6; 4 5 6]
دستور length:
در محیط برنامه نویسی متلب، دستور length برای محاسبه تعداد عناصر یک آرایه یا بردار استفاده میشود. به صورت کلی دستور length در MATLAB به شکل زیر استفاده میشود:
len = length(A)
در اینجا A یک آرایه یا بردار میباشد و تعداد عناصر آن را بازمیگرداند.
دستور size:
در متلب، دستور size برای نمایش ابعاد یک آرایه یا ماتریس استفاده میشود. این دستور به شما اندازهی هر بعد از یک ماتریس را باز میگرداند. به صورت کلی از این دستور برای ابعاد ماتریس یا بردارها استفاده میشود.
برای نمونه:
A = [1 2; 3 4; 5 6];
sz = size(A);
در این مثال، اگر A یک ماتریس 3×2 باشد، sz برابر خواهد بود با [3 2] که به ترتیب نشاندهنده تعداد سطرها و ستونهای ماتریس میباشد.
دستور ndims:
دستور ndims در MATLAB برای دریافت تعداد ابعاد یک آرایه (یا ماتریس) استفاده میشود. این دستور تعداد ابعاد را برمیگرداند. به عنوان مثال، اگر ماتریس A را داشته باشیم، فرض کنید:
A = rand(3,4,2);
حالا اگر شما دستور زیر را وارد کنید:
n = ndims(A);
disp(n);
خروجی این دستور میتواند 3 (چون ماتریس A با ابعاد 3x4x2 است) باشد. این دستور به شما کمک میکند تا تعداد ابعاد یک آرایه را بدانید.
دستور numel:
در متلب دستور numel برای تعداد عناصر موجود در ماتریس یا آرایه استفاده میشود. این دستور تعداد عناصر غیرصفر یا غیرتهیهای موجود در ماتریس را برمیگرداند. به عنوان مثال:
A = [1, 2, 3; 0, 5, 0; 7, 8, 0];
num_elements = numel(A);
disp(num_elements); % این دستور تعداد کل عناصر موجود در ماتریس A را چاپ میکند
دستور isscalar:
در محیط نرمافزار متلب، دستور isscalar برای بررسی اینکه یک متغیر یا آرایه اطلاعات یک مقدار اسکالر است یا نه استفاده میشود. زمانی که عبارت isscalar(variable) را اجرا کنید، اگر variable یک مقدار اسکالر باشد، مقدار true برمیگرداند که نشاندهنده این است که متغیر یا آرایه اطلاعات یک عدد یا متغیر تکمقداره است. اگر خروجی این دستور false باشد، این نشاندهنده این است که variable یک متغیر یا آرایه اطلاعات دارای ابعاد بیشتر از یک (بردار یا ماتریس) است.
مثال:
A = 5;
isscalar(A) % این دستور true را برمیگرداند.
دستور issorted:
بله، در محیط متلب دستور issorted برای بررسی آنکه آیا یک آرایه یا بردار مرتب است یا خیر، استفاده میشود. این دستور برمبنای مقایسه عناصر مجاور یک آرایه، بررسی میکند آیا همه عناصر بر روی ترتیب موردنظر قرار دارند یا خیر.
برای مثال:
A = [1 2 3 4 5];
TF = issorted(A);
در این حالت اگر TF برابر با 1 باشد، به این معنی است که آرایه A مرتب میباشد و اگر برابر با 0 باشد به این معنی است که آرایه A مرتب نیست.
دستور ismatrix:
در محیط نرمافزار متلب، دستور ismatrix برای بررسی اینکه یک آرایه یا ماتریس ورودی یک ماتریس (بدان معنا که تمام ابعاد آن با بیش از یک عدد مقداردهی شدهاند) یا یک آرایه (با حداکثر یک بعد با بیشتر از یک عدد مقداردهی شده) استفاده میشود. این دستور در واقع به طور اصطلاحی بررسی میکند که ورودی یک ماتریس با بُعد بیشتر از یک است یا نه.
برای استفاده از ismatrix، میتوانید خطوط کد زیر را در محیط نرمافزار متلب اجرا کنید:
A = [1, 2, 3; 4, 5, 6];
B = [1, 2, 3, 4];
is_matrix_A = ismatrix(A)
is_matrix_B = ismatrix(B)
در اینجا، is_matrix_A برابر با 1 خواهد بود که نشاندهنده این است که A یک ماتریس است. اما is_matrix_B برابر با 0 خواهد بود زیرا B یک آرایه و نه ماتریس است.
خروجی این دو خط کد به ترتیب مشابه زیر خواهد بود:
is_matrix_A =
1
is_matrix_B =
0
دستور isrow:
بله، دستور isrow در MATLAB برای بررسی اینکه آیا یک ماتریس دارای حداقل یک ردیف معین است یا خیر، استفاده میشود. این دستور از اپراتور منطقی استفاده میکند.
مثال:
A = [1 2 3; 4 5 6; 7 8 9];
TF = isrow(A);
disp(TF);
این کد چک میکند که آیا ماتریس A حداقل یک ردیف دارد یا خیر و خروجی مقدار منطقی true یا false را نشان میدهد.
دستور iscolumn:
دستور iscolumn در متلب برای بررسی اینکه آیا یک آرایه (ماتریس) ورودی یک ستونی است یا خیر، استفاده می شود. این دستور بازخورد مناسبی برمیگرداند که آیا آرایه ورودی یک ستونی است یا نه.
دستور isempty:
برای نمونه:
A = [];
TF = isempty(A); % اینجا TF برابر 1 خواهد بود زیرا A خالی است
لطفا توجه داشته باشید که در صورت تغییرات بعدی در نرمافزار متلب ممکن است اطلاعات بیشتری در دسترس شود که این دستور را گستردهتر توضیح دهد.
دستور sort:
در متلب، شما میتوانید از تابع sort برای مرتبسازی اطلاعات استفاده کنید. این تابع به صورت زیر عمل میکند:
sorted_data = sort(data)
در اینجا، data آرایه دادههایی است که میخواهید مرتب شود و sorted_data حاوی نتایج مرتب شده است. همچنین با استفاده از تغییرات مختلف میتوانید نوع و روش مرتبسازی را نیز تنظیم کنید.
برای اطلاعات بیشتر میتوانید در مستندات رسمی متلب به صفحه تابع sort مراجعه کنید.
دستور sortrows:
در محیط نرمافزار متلب، تابع sortrows برای مرتبسازی ردیفهای یک ماتریس بر اساس مقادیر یک ستون یا چند ستون استفاده میشود.
برای استفاده از این دستور، میتوانید به شکل زیر عمل کنید:
A = [4 3 5; 1 2 6; 3 1 9];
sortedA = sortrows(A, 2); % بر اساس مقادیر ستون دوم مرتب سازی شود
disp(sortedA);
این کد، ماتریس A را بر حسب مقادیر ستون دوم مرتب میکند. در این مثال، sortedA حاوی ماتریس A مرتب شده بر اساس مقادیر ستون دوم است.
دستور flip:
در متلب، دستور flip برای تغییر جهت یا ترتیب اعضای یک آرایه استفاده میشود. بهطور کلی این دستور در متلب به صورت زیر استفاده میشود:
B = flip(A)
که A آرایه اولیه و B آرایه جدیدی است که اعضای آن برعکس اعضای آرایه A قرار میگیرند.
مثال:
A = [1, 2, 3, 4, 5];
B = flip(A);
disp(B);
حالت خاص این دستور، flipud برای تغییر جهت سطرهای یک ماتریس (مرتبه بالا پایین) است.
دستور fliplr:
در محیط متلب، دستور fliplr برای انعکاس یا چرخش ماتریس ورودی از چپ به راست استفاده میشود. این دستور برای انتقال ستونهای یک ماتریس به جلو یا عقب استفاده میشود.
مثال:
اگر ماتریس A به صورت زیر باشد:
A = [1 2 3; 4 5 6; 7 8 9];
استفاده از دستور fliplr برای انعکاس این ماتریس به صورت زیر خواهد بود:
B = fliplr(A);
B =
3 2 1
6 5 4
9 8 7
دستور flipud:
در محیط نرمافزار MATLAB، دستور flipud برای اعمال تغییر ماتریس به گونهای است که سطرهای ماتریس از بالا به پایین برعکس میشوند. به عبارت دیگر، این دستور باعث میشود که ماتریس ورودی به صورت جدیدی با سطرهای معکوس شود.
برای استفاده از flipud در MATLAB، باید این دستور را با نام ماتریس یا آرایه موردنظرتان اعمال کنید.
به طور مثال:
A = [1 2 3; 4 5 6; 7 8 9];
flipped_A = flipud(A);
disp(flipped_A);
این کد باعث میشود که ماتریس A که به شکل زیر است:
1 2 3
4 5 6
7 8 9
به ماتریس flipped_A تبدیل شود:
7 8 9
4 5 6
1 2 3
دستورrot90:
در MATLAB، تابع rot90 برای چرخش یک ماتریس به اندازه 90 درجه در جهت عقربههای ساعت استفاده میشود.
برای استفاده از این دستور به صورت زیر عمل کنید:
B = rot90(A, k)
که A ماتریسی است که میخواهید آن را چرخش دهید و k نشاندهنده تعداد چرخشها به اندازه 90 درجه است. اگر k مثبت باشد، ماتریس به اندازه 90 درجه در جهت عقربههای ساعت چرخش مییابد و اگر k منفی باشد، در جهتی مخالف عقربههای ساعت چرخش مییابد.
دستور transpose:
در متلب، شما میتوانید از دستور transpose برای انتقال ترانه ماتریس استفاده کنید. این دستور معمولاً با علامت نقطه تعجب .’ نشان داده میشود.
به عنوان مثال:
A = [1 2 3; 4 5 6];
B = A.';
در این مثال، B ماتریس ترانه شده از A خواهد بود.
دستور ctranspose:
در محیط نرمافزار متلب، عملگر ستارهترانهاده یا همان ctranspose که به صورت ترانهاده مختلط عمل میکند، با استفاده از عملگر ترانهاده تجربیع میشود. برای تجربیع یک ماتریس به این صورت استفاده میشود:
A'
که A ماتریسی مختلط است. این دستور به ترتیب درایههای مختلط ماتریس A را ترانهاده میکند.
دستور ispermute:
در محیط نرمافزار متلب، دستور ispermute به صورت تابعی است که بررسی میکند آیا یک آرایه معین پس از انتقال جوایز به یک خاص دیگر، مساوی میماند یا خیر. این دستور از نسخه R2018a به بعد در MATLAB موجود است. اما، دقیقاً نحوه استفاده از این دستور را ارائه نمیدهم، چرا که دستورها در نرمافزارها ممکن است بسته به ورژن و تنظیمات مختلف باشند.
دستور circshift:
برای مثال، میتوانید این دستور را به صورت زیر استفاده کنید:
A = [1 2 3 4 5];
B = circshift(A, 2);
این دستور ماتریس A را به دو واحد به سمت چپ منتقل میکند. در نتیجه، ماتریس B برابر است با
[4 5 1 2 3]. همچنین میتوانید این دستور را برای ماتریسها دو بعدی نیز استفاده کنید.
دستورshiftdim:
در محیط نرمافزار متلب، دستور shiftdim برای تغییر ابعاد یک آرایه (ماتریس یا بردار) به صورت معین استفاده میشود. این دستور معمولا برای تطابق ابعاد آرایهها در محاسبات استفاده میشود.
دستور reshape:
B = reshape(A, m, n)
در اینجا:
– A ماتریس یا آرایه اولیه است که قصد تغییر ابعاد آن را داریم.
– m تعداد ردیفهای ماتریس جدید است.
– n تعداد ستونهای ماتریس جدید است.
در صورتی که تعداد المانهای ماتریس جدید با تعداد المانهای ماتریس اولیه برابر نباشد، متلب خطای اندازهگیری (dimension mismatch) را نمایش میدهد.
مثال:
فرض کنید یک ماتریس 3×4 داریم و میخواهیم آن را به یک ماتریس 2×6 تبدیل کنیم:
A = [1 2 3 4; 5 6 7 8; 9 10 11 12];
B = reshape(A, 2, 6);
disp(B);
در مثال فوق، ماتریس A با ابعاد 3×4 به یک ماتریس با ابعاد 2×6 تبدیل میشود.
دستور squeeze:
A = squeeze(A);
این دستور با استفاده از ماتریس A، آن را به حالتی تنگتر تبدیل میکند که ابعاد با اندازه یک حذف شوند.
دستور colon:
در محیط نرمافزار متلب، دستور colon یک دستور ویژه است که برای ایجاد یک دنباله اعداد از یک عدد تا یک عدد دیگر با فاصله تعیین شده استفاده میشود.
برای مثال، اگر بخواهید یک دنباله اعداد صحیح از 1 تا 10 با گام 1 ایجاد کنید، از دستور colon به صورت زیر استفاده میکنید:
1:10
این دستور دنباله اعداد زیر را ایجاد میکند:
1 2 3 4 5 6 7 8 9 10
استفاده از دستور colon برای ایجاد دنبالههای اعداد در متلب بسیار رایج است و در بسیاری از موارد میتواند بسیار مفید باشد.
دستور end:
دستور end در متلب برای پایان دادن یک بلوک از کدها یا یک شرط مورد استفاده قرار میگیرد. به عنوان مثال، اگر یک شرط را در یک ساختار if-else به صورت زیر تعریف کنید، میتوانید از end برای نشان دادن پایان بلوک استفاده کنید:
if condition
% some code here
else
% some other code here
end
در اینجا دستور end به عنوان نشانگر پایان بلوک else در ساختار if-else استفاده شده است.
دستور ind2sub:
در MATLAB، تابع ind2sub برای تبدیل یک فهرست اندیس ماتریسی به اندیس های متناظر در ماتریس استفاده میشود. این تابع به صورت زیر عمل میکند:
[row, col] = ind2sub(size(A), ind);
در اینجا A ماتریس مورد نظر است و ind یک فهرست اندیس است که بخواهیم آن را به اندیسهای متناظر در A تبدیل کنیم. row و col متغیرهایی هستند که اندیس سطر و ستون متناظر را برای هر مقدار در ind ذخیره میکنند.
استفاده از این دستوری مانند زیر است:
A = magic(3); % یک ماتریس 3x3 مثالی
ind = [5, 8]; % یک فهرست اندیس مثالی
[row, col] = ind2sub(size(A), ind);
disp(row);
disp(col);
ین کد، اندیس سطر و ستون متناظر با مقادیر 5 و 8 را برای ماتریس A محاسبه میکند و در متغیرهای row و col قرار میدهد.
دستور sub2ind:
در MATLAB، تابع sub2ind برای تبدیل یک زیرنشانه (subscript) به یک شاخص خطی برای یک آرایه چند بعدی استفاده میشود.
ساختار دستور sub2ind به صورت زیر است:
linearIndex = sub2ind(siz, I1, I2, ..., In)
در اینجا:
– siz اندازه آرایه چند بعدی است.
– I1, I2, …, In زیرنشانههای (subscripts) متناظر با هر بعد از آرایه هستند.
– linearIndex شاخص خطی متناظر با زیرنشانههای ورودی است.
به عنوان مثال، در یک آرایه 2D به نام A، اگر I و J دو متغیر باشند که زیرنشانههای ردیف و ستون هستند، sub2ind میتواند استفاده شود به این صورت:
A = magic(3); % آرایه جادویی 3x3 به عنوان مثال
[row, col] = find(A == 5); % پیدا کردن زیر نشانههای عدد 5
linearIndex = sub2ind(size(A), row, col); % تبدیل زیرنشانهها به شاخص خطی
disp(linearIndex); % چاپ شاخص خطی
این دستور کاربرد مختلفی دارد ولی معمولا برای دسترسی سریعتر به المانهای یک آرایه چند بعدی از طریق زیرنشانهها مورد استفاده قرار میگیرد.
دستور inline:
در محیط MATLAB، دستور inline قابل استفاده نیست. از جایگزینهای آن میتوانید از توابع ناشناخته (Anonymous Functions) استفاده کنید. به عنوان مثال، یک تابع ناشناخته را به شکل زیر در MATLAB تعریف کنید:
f = @(x) x^2 + 3*x - 2;
دستور flipdim:
در محیط متلب، دستور flipdim برای انعکاس آرایهها در ابعاد خاص استفاده میشود. برای استفاده از این دستور باید ماتریس یا آرایه مورد نظرتان را به عنوان ورودی به این تابع داده و بعد از آن ابعادی را برای انعکاس مشخص کنید.
برای نمونه، اگر ماتریس A را داشته باشید و میخواهید آن را در ابعاد خاصی انعکاس دهید، میتوانید از دستور زیر استفاده کنید:
B = flipdim(A, dim)
در اینجا dim ابعاد است که میخواهید ماتریس را در آنها انعکاس دهید. ابعاد شما میتوانند 1، 2، 3 و … باشند طبق تعداد ابعاد ماتریس شما.
مثال:
A = [1 2 3; 4 5 6; 7 8 9];
B = flipdim(A, 1); % انعکاس ماتریس A در ابعادی که شماره یک است
این دستور ماتریس A را از بالا به پایین (در سطرها) میچرخاند. نکته مهم: این دستور در روشهای بالاتر از متلب دیگر توصیه شده نیست و بهتر است از توابع دیگر جایگزین استفاده شود.
دستور vectorize:
در محیط برنامه نویسی MATLAB، دستور vectorize به منظور تبدیل یک تابع تکمتغیره به یک تابع برداری استفاده میشود. این دستور باعث میشود که تابع ورودی، به طور خودکار برای اعمال بر روی آرایهها بهینه شود و نیازی به استفاده از حلقههای تکرار خودکار نیست.
مثال:
فرض کنید تابع my_func(x) را داریم که یک تابع تکمتغیره است. با استفاده از دستور vectorize، میتوان آن را به شکل برداری درآورد:
my_func_vectorized = vectorize(my_func);
ین کار باعث میشود my_func_vectorized یک تابع برداری شود که میتوان آن را بر روی آرایهها اعمال کرد.
دستور sqrt:
در متلب، دستور sqrt برای محاسبه جذر مربعی یک عدد استفاده میشود. به طور مثال:
x = 16;
y = sqrt(x); % y حالا برابر با 4 خواهد بود
این دستور به شما کمک میکند تا جذر مربعی یک عدد را محاسبه و در یک متغیر ذخیره کنید.
دستور sqrtm:
در MATLAB، تابع sqrtm برای محاسبه ماتریس جذر یک ماتریس استفاده میشود. این تابع ماتریس جذر یک ماتریس داده شده را برمیگرداند. برای استفاده از این تابع، باید ماتریس مورد نظر را به عنوان ورودی به آن ارائه دهید.
مثال:
A = [4 3; 3 2];
sqrtA = sqrtm(A);
disp(sqrtA);
در این مثال، ماتریس جذر ماتریس A با استفاده از تابع sqrtm محاسبه شده و در متغیر sqrtA ذخیره میشود.
دستور abs:
abs(x)
برای مثال، اگر x مقدار -5 داشته باشد و شما abs(x) را اجرا کنید، نتیجه به صورت 5 خواهد بود.
دستور power:
بله! در متلب، برای محاسبه توان عدد، میتوانید از عملگر “^” یا تابع power استفاده کنید.
برای مثال، اگر میخواهید عدد 2 را به توان 3 محاسبه کنید، میتوانید از دستورات زیر استفاده کنید:
result = 2^3;
یا
result = power(2, 3);
این دستورات باعث محاسبه مقدار 2 به توان 3 (یعنی 8) در متلب میشوند.
دستور angle:
در MATLAB، دستور angle برای محاسبه زاویه یک عدد مختلط یا یک آرایه از اعداد مختلط استفاده میشود. این دستور زاویه (phase) عدد مختلط را به واحد رادیان برمیگرداند.
به عنوان مثال:
z = 3 + 4i; % تعریف یک عدد مختلط
angle_z = angle(z); % محاسبه زاویه
disp(angle_z); % نمایش زاویه به واحد رادیان
اگر تمایل به نمایش زاویه به واحد درجه دارید، میتوانید خروجی را به درجه تبدیل کنید:
angle_degree = rad2deg(angle_z); % تبدیل زاویه به درجه
disp(angle_degree); % نمایش زاویه به واحد درجه
این دستور به شما کمک میکند تا زوایای مختلف را از عدد مختلط استخراج کنید.
دستور conj:
دستور conj در محیط نرمافزار متلب برای اتصال ماتریسها به یکدیگر استفاده میشود. به طور معمول، دستور conj برای محاسبات خطایی که به خاطر تقریبی گویا پیش میآید و برای محاسبه اعداد مختلط و ماتریسهای گویا به کار میرود.اما این دستور بیشتر برای کار با اعداد مختلط استفاده میشود.
در واقع، دستور conj به کاربر این امکان را میدهد تا همهی مقادیر مختلط یک ماتریس را با هم جمع کند. به صورت کلی سینتکس این دستور به صورت زیر میباشد:
C = conj(A)
که در اینجا A یک ماتریس مختلط است و C ماتریسی است که تمام مقادیر مختلط A را تغییر علامت میدهد.
دستور imag:
توجه: من یکی از یادداشت های پیش از سال 2021 دارم و یک بخشی از جزئیات ممکن است قدیمی باشد.
در MATLAB دستور imshow به جای imag برای نمایش تصویر استفاده میشود. این دستور برای نمایش تصاویر در MATLAB استفاده میشود.
برای مثال:
img = imread('myimage.jpg');
imshow(img);
دستور imshow تصویر ماتریس را در پنجرهای جداگانه نمایش میدهد.
دستور complex:
در متلب، تابع complex برای ایجاد یک عدد مختلط استفاده میشود. این تابع دو پارامتر میپذیرد که اولین پارامتر به معنای بخش واقعی عدد مختلط و دومین پارامتر به معنای بخش موهومی عدد مختلط میباشد.
برای مثال، فرض کنید میخواهید عدد مختلط z = 3 + 4i را ایجاد کنید. از تابع complex در متلب به صورت زیر استفاده میکنید:
z = complex(3, 4);
این دستور باعث ایجاد عدد مختلط z میشود که بخش واقعی آن 3 و بخش موهومی آن 4 است.
دستور exp:
در محیط نرمافزاری MATLAB دستور exp برای محاسبه تابع نمایی است. این دستور برای محاسبه اعداد نمایی بر اساس تعداد ورودیهایی که وارد شوند عمل میکند.
برای محاسبه نمایی یک عدد میتوانید از دستور exp استفاده کنید، به عنوان مثال:
x = 2;
result = exp(x);
disp(result);
این دستور به شما خروجی نمایی اعداد ورودی را ارائه میدهد.
دستور find:
در محیط نرمافزار متلب، دستور find برای یافتن اندیس های غیرصفر یک آرایه استفاده میشود. به صورت ساده این دستور اندیسهایی که مقادیر غیرصفر را دارند را برمیگرداند. برای اطلاعات بیشتر و نحوه استفاده از این دستور در متلب، میتوانید به مستندات رسمی متلب یا help مربوط به این دستور مراجعه کنید.
دستور magic:
magic(n)
که n اندازه ماتریس جادوی مورد نظر است. به عنوان مثال، برای ایجاد یک ماتریس جادوی 3×3 از دستور magic(3) استفاده میشود.
❗️ توجه داشته باشید که ماتریس جادوی تنها برای اعداد فرد درست است و برای اعداد زوج همچین ماتریسی وجود ندارد.
دستور max:
برای بردار:
max_value = max(vector)
برای ماتریس:
max_value = max(matrix, [], 'all')
در این دستورات، \(\text{vector}\) یک بردار ورودی و \(\text{matrix}\) یک ماتریس ورودی است. همچنین \(\text{max\_value}\) بیانگر بزرگترین مقدار در بردار یا ماتریس موردنظر است. از دستور \(\text{max}\) حالت all برای یافتن بزرگترین مقدار در تمام عناصر ماتریس استفاده میشود.
دستورmin:
به طور مثال:
A = [4, 7, 2, 9, 5];
min_value = min(A);
disp(min_value);
این کد از مقدار کمترین در آرایه A استفاده میکند و آن را چاپ میکند.
دستور mean:
توابع در متلب mean() برای محاسبه میانگین یک بردار یا ماتریس استفاده میشود. به صورت کلی، دستور mean() به شکل زیر استفاده میشود:
result = mean(data)
که data ورودی ما میباشد که میانگین آن محاسبه میشود و در result ذخیره میشود.
دستورsum:
در متلب، دستور sum برای محاسبه مجموع اعضای یک آرایه یا بردار استفاده میشود. برای مثال اگر میخواهید مجموع اعضای یک بردار به نام vec را محاسبه کنید، از این دستور به صورت زیر استفاده میکنید:
result = sum(vec);
تا موقعی که vec یک بردار در متلب باشد، این دستور مجموع اعضای آن بردار را محاسبه خواهد کرد.
دستور det:
در محیط نرمافزار MATLAB، det یک تابع است که برای محاسبه تعیینپذیر یک ماتریس مورد استفاده قرار میگیرد. این تابع با ماتریس ورودی خود را گرفته و مقدار تعیینپذیری آن را محاسبه میکند. برای استفاده از این تابع، میتوانید به صورت زیر عمل کنید:
A = [1 2; 3 4]; % یک ماتریس نمونه
determinant_A = det(A); % محاسبه تعیینپذیری ماتریس A
disp(determinant_A); % نمایش مقدار تعیینپذیری
با این دستور، میتوانید ماتریس ورودی خود را به صورت عددی تعیینپذیر کنید و از آن در محاسبات خود استفاده کنید.
دستور inv:
در محیط نرمافزار متلب، دستور inv برای معکوس کردن یک ماتریس استفاده میشود. به این صورت:
inv(A)
ین دستور برای معکوس کردن ماتریس A به کار میرود. مطمئن شوید که ماتریس A قابل معکوس بوده و اندازه آن مناسب باشد، زیرا معکوس کردن ماتریسهای غیر قابل معکوس یا غیر معتبر باعث خطا میشود.
دستور prod:
دستور “prod” در متلب به معنای ضرب عناصر یک بردار یا ماتریس است. این دستور برای محاسبه حاصلضرب اعداد در یک بردار یا ماتریس استفاده میشود.
مثال:
A = [1 2 3; 4 5 6];
result = prod(A);
disp(result);
در این مثال، “prod(A)” حاصلضرب همه عناصر ماتریس “A” را محاسبه میکند. در اینجا، خروجی مورد انتظار برای ماتریس A برابر با 720 خواهد بود.
دستور rot90:
در متلب، دستور rot90 به صورت زیر استفاده میشود:
B = rot90(A, k)
در اینجا، A ماتریس مورد نظر شما است و k تعداد چرخشها به صورت یک عدد صحیح است که مشخص میکند چند بار 90 درجه چرخش انجام شود.
برای مثال، اگر A یک ماتریس 2×2 باشد:
A = [1 2; 3 4];
B = rot90(A, 1);
در این صورت، ماتریس B برابر با:
B = [2 4; 1 3];
دستور trace:
دستور trace در محیط نرمافزار MATLAB برای محاسبه مجموع المانهای قطر اصلی یک ماتریس (ماتریس مربعی) استفاده میشود. به صورت ساده، trace اینگونه عمل میکند:
اگر M یک ماتریس مربعی با ابعاد n×n باشد، آنگاه trace(M) برابر با جمع عناصر قطر اصلی ماتریس M خواهد بود.
مثال:
در MATLAB، اگر ماتریس M به صورت زیر باشد:
;M = [1 2 3; 4 5 6; 7 8 9]
آنگاه trace(M) برابر با 1 + 5 + 9 = 15 خواهد بود.
دستور tic toc:
مثال:
tic
% قسمتی از کد که میخواهید زمان اجرایش را اندازهگیری کنید
toc
دستور is numric:
در محیط نرمافزار متلب، به دستور num2str برای تبدیل یک عدد به یک رشته از اعداد اعشاری یا عدد صحیح با استفاده از متغیر رشته اشاره میشود. نحوه استفاده از این دستور به صورت زیر است:
str = num2str(number)
این دستور عدد موجود در متغیر number را به یک رشته تبدیل میکند و آن را در متغیر str ذخیره میکند.

نتیجه گیری:
به طور کلی، دستورات اولیه متلب ابزارهای قدرتمندی برای ایجاد و مدیریت ماتریس ها و بردار ها، انجام عملیات ریاضی پایه و حل مسائل عملیاتی فراهم می کنند. این دستورات اولیه اساسی برای هر کاربر متلب است و باید به خوبی آشنا باشند تا بتوانند به خوبی از قدرت این نرم افزار استفاده کنند.
دستورات متلب برای انجام عملیات ریاضی، تحلیل داده ها و رسم نمودارها در پروژه های علمی هستند. با رعایت نکات مهم و بهینه سازی کد، می توان کارایی و دقت پروژه ها را بهبود بخشید و نتایج دقیق تری را به دست آورد. این ابزار قدرتمند به عنوان یکی از اصلی ترین ابزارهای محاسباتی در علوم مختلف شناخته شده است و محبوبیت آن در حال افزایش است.