174
0 -1 0
1 -1 1
>> B=[1 1 0; 2 -1 0; 3 0 1]
B =
-1
1 0
2
-1
0
3 0 1
>> A*B
ans =
2
-1 1
-2 1
0
2 2
1
Endi shu amalni algoritmi haqida ya’ni o’z qo’limiz yordamida bajaramiz:
>> for i=1:3; for j=1:3; C(i,j)=0; for k=1:3; C(i,j)=C(i,j)+A(i,k)*B(k,j); end; end;
end; C C =
2
-1 1
-2 1 0
2 2 1
2-Misol: A va B matritsalarni bir-biriga qo’shish
>> A=[-1 0 1; 0 -1 0; 1 -1 1];
>> B=[1 1 0; 2 -1 0; 3 0 1];
>> A+B
ans =
0 1 1
2
-2 0
4
-1 2
Endi shu matritsalarni qo’shish amalini algoritmini o’zimiz bajarib ko’ramiz:
>> for i=1:3; for j=1:3; C(i,j)=A(i,j)+B(i,j);end; end; C
C =
0 1 1
2
-2 0
4
-1 2
3 – misol: Matlabda matritsalarni chapdan o’ngga
burishda fliplr
komandasidan foydalanish:
>> A=[-1 0 1; 0 -1 0; 1 -1 1]
A =
176
1
-1 1
5 – misol: Berilgan matritsani soat strelkasiga qarshi 90
0
ga burish uchun
ishlatiladigan rot90(A) komandasi:
>> A=[-1 0 1; 0 -1 0; 1 -1 1]
A =
-1 0 1
0 -1 0
1 -1 1
>> rot90(A)
ans =
1 0 1
0
-1
-1
-1 0 1
Endi shu amalning bajarilish tartibi ya’ni algoritmi haqida:
>> for i=1:3; for j=1:3; C(i,j)=A(j,3-i+1); end; end; C
C =
1 0 1
0
-1
-1
1
0 1
Undan tashqari matlabda maxsus ko’rinishdagi
matritsalarni hosil qilish
imkoniyati bor. Ana shunday matritsalarni hosil qiluvchi komandalarni kyeltirib
o’tamiz:
>> A=[-1 0 1; 0 -1 0; 1 -1 1]
A =
-1 0 1
0 -1 0
1 -1 1
>> size(A)
ans =
3 3
>> length(A)
ans = 3
>> ndims(A)
ans =
179
-2 3
-1
-1 0
1 1 1
-1
-1
Endi shu komandani o’zimiz m-faylga yozib yangi yuqori degan komanda hosil
qilamiz :
>> B=yuqori(A)
x =
5
B =
-1
0 0 0 0
-2
1 0 0 0
-2
-1 0 0 0
-2 3
-1
-1 0
1 1 1
-1
-1
9 – misol :triu komandasi esa matritsaning
diagonalidan pastki qismini
nollarga aylantiradi:
>> A=[-1 2 4 0 3; -2 1 0 3 4; -2 -1 0 -2 1; -2 3 -1 -1 1; 1 1 1 -1 -1]
A =
-1
2 4 0
-2
1 0 3
2
-1 0
174
181
>> 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
Talabalar mavzuni mukammal o’zlashtirishlari uchun bajaradigan topshiriqlar
1)
RESHAPE – matrisa o’lchamini o’zgartiring : A=[-1 0 3 0; 0 1 2 -1; -4 -2 -3 2];
2) Berilgan
matritsaning diagonaildan yuqori qismini elementlarini 0 bilan
almashtiring:
A=[-1 2 4 0 3; -2 1 0 3 4; -2 -1 0 -2 1; -2 3 -1 -1 1; 1 1 1 -1 -1];
3) Berilgan
matritsaning diagonaildan pastkii qismini elementlarini 0 bilan
almashtirish:
A=[-6 2 4 4 3; -2 1 0 3 4; -2 -1 0 -2 1; -2 3 -1 -1 1; 1 8 1 -1 -1]
4) Berilgan matritsaning diagonaildan elementlarini 0 bilan almashtirish:
A=[-2 2 4 0 3; -2 1 0 3 4; -2 -1 0 -2 1; -2 3 -1 -1 1; 1 5 1 -1 -1]
5) diag(A) komandasi berilgan matritsaning diagonalida tugan elementlarni ekranga
chiqaring:
A=[-1 0 1; 0 -1 0; 1 -1 1]
6) diag(A) komandasi berilgan matritsaning diagonalida
tugan elementlarni ekranga
chiqaring:
A=[-3 5 1; 0 -1 0; 1 -6 1]
7) diag(A) komandasi berilgan matritsaning diagonalida tugan elementlarni ekranga
chiqaring:
A=[-1 5 1; 0 -8 0; 1 -1 1]
8) Berilgan matritsani soat strelkasiga qarshi 90
0
ga
burish uchun ishlatiladigan
rot90(A) komandasi:
A=[-1 0 1; 0 -1 0; 1 -1 1]
9) Berilgan matritsani soat strelkasiga qarshi 45
0
ga burish uchun ishlatiladigan
rot45(A) komandasi:
A=[-1 0 1; 0 -1 0; 1 -1 1]
10) Berilgan matritsani soat strelkasiga qarshi 180
0
ga burish uchun ishlatiladigan
rot180(A) komandasi:
A=[-1 0 1; 0 -1 0; 1 -1 1]