• 6-Mavzu: Matrisalar. Matlab tizimida matritsalar ustida amallar. Reja
  • magic (n) – qator bo‘yicha elementlar yig‘indisi ustunlar bo‘yicha elementlar yig‘indisiga teng bo‘lgan “sehrli” matritsa; - size (A)



    bet32/141
    Sana15.01.2024
    Hajmi
    #138013
    1   ...   28   29   30   31   32   33   34   35   ...   141
    Bog'liq
    KM majmua (1)

    magic (n) – qator bo‘yicha elementlar yig‘indisi ustunlar bo‘yicha
    elementlar yig‘indisiga teng bo‘lgan “sehrli” matritsa;
    -
    size (A) – A matritsaning o‘lchovi;
    -
    length (A) – A vektor uzunligi (elementlar soni);
    -
    ndims (A) – A matritsa o‘lchovlari soni;
    -
    isempty (A) – A matritsa bo‘sh bo‘lsa 1, aks xolda 0 qiymatni
    beradi;
    -
    isequal (A, V) – A=V bo‘lsa 1 ni beradi, aks xolda “0” ni beradi;
    -
    isnumeric (A) – A matritsa sonli tipda bo‘lsa 1 ni beradi, aks xolda
    “0” ni beradi;
    Nazorat savollari.
    1.
    Matlabning asosiy ob’ektlari nima?
    2.
    Matlabda sonlarning qanday formatlari bor?
    3.
    Matritsa, vektor-ustun va vektor-qatorni ta’riflang.
    4.
    Matritsalarni xosil qilish usullarini ayting va misollar keltiring.
    5.
    load komandasining formatlarini va vazifalarini tushuntiring.
    6.
    Matritsani transponirlash nima?
    7.
    flipud va fliplr komandalari nima uchun xizmat qiladi?
    8. Maxsus matritsalarni xosil qiluvchi komandalarni keltiring.
    6-Mavzu: Matrisalar. Matlab tizimida matritsalar ustida amallar.
    Reja:
    1.MATLAB tizimining matrisaviy amallarga yo’naltirilganligi.
    2.Matritsalar ustida amallar.
    3.Matritsalarni maxsus ko’rinishlari.
    4.Maxsus matritsalar.
    1.MATLAB tizimining matrisaviy amallarga yo’naltirilganligi.
    MATLAB vaqt sinovidan o’tgan matematik hisoblarni
    avtomatlashtirish tizimlaridan biridir. U matrisaviy amallarni qo’llashga
    asoslangan. Bu narsa tizimning nomi- MATrix LABoratory-matrisaviy


    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);


    59
    - ndims (A) – A matritsa o’lchovlari soni;
    - isempty (A) – A matritsa bo’sh bo’lsa 1, aks holda 0 qiymatni beradi;
    - isegual (A, V) – A=V bo’lsa 1 ni beradi, aks xolda “0” ni beradi;
    inumeric (A) – A matritsa sonli tipda bo’lsa 1 ni beradi, aks holda “0” ni
    beradi;
    Namunalar:
    1 – 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 2 – misol: Matlabda matritsalarni chapdan o’ngga
    burishda fliplr komandasidan foydalanish:
    >> A=[-1 0 1; 0 -1 0; 1 -1 1]


    60
    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 komandalarni
    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)
    ans =
    3 3
    >> length(A)
    ans =
    3
    >> ndims(A)
    ans =
    2
    >> isempty(A)
    ans =
    0 diag(A) komandasi berilgan matritsaning diagonalida tugan
    elementlarni ekranga chiqaradi:


    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


    63
    Sintaksisi:
    x = logspace(d1, d2)
    x = logspace(d1, d2, n)
    MESHGRID – ikki o’lchamli v a uch o’lchamli to’rlar tugunlarini hosil
    qilish
    Sintaksisi:
    [X, Y] = meshgrid(x, y)
    [X, Y] = meshgrid(x)
    [X, Y, Z] = meshgrid(x, y, z)
    Masalan:
    Funksiyani -2 < x < 2, -2 < y < 2 sohada hisoblash uchun quyidagi amallar
    ketma-
    ketligi bajariladi:
    [X, Y] = meshgrid(-2:.2:2, -2:.2:2);
    Z = X.*exp(-X.^2 - Y.^2);
    mesh(Z)
    Mos keluvchi funksiyalar: SURF, SLICE.
    Maxsus matritsalar.
    COMPAN – xarakterestik ko’phadni matrisa ko’rinishida ifodalash
    Sintaksisi:
    C = compan(p)
    Masalan:
    (x-1)(x-2)(x-3) = x3 - 7x + 6 polinomi koiffetsentalaridan tuzilgan vektor
    p = [1 0 -7 6]; yordamchi massiv quyidagicha bo’ladi:
    C = compan(p)
    C = 0 7 -6
    1 0 0
    0 1 0
    Mos 
    keluvchi 
    funksiyalar: 
    POLY, 
    POLYVAL, 
    POLYVALM.
    HADAMARD – Adamar matritsasi (Hadamard matrix) Sintaksisi:


    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
    1   ...   28   29   30   31   32   33   34   35   ...   141




    Bosh sahifa
    Aloqalar

        Bosh sahifa



    magic (n) – qator bo‘yicha elementlar yig‘indisi ustunlar bo‘yicha elementlar yig‘indisiga teng bo‘lgan “sehrli” matritsa; - size (A)