Главная Длительная эволюция [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] Полную форму вычисленного выражения можно получить с помощью функции FuUForm. {a,b,D[f[x,y],{x,2},y], Integrate[(z + l)/(z--2),z]} FuUForm {a,b,Derivative[2,i][f][x,y], Plus[z, Times[-1, Log[Plus[2,z]]]]} Мы видим, что прежде чем вычислить полную форму, „Математика" вычислила интеграл. Для получения полной формы невычисленного выражения ехрг нужно применить к нему функции Hold или, что дает тот же эффект, HoldForm, которые блокируют вычисление ехрг. FuUForm[HoldForm[{a,b,D[f[x,y],{x,2},y], Integrate[(z -bl)/(z -Ь 2),z]}]] HoldForm[List[a, b, D[f[x, y], List[x,2ly], Integrate[Times[Plus[z,l],Power[Plus[z,2],-l]],z]]] Если вычисленное выражение ехрг атомарно, то предикат AtomQ, примененный к нему, имеет результатом True, в противном случае- False . Заголовок выражения можно получить после вычисления выражения Head[expr]. Число п элементов является значением выражения Length[expr]. Элемент извлекается из выражения с помощью функции Part в виде Part[expr,k] или в виде ехрг[[к]]. С помощью этой функции можно также получить заголовок выражения. Для того достаточно вычислить выражение Part[expr,0], или ехрг[[0]]. Поскольку каждый элемент выражения общего вида является самостоятельным выражением, то можно извлекать части из него и из его элементов и т.д. Для этого вместо одного числа - номера к элемента Ск нужно в функции Part указать последовательность номеров соответствующих элементов. exprl = {a,b,D[f[x,y],{x,2},y], Integrate[(z + l)/(z + 2),z]} {exprl[[2]],exprl[[3,0]],exprl[[3,0,l]],exprl[[3,0,0,l]]} Рассматриваемая последовательность номеров элементов называется спецификацией элемента. Спецификация элемента является значением функции Position. Position[exprl,z] {{4,1},{4,2,2,1,2}} Введем понятие уровней в выражении и глубины выражения. Элементы ei, ег, Сп находятся на первом уровне выражения. Их элементы находятся на втором уровне и т.д. Количество чисел в спецификации элемента позволяет узнать, на каком уровне он находится. Глубина выражения численно равна максимальному номеру уровня в выражении плюс единица и является значением функции Depth. Функция Level имеет значением список всех частей выражения, находящихся на указываемом в качестве ее второго аргумента уровне. Level[exprl,{2}] {x,y,z,-Log[2 + z]} Если второй аргумент задан без скобок, то значением будет список всех частей выражения, находящихся на уровнях от первого до указанного. Level[exprl,2] {a,b,x,y,P)[x,ylz,-Log[2 + z],z-Log[2 + z]} Если в качестве второго аргумента дана пара чисел {m,n}, заключенная в фигурные скобки, то будет получен список всех частей на уровнях от m до п включительно. Level[exprl,{3,4}] {-1,2 +z,Log[2 + z]) Depth[exprl] В случае когда второй аргумент функции Level - отрицательное число, заключенное в фигурные скобки, например {-к}, то значением функции будет список всех частей вычисленного выражения, чья глубина равна к. Level[exprl,{-2}] {/(2.i)[x,y],2 + z} Если же отрицательное число не заключать в фигурные скобки, то список будет содержать все подвыражения вычисленного выражения, чья глубина по меньшей мере равна к, т.е. к и больше. Level[exprl,-2] {/(2Д)[а;,у],2 + Z,Log[2 + г],-Log[2 + z},z- Log[2 + z]} Указание уровней выражения только что рассмотренными способами называется спецификацией уровня. Имеются четыре основных способа интерпретации выражений. 1. Заголовок h выражения можно понимать как название какой-то математической функции, например Sin, а элементы выражения - как аргументы этой функции. 2. Заголовок можно понимать как команду (Factor), а элементы - как ее адресаты. 3. Заголовок есть оператор или операция (Integrate, Times), применяемый к операндам. 4. Заголовок может указывать на тип данных (List, Real). [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.0012 |