57
laboratoriyada o’z aksini topgan. Matritsalar MATLAB tizimining asosiy
obyektlari hisoblanadi: 4.x versiyasida faqat bir o’lchamli massisvlar-
vektorlar va ikki o’lchamli massivlar-matritsalar; 5.0 versiyasida ko’p
o’lchhamli
massivlardan-tenzorlardan
foydalanish
imkoniyati
mavjud.
MATLAB tizimi vektorlar va matrisalar ustida murakkab amallarni bajaradi.
Undan arifmetik va algebraik amallardan tashqari
matrisalarni invertirlash,
ularning xususiy qiymatlarini hisoblash, chiziqli tenglamalar sistemasini yechish,
ikki va uch o’lchamli funksiyalarning grafiklarini olish va boshqa ko’plab
amallarni bajaruvchi kuchli kalkulyator sifatida ham foydalanish mumkin. Oddiy
son va o’zgaruvchilarga ham MATABda 1x1 o’lchamli matrisa sifatida qaraladi.
Shu sababli oddiy sonlar va massiv-lar ustida bajariladigan amallarning
shakli va usullarida bir xillikka erishilgan. MATLAB - kengayuvchi tizim,
uni har xil turdagi masalalarni yechishga oson moslashtirish mumkin. Uning
eng katta afzalligi tabiiy yo’l bilan kengayishi va bu kengayish m-fayllar
ko’rinishida amalga oshishidir. Boshqacha aytganda,
tizimning kengayishlari
kompyuterning qattiq diskida saqlanadi va MATLABning biriktirilgan (ichki)
funksiyalari va proseduralari kabi kerakli vaqtda foydalanish uchun
chaqiriladi. Zarur hollarda vektor va matrisalar massivlarga aylantiriladi va
ularning qiymatlari har bir element uchun hisoblanadi. MATLAB oddiy
arifmetik amallar va elementar funksiyalarni hisoblashdan tashqari vektorlar
va
matrisalar, kompleks sonlar, qatorlar va polinomlar bilan ham amallar
bajaruvchi g’ayrioddiy superkalkulyatorga aylantiradi. Quyida massiv va
matritsalar, matritaslar ustida amallar, maxsus
matritsalarning MATLAB
tizimining 4.x versiyasida tashkil etish funksiyalari tavsifi keltirlgan:
Matritsalar ustida amallar.
Matritsalarni almashtirish amallari. Matlabda matritsalar ustida oddiy
arifmetik amallardan tashqari maxsus amallar va almashtirishlar mavjud. Ulardan
biri matritsalarni transnponirlashdir. Biror A matritsani transponirlash deganda
uni mos qatorlarini ustunlar bilan almashtirish tushuniladi va u A' kabi
belgilanadi.
58
Masalan, A= [ 1 2 3; 4 5 6 ] bo’ladi. demak bunda (m*n) o’lchovli
matritsaga o’tadi.
Bir nechta matritsalarni birlashtirish uchun
V= cat (
A1, A2, ... )
komanda ishlatiladi. Bu holda A1, A2, ..., matritsalar ko’rsatilgan o’lchov
bo’yicha
birlashtiriladi:
cat (2, A, V) = [A, V]
cat (1, A, V) = [A; V]
Matlabda matritsalarni burish uchun fliplr (A), flipud (A)
komandalaridan foydalaniladi. fliplr (A) komandasi A matritsani chapdan
o’ngga ustunlarini almashtirish yo’nalishida buradi. flipud (A) esa A
matritsani pastdan yuqoriga qatorlarini almashtirish yo’nalishida buradi.
Masalan, A quyidagicha bo’lsin:
A= [ 2 3
7 1
9 0]
U holda fliplr (A) q [9 0; 7 1; 2 3] , flipud (A) q [3 2 ; 1 7; 0 9] kabi
bo’ladi. Berilgan matritsani soat strelkasiga qarshi 900 ga buruvchi rot 90
(A) komandasidir.
Misol: B=[1 3 5
7 9 11
2 3 4];
rot 90(B)=[5 1 4 ; 3 9 3 ; 1 7 2];
Undan tashqari matlabda maxsus ko’rinishdagi matritsalarni hosil qilish
imkoniyati
bor. Ana shunday matritsalarni hosil qiluvchi komandalarni keltirib
o’tamiz:
- size (A) – A matritsaning o’lchovi;
- length (A) –A vektor uzunligi (elementlar soni);
61
>> A=[-1 0 1; 0 -1 0; 1 -1 1]
A =
-1 0 1
0
-1 0
1
-1 1
>> diag(A)
ans =
-1
-1
1 tril(A)- Berilgan matritsaning diagonaildan yuqori qismini
elementlarini 0 bilan almashtirish: triu(A)- komandasi
esa matritsaning
diagonalidan pastki qismini nollarga aylantiradi:
RESHAPE – matrisa o’lchamini o’zgartish :
>> A=[-1 0 2 0; 0 1 2 -1; -1 -2 -3 2]
A =
-1 0 2 0
0 1 2
-1
-1
-2
-3 2
>> reshape(A,2,6)
ans =
-1
-1 1 2
-3
-1
0 0
-2 2 0 2
Matritsalarni maxsus ko’rinishda hosil qilish.
ZEROS-masssiv elementlarini nollardan iborat qilib tuzish
Sintaksisi:
Y = Zeros(n)
Y = Zeros (m, n)
Y = Zeros (size(A))
>> zeros(5)
ans =
62
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 ONES - masssiv elementlarini birlardan iborat qilib
tuzish
Sintaksisi:
Y = ones(n)
Y = ones(m, n)
Y = ones(size(A))
>> ones(5,4)
ans =
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
CROSS – vector ko’paytma
Sintaksisi:
c = cross(a, b)
KRON – tenzorli ko’paytmani hosil qilish
Sintaksisi:
K = kron(X, Y)
LINSPACE –teng munosabatli tugunlar chiziqli massivini hosil qilish
Sintaksisi:
x = linspace(x1, x2)
x = linspace(x1, x2, n)
LOGSPACE – logarifmik to’rli
tugunlarni hosil qilish
64
H = hadamard(n) HANKEL – Hankel matritsasi (Hankel matrix)
Sintaksisi:
H = hankel(c)
H = hankel(c, r)
Misollar:
c = [1 2 3];
H = hankel(c)
H = 1 2 3
1 2 0
3 0 0
c = 1:3; r = 7:10; H = hankel(c, r)
Warning: Column wins anti-diagonal conflict.
Download