m-file |
برای راحتی در استفاده از کدهای مثالهای زیر . فایل m-file را می توانید از لینک زیر دانلود بکنید. روش استفاده از آن هم در قسمت قبل و مثال زیر شرح داده شده است.
دانلود فایل جلسه 2
تقسیم بندی محیط m-file با استفاده از %% ها. هر قسمت به صورت مجزا با Ctrl+Enter قابل اجرا کردن هست. در این مثال فقط قسمت دوم اجرا شده است |
|
clc clear all close all
a = 10 ; b = 11 ; c = a + b
%%
clc clear all close all
a = 15 ; b = [1 2 3 4]
|
b = 1 2 3 4 >>
|
ماتریس های خاص |
ابتدا به معرفی تعدادی از پرکاربردترین ماتریس ها در متلب می پردازیم :
دستور zeros برای ایجاد ماتریسی از صفرها به کار می رود.
zeros |
|
clc clear all close all
zeros (5)
zeros (3 , 4)
|
ans =
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ans =
0 0 0 0 0 0 0 0 0 0 0 0
>> |
دستور eyeماتریسی قطری دارای قطر 1 ایجاد می کند .
eye |
|
clc clear all close all
eye (5) eye (3 , 4)
|
ans = 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 ans = 1 0 0 0 0 1 0 0 0 0 1 0 |
اگر برای وارد کردن برنامه به انتهای سطری رسیدیم ولی عبارت تمام نشده بود می توان از ... استفاده کرد و در خط بعد عبارت را ادامه داد.
ایجاد ماتریس استفاده از . . . به دست آوردن مقادیر روی قطر یک ماتریس با diag ایجاد ماتریس قطری با دستور diag |
|||
clc clear all close all
A = [ 1:3 ; 3:5 ; 6:8] diag (A) B = [ 1 2 3 4 5 6 7 8 ]
C = [ 1 2 3 4 ... 5 6 7 8 ]
diag (C)
|
A = 1 2 3 3 4 5 6 7 8 ans = 1 4 8 B = 1 2 3 4 5 6 7 8 C = 1 2 3 4 5 6 7 8 ans = 1 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 8 |
دستور rand برای ایجاد اعداد تصادفی بین 0 تا 1 به کار می رود. همچینین می توان به کمک دستور size ابعاد یک ماتریس را به دست آورد.
rand size |
|
clc clear all close all
A = [ 1 2 3 4 ; 2 3 4 5]; size(A) rand (size(A)) rand (4) 5*rand(2,3)+ 13 randi(100,2,2) randn(2,4)
|
ans = 2 4 ans = 0.3704 0.4818 0.6914 0.5123 0.3774 0.7956 0.8498 0.8550 ans = 0.4654 0.5412 0.2922 0.8918 0.2648 0.3933 0.0073 0.4208 0.6295 0.4205 0.9327 0.4002 0.5627 0.1371 0.6093 0.5539 ans = 15.9813 15.9360 16.8080 15.5314 13.6641 16.2557 ans = 36 28 32 15 ans = -0.2482 -1.5636 -0.0241 -0.2872 1.1934 -1.7452 -1.3482 -0.7513 |
توابع مهم به دست آمده از یک ماتریس |
با استفاده از یک ‘ در کنار اسم ماتریس می توان ترانهاده آن را به دست آورد. برای مثال A’ . دستور inv می تواند معکوس یک ماتریس مربعی را حساب کند . در ضمن می توان آن ماتریس را به توان -1 رسانید. ضرب
ماتریسی با * و ضرب عددی با * . انجام پذیر است. در ضمن مقادیر ویژه از روی eig به دست می آیند.
Inv Det eig |
|
A = [ 1 2 3 ; 5 6 7 ] B = [ 5 9 10 ; 7 8 9 ;2 3 4]
A' inv(B) B^-1 det(B) A*B A.*A [m,n] = eig(B)
|
A = 1 2 3 5 6 7 B = 5 9 10 7 8 9 2 3 4 ans = 1 5 2 6 3 7 ans = -0.3333 0.4000 -0.0667 0.6667 0.0000 -1.6667 -0.3333 -0.2000 1.5333 ans = -0.3333 0.4000 -0.0667 0.6667 0.0000 -1.6667 -0.3333 -0.2000 1.5333 ans = -15.0000 ans = 25 34 40 81 114 132 ans = 1 4 9 25 36 49 m = -0.6739 -0.7757 -0.1525 -0.6965 0.6283 -0.6999 -0.2463 -0.0605 0.6978 n = 17.9559 0 0 0 -1.5094 0 0 0 0.5535 |
انتخاب قسمت دلخواه از یک ماتریس ایجاد بازه عددی |
دستور linspace(a,b,n) به تعداد n عدد به صورت خطی بین دو عدد a و b ایجاد می کند . دستور logspace این کار را به صورت عددهای لگاریتمی بین دو عدد نام برده انجام می دهد.
Linspace logspace |
|
clc clear all close all L = linspace(1,2,5) G = logspace(0,10,3) A = [0:1:3 10:1:13 20:1:23]' P = A (2,3) B = A (2:3 , : ) C = A (2:4, 3) D = A (1 , :) E = A ([1 2],[2 3]) |
L = 1.0000 1.2500 1.5000 1.7500 2.0000 G = 1.0e+10 * 0.0000 0.0000 1.0000 A = 0 10 20 1 11 21 2 12 22 3 13 23 P = 21 B = 1 11 21 2 12 22 C = 21 22 23 D = 0 10 20 E = 10 20 11 21 |
اندازه ماتریس |
با دستور length طول یک ماتریس را به دست می آوریم.
size lenght |
|
clc clear all close all
A = [ 5 9 10 ; 7 8 9 ;2 3 4] B = size(A) N = 1:.1:115; length(N)
|
A = 5 9 10 7 8 9 2 3 4 B = 3 3 ans = 1141 >>
|
جمع ، ضرب ، ترتیب ، بیشترین ، کمترین و میانگین ماتریس |
جمع زدن ستون های یک ماتریس m*n با دستور sum انجام می پذیرد.
همچنین اگر ماتریس تنها یک سطر باشد تمام عناصر سطر آن با هم جمع زده می شوند.
sum |
|||
clc clear all close all
A = [ 5 9 10 ; 7 8 9 ;2 3 4] B = sum (A)
C = 1:10 D = sum(C)
|
A = 5 9 10 7 8 9 2 3 4 B = 14 20 23 C = 1 2 3 4 5 6 7 8 9 10 D = 55 >>
|
مرتب کردن خانه های یک ماتریس
sort |
|
clc clear all close all
A = [ 5 9 10 ; 7 8 9 ;2 3 4] B = sort (A) C = rand(1,5) D = sort(C)
|
A = 5 9 10 7 8 9 2 3 4 B = 70 216 360 C = 1 2 3 4 5 6 7 8 9 10 D = 3628800 >>
|
پیدا کردن بزرگترین عدد
max |
|
clc clear all close all
A = [ 5 9 10 ; 7 8 9 ;2 3 4] B = max (A) Bmax = max(max(A)) C = [2 3 24 3 92.1 12] D = max(C)
|
A = 5 9 10 7 8 9 2 3 4 B = 7 9 10 Bmax = 10 C = 2.0000 3.0000 24.0000 3.0000 92.1000 12.0000 D = 92.1000 >>
|
پیدا کردن کوچکترین عدد
min |
|
clc clear all close all
A = [ 5 9 10 ; 7 8 9 ;2 3 4] B = min (A) Bmin = min(min(A)) C = [2 3 24 3 92.1 12] D = min(C)
|
A = 5 9 10 7 8 9 2 3 4 B = 2 3 4 Bmin = 2 C = 2.0000 3.0000 24.0000 3.0000 92.1000 12.0000 D = 2 >>
|
پیدا کردن میانگین عددها
mean |
|
clc clear all close all
A = [ 5 9 10 ; 7 8 9 ;2 3 4] B = mean (A) C = [2 3 24 3 92.1 12] D = mean(C)
|
A = 5 9 10 7 8 9 2 3 4 B = 4.6667 6.6667 7.6667 C = 2.0000 3.0000 24.0000 3.0000 92.1000 12.0000 D = 22.6833 >>
|
جهت دهی به ماتریس |
معکوس کردن نسبت به محور افقی
flipud flipdim |
|
clc clear all close all
A = [ 1 2 3 ; 4 5 6 ;7 8 9] B = flipud(A) C = flipdim(A,2)
|
A = 1 2 3 4 5 6 7 8 9 B = 7 8 9 4 5 6 1 2 3 C = 3 2 1 6 5 4 9 8 7 >>
|
معکوس کردن نسبت به محور عمودی
fliplr flipdim |
|
clc clear all close all
A = [ 1 2 3 ; 4 5 6 ;7 8 9] D = fliplr(A) E = flipdim(A,1)
|
A = 1 2 3 4 5 6 7 8 9 D = 3 2 1 6 5 4 9 8 7 E = 7 8 9 4 5 6 1 2 3 >>
|
چرخاندن ماتریس به مقادیر 90 درجه ای
rot90 |
|
clc clear all close all
A = [ 1 2 3 ; 4 5 6 ;7 8 9] F = rot90(A) G = rot90(A,2)
|
A = 1 2 3 4 5 6 7 8 9 F = 3 6 9 2 5 8 1 4 7 G = 9 8 7 6 5 4 3 2 1
>>
|
اعداد خاص در متلب |
inf eps realmax realmin NaN 0/0 |
|
clc clear all close all
C=inf D=eps E=realmax F=realmin G=NaN H=0/0
|
C = Inf D = 2.2204e-16 E = 1.7977e+308 F = 2.2251e-308 G = NaN H = NaN >>
|
پیوند دادن ماتریس ها |
ترانهاده ی یک ماتریس
A’ |
|
clc clear all close all
A=[1 2;3 4] B=[5 6;7 8] C=[A B] D=[A B]'
|
A = 1 2 3 4 B = 5 6 7 8
C = 1 2 5 6 3 4 7 8 D = 1 3 2 4 5 7 6 8 >>
|
با دستور repmat می توان یک ماتریس بزرگتر از کنار هم قرار دادن ماتریس داده شده ایجاد کرد.
repmat |
|
clc clear all close all
A=[1 2;3 4] B=repmat(A,2,3)
|
A = 1 2 3 4 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 >>
|
کپی برداری از کلیه مطالب بدون ذکر منبع ممنوع می باشد |
|
|
|
|
|
|
|
|