Использование различных алгоритмов в системе Mathematica
Использование различных алгоритмов в системе Mathematica
Всякий раз, используя систему Mathematica, Вы обращаетесь к самой большой в мире коллекции вычислительных алгоритмов.
Mathematica автоматически выбирает соответствующие алгоритмы для каждого вычисления.
FindRoot[Cos[x]==x+Log[x],{x,1}]{x->0.840619} |
NIntegrate[Log[x+Sin[x]],{x,0,2}]0.555889 |
NSolve[x^5-6x^3+8x+1==0,x]{{x->-2.05411},{x->-1.2915},{x->-0.126515}, {x->1.55053},{x->1.9216}} |
Mathematica использует современные алгоритмы для разложения на множители целых чисел. Результат приведен в виде списка сомножителей и соответствующих показателей степеней.
FactorInteger[2^105-1]{{7,2},{31,1},{71,1},{127,1},{151,1},{337,1}, {29191,1},{106681,1},{122921,1},{152041,1}} |
Эта команда генерирует двумерную таблицу.
m=Table[2^i + x^j,{i,3},{j,4}] {{2+x,2+x2,2+x3,2+x4},{4+x,4+x2,4+x3,4+x4}, {8+x,8+x2,8+x3,8+x4}} |
Представление таблицы в форме матрицы.
MatrixForm[m] |
Вычисление ядра матрицы.
NullSpace[m]{{x+x2,-1-x-x2,0,1},{x,-1-x,1,0}} |
Mathematica может решать дифференциальные уравнения как численно, так и в аналитической форме.
Ниже Mathematica численно решает нелинейное дифференциальное уравнение. Ответ - интерполяционная функция, которая представляет решение в неявной форме.
NDSolve[{x''[t]+x[t]^3==Sin[t],x[0]==x'[0]==0},x, {t,0,50}]{{x->InterpolatingFunction[{{0.,50.}},<>]}} |
Параметрический график решения. Команда /. означает, что Mathematica должна подставить предыдущее решение вместо x[t].
ParametricPlot[Evaluate[{x[t],x'[t]}/.%],{t,0,50}] -Graphics- |
Предыдущая глава | Оглавление | Следующая глава |