|
Matritsalar ustida amallarBog'liq omadbek1amaliy Laboratoriya ishi ¹12,13. Cisco Packet Tracer dasturida dhcp ser, 1707193002, Laboratoriya ishi ¹10 Kommutatorning port-security funktsiyasini, omadbek, 1702838717, Tizim va signallarni qayta ishlash O’quv uslubiy majmuaMatritsalar ustida amallar. Matritsalarni
almashtirish
amallari.
MATLABda matritsalar ustida oddiy arifmyetik amallardan tashqari maxsus
amallar va almashtirishlar mavjud. Ulardan biri matritsalarni transnponirlashdir.
Biror A matritsani transponirlash dyeganda uni mos qatorlarini ustunlar bilan
almashtirish tushuniladi va u A' kabi byelgilanadi.
Misol, A= [1 2 3
4 5 6] berilgan. Buni MATLABda A= [1 2 3; 4 5 6]
ko’rinishda kiritamiz. Dyemak bu (m*n) o’lchovli matritsaga o’tadi.
Bir nyechta matritsalarni birlashtirish uchun
V= cat ( A1, A2, ... )
buyruq 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)
buyruqlaridan foydalaniladi. fliplr (A) buyrug’i A matritsani chapdan o’ngga
ustunlarini almashtirish yo’nalishida buradi. flipud (A) esa A matritsani
pastdan yuqoriga qatorlarini almashtirish yo’nalishida buradi.
Misol. A quyidagicha bo’lsin:
A= [ 2 3
7 1
9 0]
U holda fliplr (A) = [9 0; 7 1; 2 3] , ya’ni
(A) = [9 0;
7 1;
2 3]
flipud (A) q [3 2 ; 1 7; 0 9] kabi bo’ladi. Byerilgan matritsani soat stryelkasiga
qarshi 90
0
ga buruvchi rot 90 (A) buyrug’idir.
Misol:
B = [1 3 5
7 9 11
2 3 4];
rot 90(B)=[5 1 4 ; 3 9 3 ; 1 7 2]; ya`ni
B=[5 1 4
3 9 3
1 7 2] hosil bo`ladi.
Undan tashqari MATLABda maxsus ko’rinishdagi matritsalarni hosil qilish
imkoniyati bor. Ana shunday matritsalarni hosil qiluvchi buyruqlarni keltirib
o’tamiz:
- size (A) - A matritsaning o’lchovi;
- length (A) -A vektor uzunligi (elyemyentlar soni);
- ndims (A) - A matritsa o’lchovlari soni;
46
- isempty (A) - A matritsa bo’sh bo’lsa 1, aks holda 0 qiymatni byeradi;
- isegual (A, V) - A=V bo’lsa 1 ni byeradi, aks xolda “0” ni byeradi;
- inumeric (A) - A matritsa sonli tipda bo’lsa 1 ni byeradi, aks holda “0” ni
beradi;
Misol. Berilgan matritsani soat strelkasiga qarshi 90
0
ga burish uchun
ishlatiladigan rot90(A) buyrug’i:
>> 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 algoritmini keltiramiz:
>> 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
Misol. MATLABda matritsalarni chapdan o’ngga burishda fliplr
buyrug’idan foydalanish:
>> A=[-1 0 1; 0 -1 0; 1 -1 1]
A =
-1 0 1
0 -1 0
1 -1 1
>> fliplr(A)
ans =
1 0 -1
0 -1 0
1 -1 1
Undan tashqari MATLABda maxsus ko’rinishdagi matritsalarni hosil
qilish imkoniyati bor. Ana shunday matritsalarni hosil qiluvchi buyruqlarni
keltirib o’tamiz:
>> A=[-1 0 1; 0 -1 0; 1 -1 1]
A =
-1 0 1
0 -1 0
1 -1 1
>> size(A)
47
ans =
3 3 % ya`ni matritsaning o`lchami (3x3) o`lchamga ega bo`ladi.
>> length(A)
ans =
3
>> ndims(A)
ans = % oxirgi hosil bo`lgan matritsaning elemntlari sonini chiqarish.
2
>> isempty(A)
ans =
0
% matritsaning elementlari mavjud bo`lgani uchun 0 qiymat qaytaradi.
Misol: Berilgan A va B matritsalarni bir biriga ko’paytirish:
>> A=[-1 0 1; 0 -1 0; 1 -1 1]
A =
-1 0 1
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
|
| |