Главная  Длительная эволюция 

[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] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86]

Flatten[Outer[List, {х,у}, {1,2}],!] {{хЛ},{х,2},{у,1},{у,2}}

Последнее замечание относительно функции Outer состоит в том, что заголовки выражений listi не обязательно должны быть List, хотя и обязаны быть одинаковыми.

Outer[Power, х + у, и + v]

в общем случае заголовка д у второго, третьего и т.д. аргументов этот заголовок будет иметь все вычисленное выражение и его элементы.

Outer[f,g[x,y],g[l,2]]

9[9[f[x,l]J[M9[f[yA]J[y,2]]]

Упражнения

1. По списку I = {a,b,c,d,e,f,g} постройте новый список /3, содержащий каждый третий элемент /. Из 2 удалите каждый третий элемент.

2. Из списка / = {а, 1,6,0,с,0,0,d} исключите все нулевые элементы.

3. Найдите сумму отрицательных чисел в списке I = {а,2, -1,Ь,с,-3}.

4. Найдите среднее арифметическое квадратов элементов списка I = {-3,4,-7,0,11}.

5. В С1шске I = {3, -2, -5,7} кайЭите элемент с минимальным абсолютным значением.

6. Найдите позицию первого отрицательного элемента в числовом списке I.

7. Преобразуйте числовой список / в True, если в нем есть простые числа, или в False в противном случае.

8. Даны матрица m и столбец I. Как вставить I к-ъл столбцом в матрицу?

9. Как с помощью функции Table получить список {{0},{0,1},{0,1,4}, {0,1,4,9},{0,1,4,9,16}}?



10. (Случайное блуждание по двухмерной решетке). Получите список m из двадцати пар, порождаемых по следующему закону. Элементами первой пары являются случайно выбранные числа из множества {-1,1}. Элементы второй пары получаются прибавлением к первой аналогичной случайной пары и т.д. После того как список тп будет получен, вычислите выражение

Show[Graphics[{Line[m]}]]

11. Пусть /(х, у) = X у, д(х,у) = - у - у. Подсчитайте якобиан этих функций в точке (0,0).

12. Дана функция f{x,y,z) = xy + z. Подсчитайте градиент этой функции, т.е. получите список ее первых частных производных, с помощью функций Outer и D.

13. Дано векторное поле v в трехмерном пространстве: V = {/(х,у,г),(/(х,у,г),/«(х,у,г)}.

Получите выражение для дивергенции этого векторного поля с помо-иц>ю функций Inner и D.

14. Даны список переменных / = {х, у, г} и ашсок их значений m = {1,2,3}. Получите список подстановок г = {х 1,у 2,г 3}.

15. Даны матрица т = {{1,2},{3,4}}, список неизвестных I = {х,у} и список правых частей линейной системы уравнений г = {0,1}. Получите линейную систему алгебраических уравнений с данной матрицей коэффициентов и списком правых частей.



ЧАСТЬ II

ПРОГРАММИРОВАНИЕ

НА ЯЗЫКЕ КОМПЬЮТЕРНОЙ АЛГЕБРЫ „МАТЕМАТИКА"

„Математика" задумана и выполнена с целью максимально упростить для пользователя компьютерную реализацию математических алгоритмов и методов. „Математика", в сущности, является языком программирования высокого уровня, поэтому написание программ есть наиболее адекватная и эффективная форма взаимодействия с ней. Рассматриваемая версия системы позволяет программировать в трех стилях: 1) функциональном, 2) стиле, основанном на создании правил преобразований, 3) процедурном, хотя допускает и смешанный характер программирования. В этом разделе будут последовательно рассмотрены перечисленные стили программирования.



[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] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86]

0.0008