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

[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.0009