ПРИКЛАДИ ОБРОБКИ МАТРИЦЬ

Наведена нижче програма ілюструє деякі з простих операторів МАТ, зокрема введення, висновок і арифметичні операції,

10 Rем ПРОСТОЙ ПРИКЛАД РОБОТИ З МАТРИЦЯМИ

20 DIM А (4,4), В (3,3), С (3,3)

30 REM

40 MАТ INPUT В, С

50 PRINT МАТРИЦЯ В

60 MAT PRINT В

70 PRINT МАТРИЦЯ С

80 MAT PRINT З

90 REM

100 МАТ A = В + С

110 PRINT МАТРИЦЯ А = В + С

120 MAT PRINT A

130 REM

140 МАТ А = В-С

150 PRINT МАТРИЦЯ А = В-С

160 MAT PRINT A

170 END RUN

?910111213 1415 161718 МАТРИЦЯ У

1

2

3

4

5

6

7

8

9

МАТРИЦЯ

З

10

11

12

13

14

15

16

17

18

225

МАТРИЦЯ А = В + С

11

13

15

17

19

21

МАТРИЦЯ А = В-С

25

27

-9

-9

-9

-9

-9

-9

-9

-9

-9

END AT LINE 170

Може зявитися тенденція вважати матриці схожими на звичайні змінні, особливо при

виконанні над ними простих арифметичних операцій Але у випадку скалярних величин а і b, наприклад, справедливо тотожність (А-b) 2 = а2-2аb + b2 Однак для матриць А і В у загальному випадку (А-В) 2 не дорівнює А2 2АВ + В2 У приватному ж випадку В = I, де I одинична матриця, співвідношення (А-I) 2 = А22A + I справедливо, враховуючи, що АI = IА = А і I2 = I Наведена нижче програма ілюструє це рівність для специфічних матриць А:

10 REM ІЛЮСТРАЦІЯ МАНІПУЛЯЦІЙ З МАТРИЦЯМИ

20 REM обчислює (А-I) ** 2 і порівнювати

30 REM З А ** 2-2 * А + I

40 DIM А (20,20), В (20,20), С (20,20)

50 REM ВИКОРИСТОВУЄТЬСЯ перевизначення РОЗМІРІВ (якщо доступно)

60 REM ЧИТАННЯ ЙДЕ ПО вихідні розміри МАТРИЦІ

70 READ N

80 REM ОПЕРАЦІЯ ZER переустановлюються РОЗМІРИ

90 MAT A=ZER(N,N)

100 REM ЧИТАННЯ ІЗ ОПЕРАТОРІВ DATA З РОЗМІРАМИ N * N

110 MAT READ A

120 REM СФОРМУВАТИ В В одинична матриця З перевизначення

125 REM РОЗМІРІВ

130 MAT B=IDN(N,N)

140 REM СФОРМУВАТИ С = (А-I), взявши РОЗМІРИ ВІД А І В

150 МАТ С = А-В

160 REM ОТРИМАТИ (А-I) ** 2

170 МАТ В = С * С

180 PRINT МАТРИЦЯ (А-I) ** 2

190 PRINT &quot—————&quot

200 MAT PRINT В

210 PRINT

220 MAT B=IDN(N,N)

230 REM СФОРМУВАТИ С = А * А (знищити колишній ВМІСТ)

240 МАТ С = А * А

250 КИМ СФОРМУВАТИ С = А ** 2 + I

260 МАТ С = С + В

270 REM СФОРМУВАТИ А = 2 * А

280 МАТ А = (2) * А

290 REM СФОРМУВАТИ С = А * «2-2« А + I

300 МАТ С = С-А

310 PRINT МАТРИЦЯ А ** 2-2 * А +1

320 PRINT &quot—————&quot

330 MAT PRINT С

340 PRINT

350 DATA 4

360 DATA 1,3,7,3,14,15,5,2,6,13,4,9,1

370 END

RUN

МАТРИЦЯ ** 2 47 35 65 22

23 34 60 19

30 35 71 30

49 39 70 38

МАТРИЦЯ А ** 2-2 * А + I

47

35

65

22

23

34

60

19

30

35

71

30

49

39

70

38

END AT LINE  370

Якщо перевизначення розмірів матриць Вашою системою не проводиться, то покладіть розміри масиву рівними (4,4), опустіть рядка 60, 70, 350 і змініть рядка 90 і 130, видаливши з них список параметрів (N, N)

Ви можете перевірити, наскільки загальним є перетворення виразу (А + В) 2 в А2 +2 АВ + В2,

відповідним чином модифікуючи наведену вище програму

55 Лінійних рівнянь

У цьому розділі наводиться закінчена програма для вирішення системи лінійних рівнянь:

Аx = b, тобто

за методом виключення Гауса з вибором ведучого елемента по стовпцях Хоча цей метод простий, але вибір провідного елементу по стовпцях допомагає стримувати зростання помилок, викликаний втратою значущих цифр, що робить його дуже корисним універсальним методом Крім того, його застосування дозволяє без праці обчислити зворотну матрицю для А і визначник матриці А

Якщо Ви маєте справу з особливою системою лінійних рівнянь (наприклад, системою з великими розмірами або погано обумовленою, або з переважною діагоналлю, або з якими-небудь іншими особливостями), то зверніться до літератури з чисельних методів, оскільки для вирішення систем лінійних рівнянь існує багато різних прийомів

Джерело: Уолш Б Програмування на Бейсике: Пер з англ М: Радіо і звязок, 1988 336 с: ил

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*