Лекция Стивена Вольфрама

ВНИМАНИЕ!!!

БЛОГ ПЕРЕЕХАЛ НА НОВЫЙ АДРЕС https://blog.wolframmathematica.ru

Онлайн машина вычисления знаний Wolfram|Alpha ®

Онлайн машина вычисления знаний Wolfram|Alpha ®

понедельник, 3 июня 2013 г.

Получение приближенного решения ОДУ в виде ряда Тейлора
Poluchenie_priblizhennogo_reshenija_ODU_v_vide_rjada_Tejlora_Large.png
Получение аналитического приближенного решения обыкновенного дифференциального уравнения в виде частичной суммы ряда Тейлора функции решения
Общее количество использованных в посте встроенных функций или символов: 82

Список имен используемых встроенных функций и символов в порядке их появления в коде:
DSolve | Equal (==) | Plus (+) | Derivative (') | Set (=) | List ({...}) | NDSolve | Panel | Grid | Plot | Evaluate | ReplaceAll (/.) | Rule (->, ->) | ImageSize | PlotStyle | Thick | PlotLabel | Style | FontFamily | Bold | TicksStyle | Directive | AxesStyle | Arrowheads | AxesLabel | Map (/@) | Function (&) | Slot (#) | Italic | Times (*, ×) | Log10 | Abs | PlotPoints | Frame | All | Manipulate | Power (^) | E (e) | Sum (∑) | Factorial (!) | PlotRange | AspectRatio | PlotLegends | Placed | Above | WorkingPrecision | Appearance | Infinity | Simplify | Out (%) | Part ([[…]]) | SetDelayed (:=) | Pattern (:) | Blank (_) | BlankSequence (__) | OptionsPattern | False | Block | CompoundExpression (;) | Max | Cases | FullForm | RuleDelayed (:>, :->) | Table | D (∂) | DeleteDuplicates | Join | Solve | If | OptionValue | Sort | True | Accumulate | Automatic | RGBColor | Length | Blue | Cos | Gray | AbsoluteThickness | Orange | Initialization
Рассмотрим некоторое обыкновенное дифференциальное уравнение (ОДУ), скажем y'+y=x. С помощью встроенной функции DSolve можно с легкостью найти его общее аналитическое решение:
Нажмите, чтобы получить возможность скопировать код Wolfram Mathematica
закрыть
Poluchenie_priblizhennogo_reshenija_ODU_v_vide_rjada_Tejlora_1.gif
или решение задачи Коши:
Нажмите, чтобы получить возможность скопировать код Wolfram Mathematica
закрыть
Poluchenie_priblizhennogo_reshenija_ODU_v_vide_rjada_Tejlora_2.gif
А с помощью функции NDSolve — численное решение задачи Коши:
Нажмите, чтобы получить возможность скопировать код Wolfram Mathematica
закрыть
Poluchenie_priblizhennogo_reshenija_ODU_v_vide_rjada_Tejlora_3.gif
Можно визуализировать полученные решения — аналитическое и численное, а также сравнить их:
Нажмите, чтобы получить возможность скопировать код Wolfram Mathematica
закрыть
Poluchenie_priblizhennogo_reshenija_ODU_v_vide_rjada_Tejlora_4.gif
Однако, не всегда хорошо иметь только численное решение, часто необходимо иметь аналитическое приближение к точному решению. В этом может помочь метод, заключающийся в поиске коэффициентов ряда Тейлора функции, которая является решением ОДУ. Продемонстрирую идею этого метода для рассматриваемого выше ОДУ.
Для него нам известно начальное условие y(0)=1. Подставив значение x=0 в уравнение, получим:
y'(0)+y(0)=0, откуда следует, что y'(0)=-y(0), т. е.  y'(0)=-1.
Продифференцировав ОДУ по переменной x, получим:
y''(x)+y'(x)=1.
Подставив в это уравнение x=0, получим:
y''(0)+y'(0)=1, или y''(0)=1-y'(0), т. е.  y''(0)=2.
Продолжая этот процесс, получим, что:
y'''(0)=-2, y''''(0)=2, Poluchenie_priblizhennogo_reshenija_ODU_v_vide_rjada_Tejlora_5.png, Poluchenie_priblizhennogo_reshenija_ODU_v_vide_rjada_Tejlora_6.png,
Poluchenie_priblizhennogo_reshenija_ODU_v_vide_rjada_Tejlora_7.png, Poluchenie_priblizhennogo_reshenija_ODU_v_vide_rjada_Tejlora_8.png, ... .
Это означает, что решение может быть записано в виде:
Poluchenie_priblizhennogo_reshenija_ODU_v_vide_rjada_Tejlora_9.png
Poluchenie_priblizhennogo_reshenija_ODU_v_vide_rjada_Tejlora_10.png
Полученный ряд является решением ОДУ, а также может служить аналитическим приближением к решению. Посмотрим, как ведет себя полученное аналитическое приближение:
Нажмите, чтобы получить возможность скопировать код Wolfram Mathematica
закрыть
В Mathematica вы можете найти сумму ряда в правой части полученного аналитического приближения:
Нажмите, чтобы получить возможность скопировать код Wolfram Mathematica
закрыть
Poluchenie_priblizhennogo_reshenija_ODU_v_vide_rjada_Tejlora_12.gif
И убедиться, что решение в виде ряда Тейлора (Маклорена в данном случае), сходится к точному решению:
Нажмите, чтобы получить возможность скопировать код Wolfram Mathematica
закрыть
Poluchenie_priblizhennogo_reshenija_ODU_v_vide_rjada_Tejlora_13.gif
Теперь создадим функцию, которая проделывает все описанное выше:
Нажмите, чтобы получить возможность скопировать код Wolfram Mathematica
закрыть
Можем применить ее к решению разнообразных ОДУ и посмотреть что она предоставляет нам, как в частном:
Нажмите, чтобы получить возможность скопировать код Wolfram Mathematica
закрыть
Poluchenie_priblizhennogo_reshenija_ODU_v_vide_rjada_Tejlora_14.gif
так и в общем виде:
Нажмите, чтобы получить возможность скопировать код Wolfram Mathematica
закрыть
Poluchenie_priblizhennogo_reshenija_ODU_v_vide_rjada_Tejlora_15.gif
Если есть желание, можно посмотреть на то, как последовательные аналитические приближения описывают решение:
Нажмите, чтобы получить возможность скопировать код Wolfram Mathematica
закрыть
Poluchenie_priblizhennogo_reshenija_ODU_v_vide_rjada_Tejlora_16.gif
Нажмите, чтобы получить возможность скопировать код Wolfram Mathematica
закрыть
Poluchenie_priblizhennogo_reshenija_ODU_v_vide_rjada_Tejlora_17.gif
В тех случаях, когда получить аналитическое решение не представляется возможным, такой метод позволит получить аналитическое приближение:
Нажмите, чтобы получить возможность скопировать код Wolfram Mathematica
закрыть
Poluchenie_priblizhennogo_reshenija_ODU_v_vide_rjada_Tejlora_18.gif
Нажмите, чтобы получить возможность скопировать код Wolfram Mathematica
закрыть
Poluchenie_priblizhennogo_reshenija_ODU_v_vide_rjada_Tejlora_19.gif
С помощью функции Manipulate можно продемонстрировать приближение к решению с помощью частичных сумм ряда Тейлора в интерактивном виде:
Нажмите, чтобы получить возможность скопировать код Wolfram Mathematica
закрыть

Блог принадлежит “Русскоязычной поддержке Wolfram Mathematica
При любом использовании материалов блога, ссылка на блог обязательна.
SpikeyСоздано с помощью Wolfram Mathematica 9

Комментариев нет:

Отправить комментарий