• V= cat ( A1, A2, ... ) buyruq ishlatiladi. Bu holda A1, A2, ..., matritsalar ko’rsatilgan o’lchov bo’yicha birlashtiriladi: cat (2, A, V) = [A, V]
  • Matritsalar ustida amallar




    Download 1,61 Mb.
    Pdf ko'rish
    bet14/27
    Sana13.02.2024
    Hajmi1,61 Mb.
    #156104
    1   ...   10   11   12   13   14   15   16   17   ...   27
    Bog'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 majmua
    Matritsalar 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

    Download 1,61 Mb.
    1   ...   10   11   12   13   14   15   16   17   ...   27




    Download 1,61 Mb.
    Pdf ko'rish