Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Электр_энергетикадағы_мат_есептеулер_және_комп_...doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
3.8 Mб
Скачать

3 Дəріс. Векторлармен жұмыс, оларға қолданылатын функциялар

Matlab-та басқа жүйелер сияқты а…z латын алфавиті мен 0….9 сандары қолданылады.

Matlab−та арифметикалық операторлар саны айтарлықтай көп жəне матрицалық жəне арифметикалық операциялардан . тұрады6−кестеде арифметикалық операторлардың тізімі көрсетілген.

6− кесте

Функция

Белгіленуі

Синтаксисі

Қосу

+

(М1+М2)

Азайту

-

(М1-М2)

Матрицалық көбейту

*

(М1*М2)

Элемент бойынша

.*

(М1.*М2)

массивтерді көбейту

Матрицаны солдан

/

(М1/М2)

оңға қарай бөлу

Элемент бойынша

./

(М1./М2)

матрицаны солдан

оңға қарай бөлу

Матрицаны оңнан

\

(М1\М2)

солға қарай бөлу

Элемент бойынша

.\

(М1.\М2)

матрицаны оңнан

солға қарай бөлу

MatLab-та

логикалық

операторлар

арифметикалық

операторларға

қарағанда бірінші орындалады, дəрежелеу көбейту жəне бөлуге қарағанда

басымырақ, ал

бөлу мен

көбейту қосу

мен алуға қарағанда

басымырақ,

операциялар приоритетiн жоғарылату үшiн дөңгелек жақша қолданылуы керек. Жақшалардың саны шектелмейдi.

Ал, енді векторларды енгізуге келетін болсақ,командалар қатарында вектор атын көрсетіп, сосын = белгісін қоямыз да, квадратты жақшаны ашып, ішіне вектор элементтерінпробел немесе , таңбасы арқылы енгіземіз, сосын квадратты жақшаны жабамыз.Нəтиже жол түрінде шығады,ал егер элементтердің арасына ; таңбасын қойсақ нəтиже баған түрінде шығады. Мысалы, 3.1 суретке қарайық:

16

3.1 сурет. Векторды енгізу

MatLab-та векторларға жəне матрицаларға қолданылатын бірнеше функциялар бар, солармен танысайық:

  • v=[1 2 3 4 5];

  • prod(v)

ans = 120

prod(v) - % v векторының элементтерінің көбейтіндісі

  • v=[-1 0 -3 9 5];

    • p=mean(v) % арифметикалық ортасы

p=

2

  • v=[-1 0 -3 9 5];

    • p=sort(v) % өсу ретімен орналастыру

p=

-3 -1 0 5 9

  • v=[-1 0 -3 9 5];

    • p= -sort(-v) % кему ретімен орналастыру

p=

9 5 0 -1 -3

  • a=[1 2 3; 7 9 5]

а=

1 2 3

7 9 5

  • prod(a,1) % а матрицасының элементтерін баған бойынша көбейту ans =

7 18 15

  • prod(a,2) % а матрицасының элементтерін жол бойынша көбейту ans =

6

315

  • sum(v) % v векторының элементтерінің қосындысы

ans = 15

17

>> sum(a,1) % а матрицасының элементтерінің баған бойынша

қосындысы

ans =

8 11 8

  • sum(a,2) % а матрицасының элементтерінің жол бойынша қосындысы ans =

6

21

  • a=[1 -1 3; -1 2 0; 3 -2 1]

a =

