Иллюстрированный самоучитель по Mathematica 3/4

Нули функций Бесселя (BesselZeros). Поиск корней уравнений с интерполяцией (InterpolateRoot).

В подпакете BesselZeros определены функции, дающие список аргументов функций Бесселя в их первых п нулевых точках: BesselJZeros [mu, n], Bessel-YZeros[mu,n], BesselJPrimeZeros[mu,n], BesselYPrimeZeros[mu,n] и др. Ввиду редкого использования функций этого класса ограничимся парой примеров их применения:

<< NumericalMath`BesselZeros`
  
BesselJZeros[0, 5]
{2.40483, 5.52008, 8.65373, 11.7915, 14.9309}
  
BesselJYJYZeros[2, 6/5, 3, WorkingPrecision > 20]
{15.806622444176579073, 31.46556009153683, 47.1570167108650315}

Поиск корней уравнений с интерполяцией (InterpolateRoot)

Подпакет InterpolateRoot дает средства для ускоренного и более точного поиска корней уравнений по сравнению с соответствующими функциями ядра. Достигается это за счет применения интерполяции функции, корни которой ищутся. Подпакет задает функцию InterpolateRoot [f, {х, a, b} ], которая находит корень функции f в интервале х от а до b. Вместо функции f можно задавать уравнение eqn. Возможны опции AccuracyGoal › Automatic, Maxlterations › 15, WorkingPrecision › $MachinePrecision и ShowProgress › False (указаны принятые по умолчанию значения).

Примеры применения данной функции (n – число итераций):

<< NumericalMath`InterpolateRoot`
  
n = 0; FindRoot[n++; Exp[x] == 2, {x, 0, 1},
WorkingPrecision > 100, AccuracyGoal > 95]
{x >
0.693147180559945309417232121458176568075500134360255
 2541206800094933936219696947156058633269964186876}
n
17
n = 0; f[x_]: = (n++; Exp[x]-2) /; NumberQ[x]
  
InterpolateRoot[f[x], {x, 0, 1), WorkingPrecision > 100,
AccuracyGoal > 95]; n 10
  
InterpolateRoot[Exp[x] ==2, {x, 0, 1},ShowProgress > True,
  
WorkingPrecision > 40]
{0, 0.58197670686932642439}
{21, 0, -0.12246396352039524100}
{1, 0.7019353037882764014443370764853594873432}
{21, 20, 0.0130121629575404389120930392554}
{3.0.6932065772065263165289985793736618546663}
{21, 20, 0.000062480788747713548804773113708}
{6, 0.6931471932603933841618726058237307884661}
{21, 20, 1.26443483693584888038460396742*10-8}
{12, 0.693147180559945119457822446
95590259222308309027205042483074}
{40, 20, -1.89953767048152086910014102216*10-16}
{24, 0.6931471805599453094172321214
5786257157118117337249076750141}
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.