Примеры работы с Wolfram Mathematica

Численный анализ трансцедентных уравнений

На первом семинаре мы учились аналитически решать трансцедентное уравнение

Tanh[m/T]==m

Теперь займёмся его численным анализом.

Manipulate[Plot[{Tanh[m/T],m },{m,-2,2}],{T,0.5,1.5}]

m[T_]:=m/.FindRoot[Tanh[m/T]==m,{m,1}];

exact=Plot[m[T],{T,0,1.5}];
asymptotic=Plot[Sqrt[3*(1-T)],{T,0,1}];
Show[exact,asymptotic]

Численный анализ интегралов

Одна из решешнных в курсе задач заключалась в анализе интеграла:

(∫_0^∞)((Exp[-t])/(Sqrt[t(t+α)]))dt

Int1[α_]:=NIntegrate[((Exp[-t])/(Sqrt[t(t+α)])),{t,0,Infinity}]
Plot[{Int1[α],(Sqrt[(π/α)])},{α,5,20}]

Plot[{Int1[α],Log[1/α]},{α,0,1},AxesOrigin->{0,0}]

Метод перевала
Рассмотрим численно интеграл, оценку для которого мы получали методом перевала

(∫_(-∞)^∞)Exp[A((x^2)-(x^4))]dx

fexp[x_,A_]:=A(x^2-x^4)
points=Solve[D[fexp[x,A],x]==0,x]

series=Normal[Series[fexp[t,A],{t,x,2}]/.points];
Column[series]

Integrate[Exp[series[[2]]],{t,-Infinity,Infinity},Assumptions->A>0]
Integrate[Exp[series[[3]]],{t,-Infinity,Infinity},Assumptions->A>0]

Int2[A_]:=NIntegrate[Exp[A(x^2-x^4)],{x,-Infinity,Infinity}]
Plot[{Int2[A],(Sqrt[((2π)/A)])Exp[A/4]},{A,5,20}]

Аналитически берущиеся интегралы

В рамках курса были вычислено большое количество интегралов точно и аналитически.

Integrate[((Sin[x])/x),{x,0,∞}]

Integrate[Cos[(x^2)],{x,0,∞}]

Integrate[((Cos[ω x])/((a^2)+(x^2))),{x,-∞,∞},Assumptions->Element[{a,ω},Reals]]

А также Mathematica знает про спец.функции:

Integrate[(1/(2π))Cos[x*Sin[t]],{t,-π,π}]

И ряды:

Sum[(1/(n^2)),{n,1,∞}]

Sum[(1/(n^s)),{n,1,∞}]

Дифференциальные уравнения

В 7 лекции мы разбирали так называемый параметрический резонанс:

x''[t]+(ω^2)x[t]==-ϵ x Cos[2ω t]

Исследуем его численно

ClearAll["Global`*"]

sol=ParametricNDSolve[{x''[t]+ω^2 *x[t]==-ϵ x[t] Cos[2 ω t],x[0]==1,x'[0]==0},x,{t,0,200},{ω,ϵ}];

sol1[ϵ_]:=x[1,ϵ]/.sol;

Manipulate[Plot[{sol1[ϵ][t],0.7Exp[(ϵ/4)t]},{t,0,200}],{ϵ,0.05,0.15}]

Линейная алгебра

Mathematica умеет работать с матрицами, их спектрами, и т.п.

matrix1={{a,ϵ},{ϵ,b}};
MatrixForm[matrix1]

Eigenvalues[matrix1]//FullSimplify

FullSimplify[Series[%,{ϵ,0,2}],a>b]

Eigensystem[matrix1/.b->a]

Задача про случайные блуждания

На семинаре, посвященному методу Фурье, мы разбирали задачу о случайных блужданиях. Мы получили интегральное представление для ответа на задачу:

P[n,t]==(∫_(-π)^π)Exp[-2λt(1-Cos[k])]Cos[k n]((dk)/(2π))

Исследуем ответ численно.

p[n_,t_]:=(1/(2π))NIntegrate[Exp[-2t(1-Cos[k])]Cos[k n],{k,-π,π}]
asymptoticp[n_,t_]:=((Exp[-((n^2)/(4t))])/(2(Sqrt[π t])))

plotp[t_]:=ListPlot[Table[{n,p[n,t]},{n,-10,10}],Filling->Axis];
plotasympt[t_]:=Plot[asymptoticp[n,t],{n,-10,10}]
Column[Table[Show[plotp[t],plotasympt[t],ImageSize->Large],{t,0.5,10,2}]]