1 -1 3 -1 2 0

  1. -2 1

  • b=2*a % а матрицасының əр элементі 2-ге көбейтіледі

    b =

    1. -2 6

    -2 4 0

    1. -4 2

  • a/3+2*(b-a) ans =

    2.3333 -2.3333 7.0000

    -2.3333

    4.6667

    0

    7.0000

    -4.6667

    2.3333

    >> a' % а матрицасын транспонирлеу

    ans =

    1

    -1

    3

    -1

    2

    -2

    3

    0

    1

    >> a*b % а жəне b матрицасының көбейтіндісі ans =

    22 -18 12 -6 10 -6

    1. -18 20

  • v=[1 2 3 4 7];

  • length(v) % v векторының жолының ұзындығы ans =

    5

    • v1=[1.2; 0.3; -1.1];

    • v2=[-0.9; 2.1; 0.5];

    • dot(v1,v2) % екі векторды скалярлық көбейту ans =

    -1

    • sum(v1.*v2) % скалярлық көбейту

    18

    ans = -1

    • cross(v1,v2) % екі векторды векторлық көбейту ans =

    2.4600

    0.3900

    2.7900

    • v1=[1.2; 0.3; -1.1];

    • min(v1) % v1 векторының min элементін табу ans =

    -1.1000

    • [k,n]=min(v1) % v1 векторының min элементін табу жəне оның орнын

    көрсету k =

    -1.1000 n =

    3

    • M=[1 2 3; -2 4 7; 6 -3 9]

    M =

    1 2 3 -2 4 7

    1. -3 9

  • det(M) % матрицаның анықтауышы ans =

    123

    • rank(M) % матрицаның рангы

    ans = 3

    • M=[5 7 6 5; 7 10 8 7; 6 8 10 9; 5 7 9 10];

    • norm(M) % матрицаның нормасы

    ans = 30.2887

    • cond(M) ans =

    2.9841e+003

    • eye(3.3) % 3х3өлшемді матрицаның бас диагональ элементтерін1-ге айналдырады

    ans =

    1

    0

    0

    0

    1

    0

    0

    0

    1

    >> ones(3,3) % бірлік матрица ans =

    1 1 1

    19

    1

    1

    1

    1

    1

    1

    >> zeros(3,3) % нольдік матрица

    ans =

    0

    0

    0

    0

    0

    0

    0

    0

    0

    >> rand(3,3)

    % 0 мен 1 аралығында кездесетін кез келген сандардан

    құралаған матрица

    ans =

    0.8147

    0.9134

    0.2785

    0.9058

    0.6324

    0.5469

    0.1270

    0.0975

    0.9575

    >> hadamard(4) % Адамар матрицасы

    ans =

    1

    1

    1

    1

    1

    -1

    1

    -1

    1

    1

    -1

    -1

    1

    -1

    -1

    1

    >> a=[1 2 3; 4 5 6; 7 8 9]

    a =

    1

    2

    3

    4

    5

    6

    7

    8

    9

    >> fliplr(a)

    % матрицаның сол жағын оң жағымен ауыстыру

    ans =

    3

    2

    1

    6

    5

    4

    9

    8

    7

    >> flipud(a) % матрицаның асты мен үстін ауыстыру

    ans =

    7

    8

    9

    4

    5

    6

    1

    2

    3

    >> rot90(a) % матрицаны 90°-қа өзгерту

    ans =

    3

    6

    9

    2

    5

    8

    1

    4

    7

    • m=3; n=3;

    • reshape(a,m,n) *а матрицасын қайта қалпына келтіру* ans =

    1

    2

    3

    4

    5

    6

    20

    7

    8

    9

    >> tril(a)

    % бас диагональдан жоғары элементтерді нөлге айналдырады

    ans =

    1

    0

    0

    4

    5

    0

    7

    8

    9

    >> triu(a)

    % бас диагональдан төменгі элементтерді 0-ге айналдырады

    ans =

    1

    2

    3

    0

    5

    6

    0

    0

    9

    >> hankel(a) % квадратты Ганкель матрицасы

    ans =

    1

    4

    7

    2

    5

    8

    3

    6

    9

    4

    7

    2

    5

    8

    3

    6

    9

    0

    7

    2

    5

    8

    3

    6

    9

    0

    0

    2

    5

    8

    3

    6

    9

    0

    0

    0

    5

    8

    3

    6

    9

    0

    0

    0

    0

    8

    3

    6

    9

    0

    0

    0

    0

    0

    3

    6

    9

    0

    0

    0

    0

    0

    0

    6

    9

    0

    0

    0

    0

    0

    0

    0

    9

    0

    0

    0

    0

    0

    0

    0

    0

    >> a=[1 2; 3 4] a =

    1. 2

    1. 4

  • b=[5 6; 7 8]

    b =

    1. 6

    1. 8

    • cat(2, a, b) % екі матрицаны жолдар бойынша біріктіру ans =

    1

    2

    5

    6

    3

    4

    7

    8

    >> [a, b] % екі матрицаны жолдар бойынша біріктіру

    ans =

    1

    2

    5

    6

    3

    4

    7

    8

    >> cat(1, a, b)

    % екі матрицаны бағандар бойынша біріктіру

    ans =

    1

    2

    3

    4

    5

    6

    7

    8

    21

    >> [a;b] % екі матрицаны бағандар бойынша біріктіру ans =

    1

    2

    3

    4

    5

    6

    1. 8