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

[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] -Ь а[\]х + o[2]i -- a[3]i + аЩх + а[Ь]х + аЩх -\- 0[i]

Теперь вычислим дифференциальное уравнение с полученным выражением для у[х]:

ode2 = X у[х] - у[х]2 - х == О

-а[0]2 -Ь (-1 + а[1] - 2аЩа[1])х + {-a{lf + 2а[2] -

- 2а[0]а[2])г + (-2а[1]а[2] -f- Зо[3] - 2с[0]а[3])х1-- {-a[2f -

- 2а[1]а[3] -f- 4а[4] - 2а[0]о[4])х -f- (-2о[2]а[3] - 2о[1]а[4] --+ 5а[5] - 2а[0]а[5])х + {-а[3 - 2а[2]а[4] - 2а[1]а[5] -f-

-f- 6а[6] - 2а[0]о[б])а; + 0[хУ == О

Уравнения для коэффициентов a[i] получаются приравниванием нулю коэффициентов при различных степенях переменной х. Это можно сделать, применив к ode2 функцию LogicalExpand:

eqcoefy = LogicaIExpand[ode2]

-а[0]2==0 && -1--а[1]-2о[0]а(1)==0 & & -а[1]2 -1- 2а[2] - 2а[0]а[2] == О & & -2а[1]о[2] -f-Зо[3] - 2о[0]о[3] == О && -а[2]2 - 2а[1]а[3] + 4а[4] - 2а[0]о[4] == О && -2а[2]о[3] - 2о[1]а[4] + 5о[5] - 2а[0]а[5] == О && -а[3]2 - 2а[2]о[4] - 2а[1]о[5] -f- 6о[6] - 2о[0]о[6] == О

Легко видеть, что рассматриваемые уравнения имеют единственное решение, которое можно найти с помощью знакомой нам функции Solve:



2.9. Числа и операции над числами

Напомним, что в „Математике" четыре типа чисел: целые, рациональные, вещественные и комплексные. Все они могут содержать любое количество цифр. Арифметические операции над первыми двумя типами чисел выполняются абсолютно точно (все цифры результата верные), что является характерной особенностью компьютерных алгебр:

sum = 357784905111127390538463709587618 + -f-115634553279325911771666205734605

473419458390453302310129915322223

В этом примере найдена сумма двух тридцатитрехзначных целых чисел. Результат возведения в пятидесятую степень числа пять, найденный „Математикой", равен:

5° = 88817841970012523233890533447265625.

Дадим пример вычисления более сложного арифметического выражения:

аг = 8353 * 644 - 31514 + 564/1025(314 - 276)

/970670024879503146412062757818396788934 V 1025 )

coefy = Solve[eqcoefy,Table[a[i], {i,0,6}]]

»й->5, «(01-+0, oli]-ti)}

Теперь можно найти само приближенное решение:

у[х] /. coefy

х llx 19х 4731 ,71



В форматах целых или рациональных чисел трудно получить представление о величине результата. Кроме того, они неудобны в численных расчетах еще и потому, что „Математика", стремясь сохранить тип чисел, оставляет фактически невычис-ленными такие выражения, как Sqrt[lO], Sin[Pi/5] и т.д.

{Sqrt[20], Sm[Pi/5]} {2Sqrt[5], Sm[y]}

Если в последнем примере заменить целое число 20 на вещественное число 20. (характерной особенностью формата вещественных чисел является присутствие десятичной точки в записи числа), то получится следующий результат:

Sqrt[20.] 4.47214

Функция N является конвертором в формат вещественных чисел или в формат комплексных чисел с вещественными компонентами, в которых результат записывается в более привычном виде, принятом в научных и инженерных расчетах:

{N[sum], N[ar]} {4.7341910 -9.4699510"}

При вычислениях с вещественными числами очень полезны функции Precision и Accuracy, которые весьма условно можно перевести как разрядность и точность. Разрядность есть число десятичных цифр, используемых „Математикой" в представлении вещественных чисел при вычислениях, в то время как точность есть число десятичных цифр, используемых для представления дробной части вещественных чисел. С вычислительной точки зрения вещественные числа трактуются „Математикой" либо как имеющие машинную разрядность (по умолчанию), либо как имеющие неопределенную разрядность. Для того чтобы узнать машинную разрядность



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