Главная -> Книги (0) (1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12) (13) (14) (15) (16) (17) ( 18 ) (19) (20) (21) (22) (23) (24) (25) (26) (27) (28) (29) (30) (31) (32) (33) (34) (35) (36) (37) (38) (39) (40) (41) (42) (43) (44) (45) (46) (47) (48) (49) (50) (51) (52) (53) (54) (55) (56) (57) (58) (59) (60) (61) (62) (63) (64) (65) (66) (67) (68) (69) (70) (71) (72) (73) (18) Пусть надо сложить неограниченное число матриц с числом строк 4 и столбцов 3. Удобно эту операцию представить в виде bi bs ba bi bs 6б bo bto 611 + ... = nir ng ni9 ttii mj /Пб «1 «2 Шз где индексы у элементов матриц заменены номерами регистров, в которые эти элементы заносятся (Р10 == РА, РП = РВ). Программа 3.11. Сложение матриц размера 4X3. Ввод Оо н-йц = РОРП, bo-ir Ьц = РХ ... Результат тдШц зано« сится в регистры РОч-РП. 7 9 5 1 3 1 + пв С/П ИП7 + С/П ИП9 + С/П ИП5 + С/П ИП1 + С/П ИПЗ + О С/П БП П7 8 П9 4 П5 6 П1 2 ПЗ О ИПА + ПА 1 00 С/П ИП8 + С/П ИП4 + С/П ИП6 + С/П ИП2 + С/П НПО + 1 П8 П4 П6 П2 ПО С/П ИПВ При использовании этой программы сначала в регистры РО 4 Ч- РП вводятся числа первой матрицы. Затем, после нажатия кла виши С/П, построчно вводятся значения элементов второй матрицы При этом программа всякий раз подсказывает номер числа матри цы. Например 7, 8 и 9, при вводе первой строки. Если матриц не сколько, то в той же последовательности вводятся значения элемен тов последующих матриц. Проверить программу можно, присвоив значениям элементов складываемых двух матриц номера регистров (получим их удвоение). Часто возникает необходимость в умножении матриц. Произведением матрицы А размера m X « на матрицу В размера « X Р является матрица С = АВ размера тХР, элемент Сц которой, расположенный в ij клетке, равен сумме произведений элементов (-ой строки матрицы А иа соответствующие элементы /-го столбца матрицы В: Таким образом, число столбцов матрицы А должно быть равно числу строк матрицы В. Программа 3.12. Умножение матрицы А размера 3 X 4 на матрицу В размера 4X2. Ввод элементов матрицы В и вывод значений элементов матрицы С соответствуют указанным в формуле.
Работу этой программы можно проверить па примере: 2 0 3 1 5 12 0 0 0 4 1 2 1 4 О 2-1+0-2 + 3-4+1.3 = 17 5.1 + 1-2 + 2-4-1-0-3 = 15 2 . 3 + О • 1 + 3 О 4-1 • 5 = 11 5-3+1-1+2.0--0-5=16 0.1 + 0-2 + 4.4+1-3 = 19 0-3 + 0.1+4-0+1-5 = 5 Введем элементы матрацы В. Нажав клавишу С/П, получим яа индикаторе цифру 1, указывающую на ввод первого элемента первой строки а,1 матрицы А. Вводим его, затем нажав клавишу С/П, получим цифру 2 - надо вводить ац. Введя, таким образом построчно все элементы матрицы А, получим на индикаторе цифру О, указывающую на конец вычислений. Из регистров 9. 6, 3, В, С и Д вызываем результат вычислений- числа 17, 15, 19, 11, 16 и б. Иногда нужны обратные матрицы Л-, удовлетворяющие условию Л-Л- = 1. Правила обращения матрицы Л в обратную матрицу Л- описаны в [4-7]. На микрокалькуляторе легко провести обращение квадратных- матриц размера 2X2 и 3X3. Обращение матриц большего размера можно проводить, разбивая их на блоки меньшего размера. Программа 3.13. Обращение матрицы размера 2X2. Ввод: а„ = Р7 а21 = Р8 0,2 =Р4 а22 = Р5 Обращенная матрица заносится на место исходной. ИП4 ИП8 X П2 ИП7 П9 ИП5 X ИП2 П2 ИП5 XY ИП2 /-/ -БП 00 - П7 ИП9 ИП2 П5 ИП4 П4 ИПЗ ИП2 /-/ П8 С/П Для контроля программы можно выполнить следующие вычисления: 7 8 4 5 1,6666666 -2,6666666 -1.3333333 2,3333333 Программа 3.14. Обращение матрицы размера 3X3. Ввод: а,, = Р7 fli2=P8 0,3 = Р9 fljl = Р4 022 = Р5 «23 = Р6 аз, = Р1 032 = Р2 033 = РЗ Обращенная матрица заносится на место исходной, 3 ПО ИП4 ИП7 ч- ПД ИПД /-/ ИПД ИП8 X - ПА ИП6 ИПД ИП9 ПВ ИП1 ИП7 ~ ПД ИПД /-/ П6 ИП8 X - П4 ИПЗ ИПД ИП9 X ИП8 ИП7 - П1 ИП9 ИП7 -i- П2 ПЗ ИПА П7 ИПВ П8 ИПС П9 FLO Работу программы можно проверить на примере: 0,08333333 -0.08333333 О, 0,08333333 0,04166667 -О, -0,16666666 0,16666666 -О, Повторное обращение матрицы Л- даст матрицу шими операционными погрещностями.
ПС ИП5 X ИП2 ИПД - Пб ИП7 Fl/л; 02 С/П 66666666 ,33333333 ,33333333 А с неболь- 3.3. Вычисление факториалов и комбинаторика Программа 3.15. Вычисление факториала п1=1-2-3... -п с исключением заведомо известного значения О! = 1 при п = РХ ПО 1 НПО X FLO 02 С/П Пример. 10! = 3628800 вычисляется за 10 с. Программа 3.16. Вычисление факториала ft! для любых п, включая О, при п = РХ. т ТхфО и 1 ИПО X FLO 04 С/П БП ,00 1 БП 08 Примеры. О! = 1, 1! = 1, 3! = 6, 10! = 3628800, 201 = = 2,432902-10« (время счета tcCn с). Программа 3.17. Вычисление факториала ft! больших чисел (при п > 10 верны пять первых знаков результата) по уточненной формуле Стирлинга [1, 2]: n! = «"V2exp[-«+-ЗО;)]- (3.1) Ввод: п = РХ при максимальном п = 56. П9 t ¥хУ 1 ИП9 3 О X Fl/л; -1 2 -4- ИП9 ИП9 - Fe- X 2 Ря X ипд X fV X С/П БП 00 (0) (1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12) (13) (14) (15) (16) (17) ( 18 ) (19) (20) (21) (22) (23) (24) (25) (26) (27) (28) (29) (30) (31) (32) (33) (34) (35) (36) (37) (38) (39) (40) (41) (42) (43) (44) (45) (46) (47) (48) (49) (50) (51) (52) (53) (54) (55) (56) (57) (58) (59) (60) (61) (62) (63) (64) (65) (66) (67) (68) (69) (70) (71) (72) (73) |
|