Задача коши система уравнений mathcad

Задача коши система уравнений mathcad

Электронный курс по MathCAD

5.2 Решение дифференциальных уравнений и систем.(Задача Коши и граничные задачи).


Решение одиночного дифференциального уравнения.

Для численного решения одиночного дифференциального уравнения в MathCAD имеется функция Odesolve, с помощью которой может быть решена как задача Коши для обыкновенного дифференциального уравнения, так и граничная задача. Эта функция входит в состав блока решения и сявляется его заключительным ключевым словом.

Odesolve(x,b,[step]) — Возвращает функцию, которая является решением дифференциального уравнения. Используется в блоке с оператором Given.
x — переменная интегрирования, действительное число
b — конечная точка отрезка интегрирования
step — величина шага по переменной интегрирования (необязательный аргумент)

Замечания:

  1. Уравнение должно быть линейным относительно старшей производной.
  2. Число заданных начальных или граничных условий внутри блока должно быть равно порядку уравнения.
  3. При записи уравнения для обозначения производных функции используйте специальные кнопки с панели Math или ‘ (штрих) — [Ctrl+F7], для знака равенства = [Ctrl+=] (в том числе и для дополнительных условий).
  4. Конечная точка должна быть больше начальной.
  5. Не допускаются начальные и граничные условия смешанного типа (f ‘(a)+f(a)=5).
  6. Искомая функция в блоке дложна быть обязательно с аргументом ( f(x))

Численное решение задачи Коши для дифференциальных уравнений и систем.

Для численного решения задачи Коши для дифференциальных уравнений и систем могут быть использованы функции:

rkfixed(y,x1,x2,n,F) — возвращает матрицу решений системы уравнений методом Рунге-Кутта 4-го порядка при фиксированном шаге по x

rkadapt(y,x1,x2,n,F) — ищет решение с переменным шагом ( там, где решение меняется медленнее, шаг увеличивается, а в области быстрого изменения решения шаг функции уменьшается). Возвращается решение с равным шагом. Функция работает быстрее, чем rkfixed

Bulstoer(y,x1,x2,n,F) — дает более точное решение (методом Bulirsch-Stoer)

Агрумкнты вышеуказанных функций:
y — вектор начальных условий
x1,x2 — границы интервала для поиска решения
n — количество точек на интервале
F(x,y) — вектор-функция первых производных

При решении дифференциальных уравнений порядка выше первого (или систем уравнений, выше первого порядка) исходное уравнение (систему) необходимо преобразовать к системе дифференциальных уравнений первого порядка.

В результате работы укзанных функций рассчитывается матрица, количество стобцов которой равно порядку уравнения +1(или сумме порядков уравнений в системе +1), а количество строк равно параметру n. Первый столбец содержит значения независимой переменной, второй — значение функции, третий — для диф. уравнений 2-го порядка — значение производной искомой функции (если решается система двух уравнений 1-го порядка, то третий столбец будет содержать значения второй функции). Для выделения решений (функций или их производных) можно воспользоваться стандартным оператором вывода столбцов матрицы M &lt &gt

Если матрица правых частей дифференциальных уравнений почти вырождена, то такие системы называются жесткими. В этом случае решения, возвращаемые функцией rkfixed будет неустойчивым и для решения таких систем необходимо применять функции Stiffb , Stiffr

Stiffb(y,x1,x2,n,F,J) — ищет решение диф. уравнения или системы дифференциальных уравнений методом Bulirsch-Stoer

Stiffr(y,x1,x2,n,F,J) — ищет решение диф. уравнения или системы дифференциальных уравнений методом Rosenbrock

Первые пять аргументов такие же,как и при решении хорошо обусловленных систем дифференциальных уравнений . Дополнительный аргумент — матрица J размером nx(n+1), первый столбец которой содержит частные производные dF/dx, остальные столбцы и строки представляют собой матрицу Якоби dF/dy

Пример решения жесткой системы дифференциальных уравнений.

Для отыскания решения системы диф. уравнений только в конечной точке используются функции bulstoer,rkadapt, stiffb, stiffr (начинаются с прописной буквы).

Набор парамтров для этих функций :
bulstoer(y,x1,x2,acc,F,kmax,save)
rkadapt(y,x1,x2,acc,F,kmax,save)
stiffb(y,x1,x2,acc,F,J,kmax,save)
stiffr(y,x1,x2,acc,F,J,kmax,save)

Первые три параметра и пятый (F) этих функций те же, что идля функции Rkadapt. Дополнительные параметры:
acc — параметр, контролирующий точность решения (реком. асс=0.001)
kmax — максимальное число промежуточных точек в которых ищется решение
save — минимально допустимый интервал между точками, в которых ищется решение

Решение граничных задач для обыкновенных дифференциальных уравнений.

Если для дифференциального уравнения n-го порядка k граничных условий заданы в начальной точке х1, а (n-k) граничных условий — в конечной точке х2, то такая задача называется краевой. В MathCAD реализованы две функции, позволяющие численно найти недостающие условия в точках х1 и х2.

Двухточечная краевая задача

Задача решается в два этапа. Сначала с помощью функции sbval находятся недостающие начальные значения, а затем применяется одна из выше описанных функций для решения стандартной задачи Коши на отрезке.

sbval(v,x1,x2,F,load,score) — ищет недостающие начальные условия в точке х1
v — вектор началных приближений для искомых начальных значений в точке х1,
х1,х2 — граничные точки интервала
F(x,y) — вектор-столбец из n элементов, содержит правые части дифференциальных уравнений
load(x1,v) — вектор-столбец из n элементов, содержит начальные значения в точке х1; некоторые из значений- константы, другие неизвестны и будут найдены в процессе решения.
score(x2,y) — вектор-столбец размерности вектора v, содержащий разность между начальным условием в точке х2 и значеием искомого решения в этой точке.

Краевая задача с условиями внутри интервала.

На первом этапе используется функция

balfit(V1,V2,x1,x2,xf,F,load1,load2,score) — ищет недостающие начальные условия в точках х1 и х2, сшивая решения, выходящие из этих точек, в точке xf
V1,V2 — вектора началных приближений для искомых начальных значений в точках х1 и х2
х1,х2 — граничные точки интервала
load1(x1,V1) — вектор-столбец из n элементов, содержит начальные значения в точке х1; некоторые из значений- константы, другие неизвестны и будут найдены в процессе решения
load2(x2,V2) — вектор-столбец из n элементов, содержит начальные значения в точке х2; некоторые из значений- константы, другие неизвестны и будут найдены в процессе решения.
score(xf,y) — вектор-столбец размерности n, содержащий разность между решениями, начинающимися в точках х1 и х2, в точке xf

Задача коши система уравнений mathcad

к лабораторной работе

РЕШЕНИЕ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ

Изучение основ решения дифференциальных уравнений в системе MathCAD 2000

2 Задачи работы

Освоить приемы численного решения дифференциальных уравнений и их систем в среде компьютерной математики MathCAD 2000

3 Содержание работы

3.1 Запустить приложение MathCAD 2000.

3.2 Повторить все примеры, приведенные в методических указаниях.

3.3. Решить задачу Коши численно и графически для дифференциального уравнения первого порядка (приложение А).

3.4 Найти решение задачи Коши для дифференциального уравнения второго порядка и построить график найденного решения (приложение Б).

3.5 Построить таблицу значений и график решения для нормальной системы дифференциальных уравнений (приложение В).

3.6 Сохранить результаты в файле с введением необходимых комментариев и оформить отчет.

4 Требования к отчету

Отчет должен содержать:

– название работы, постановку задачи исследования, результаты вычислений, а также сведения о последовательности ее выполнения;

– ответы на контрольные вопросы.

5.1 Очков В.Ф. MathCAD 7 Pro для студентов и инженеров.-М.: Компьютер Пресс, 1998.-384.

5.2 Плис А.И., Сливина Н.А. MathCAD : Математический практикум для экономистов и инженеров: Учебное пособие.-М.: Финансы и статистика, 1999.- 656с.

6 Общие положения

Обыкновенным дифференциальным уравнением порядка n называется уравнение , которое связывает независимую переменную x , искомую функцию y = y ( x ) и ее производные

Системой обыкновенных дифференциальных уравнений называется система уравнений которая связывает независимую переменную x , искомые функции и их производные.

Все функции MathCad предназначены для численного решения задачи Коши нормальных систем обыкновенных дифференциальных уравнений. Задача Коши для уравнений сводится к решению задачи для системы.

где Y — искомое решение; YO – вектор начальных условий; F ( x , Y ) – вектор правых частей, запишем систему дифференциальных уравнений в векторной форме:

В Mathcad решить задачу Коши для такой системы можно с помощью, например, следующих функций: rkfixed ( y , x 1, x 2, npoints , D ) – решение задачи на отрезке методом Рунге-Кутты с постоянным шагом.

Смысл параметров определяется математической постановкой задачи:

Y – вектор начальных условий Y 0 , yi =( Y ) i ;

х1, x 2 – начальная и конечная точки отрезка интегрирования системы; для функций, вычисляющих решение в заданной точке, х1 – начальная точка, х2 – заданная точка;

npoints – число узлов на отрезке [ x 1, x 2]; при решении задачи на отрезке результат содержит npoints +1 строку;

D – имя вектора-функции D ( x , y ), содержащей правые части F ( x , Y ), Di ( x , y )= fi ( x , y 1,…, yn ).

Результат работы функции – матрица, содержащая n +1 столбец; ее первый столбец содержит координаты узлов сетки, второй столбец – вычисленные приближенные значения решения yi ( x ) в узлах сетки, ( k +1)-й – значения решения yk ( x ).

При решении задачи Коши для дифференциального уравнения первого порядка результаты вычислений всех приведенных выше функций – матрица, в первом столбце которой содержатся координаты узлов сетки x 0 , x 1 ,…, xn , а во втором – значения приближенного решения в соответствующих узлах.

Задача Коши для дифференциального уравнения порядка выше первого ( n -го порядка) сводится к задаче Коши для эквивалентной нормальной системы дифференциальных уравнений n -го порядка.

Пусть y ( n ) = f ( x , y , y ’,…, y ( n -1) ), y ( x 0 )= y 0 , y ’( x 0 )= y 0,1 ,…, y ( n -1) ( x 0 )= y 0, n -1 .Обозначив y 1 ( x )= y ( x ), y 2 ( x )= y ’( x ), … , yk ( x )= y ( k -1) ( x ), …, yn ( x )= y ( n -1) ( x ), y 0 ( x )= y ( x 0 ), y 0,1 ( x )= y ’( x 0 ), … , y 0, k ( x )= y ( k ) ( x ), …, y 0, n -1 ( x )= y ( n -1) ( x ), получим задачу Коши для нормальной системы дифференциальных уравнений, решение которой в Mathcad описано выше:

Решение задачи Коши для дифференциального уравнения первого порядка. Найдем на отрезке [0,p] приближенное решение уравнения , удовлетворяющее начальным условиям y ( 0)= 1, и построим график найденного решения. Решим задачу численно, используя алгоритм Рунге-Кутты с фиксированным шагом на сетке из 20 равноотстоящих узлов.

Фрагмент рабочего документа Mathcad , содержащий вычисления и график, приведен ниже (рисунок 1).

Примечание. Присвойте переменной ORIGIN значение, равное 1, чтобы нумерация компонент вектора начиналась с единицы. При решении задачи Коши для уравнения первого порядка вектор решения имеет единственную компоненту y 1 . Вектор правых частей также содержит одну компоненту. Перед обращением к функции rkfixed присвойте переменной y 1 начальное значение, равное единице, а переменной D ( x , y ) – выражение для правой части уравнения, равное sin ( x , y 1 ). В приведенном фрагменте результаты вычислений функции rkfixed ( y , O , p ,20, D ) присвоены матрице Y ; она содержит в первом столбце координаты 20 узлов равномерной сетки на отрезке [0, p ], а во втором – приближенные значения решения в этих узлах (в приведенном документе представлена только часть таблицы). Для того чтобы вывести в рабочий документ таблицу значений решения, наберите на клавиатуре символы Y > , и таблица значений будет выведена в рабочем документе справа от знака равенства. Щелкните по полю таблицы и просмотрите ее, используя стрелки прокрутки. Для того, чтобы построить график решения, щелкните по кнопке в панели графиков и введите в качестве переменной на оси абсцисс Y ( c толбец координат узлов сетки), а на оси ординат — Y (столбец значений решения в узлах сетки). Чтобы ввести номер столбца, введите имя матрицы, щелкните по кнопке в панели и введите в помеченной позиции номер столбца.

Решение задачи Коши для дифференциальных уравнений высших порядков. Найдем на отрезке [0,3] приближенное решение уравнения , удовлетворяющее начальным условиям , и построим график найденного решения.

Сведем решение задачи для уравнения второго порядка к задаче для эквивалентной нормальной системы второго порядка. Обозначим и . Поскольку , то получим

Решим задачу численно, используя алгоритм Рунге-Кутты с фиксированным шагом на сетке из 20 равноотстоящих узлов.

Фрагмент рабочего документа Mathcad , содержащий вычисления и график, приведен на рисунке 2.

Примечание. Определите вектор y и вектор-функцию D ( x , y ) как матрицы размерности 2 ´ 1. Присвойте компонентам вектора y начальные значения, а компонентам вектора D ( x , y ) – выражения для правых частей уравнений системы. В остальном действуйте так же, как в предыдущем примере.

Решение задачи Коши для нормальной системы дифференциальных уравнений. Найдем на отрезке [0,3] приближенное решение задачи Коши

и построим графики для найденного решения. Решим задачу численно, используя алгоритм Рунге-Кутты с фиксированным шагом на сетке из 30 равноотстоящих узлов (рисунок 3).

Примечание. Для того, чтобы построить графики найденного решения (графики функций ), введите в качестве переменной на оси абсцисс Y ( c толбец координат узлов сетки), а на оси ординат введите, разделяя запятой, Y , Y , Y (столбцы, содержащие соответственно значения в узлах сетки).

Задача коши система уравнений mathcad

Для решения дифференциальных уравнений Mathcad предоставляет пользователю библиотеку встроенных функций Differential Equation Solving, предназначенных для численного решения дифференциальных уравнений.

  • Встроенная функция odesolve (Mathcad 2000), предназначенная для решения дифференциальных уравнений, линейных относительно старшей производной (наиболее проста в использовании).
подробная информация о функции odesolve,
примеры
  • Встроенные функции, предназначенные для решения задачи Коши и граничных задач для систем обыкновенных дифференциальных уравнений внормальной форме.
подробная информация о функциях,
примеры

ODESOLVE

Встроенная функция odesolve предназначена для решения дифференциальных уравнений, линейных относительно старшей производной. В отличие от других функций библиотеки Differential Equation Solving, odesolve решает дифференциальные уравнения, записанные в общепринятом в математической литературе виде.

  • Функция odesolve решает для уравнений вида
    a(x) y(n) + F(x, y, y’ , . y (n-1) )=f(x)
    задачу Коши
    y(x0 )=y0 , y'(x0 )=y0,1 , y»(x0 )=y0,2 , . y (n-1) (x0 )=y0,n-1
    или простейшую граничную задачу
    y (k) (a)=ya,k , y (m) (b)=yb,k , 0 + ), а для записи производных можно использовать как оператор дифференцирования, так и знак производной, например, вторую производную можно вводить в виде или в виде y»(x). При этом необходимо обязательно записывать аргумент искомой функции.
  • Для того чтобы вывести в рабочий документ значения решения в любой точке промежутка интегрирования, достаточно ввести имя функции Y, указать в скобках значение аргумента и знак равенства.
  • Значения решения в любой точке промежутка интегрирования можно использовать в дальнейших вычислениях, достаточно ввести в нужном месте имя функции Y, указав в скобках значение аргумента.

Полную информацию о правилах использования функции odesolve можно получить во встроенном справочнике Mathcad в разделе Overview fnd Tutorials.

Функции для решения систем, записанных в нормальной форме

Встроенные функции Mathcad, предназначенные для решения задачи Коши и граничных задач, решают их для нормальных с и с т е м обыкновенных дифференциальных уравнений. Задачи для уравнений высших порядков сводятся к соответствующим задачам для нормальных с и с т е м.

Рассмотрим задачу Коши:

Численное решение этой задачи состоит в построении таблицы приближенных значений
yi,1 , yi,2 , . yi,N
решения y1 (x), y2 (x), . yN (x)
на отрезке [x0 , xN ] в точках
x1 , x2 , . xN, которые называются узлами сетки.
Обозначив

, ,

,

,

где — искомое решение, — вектор начальных условий, а — вектор правых частей, запишем систему дифференциальных уравнений в векторной форме:

, .

В Mathcad решить задачу Коши для такой системы можно с помощью следующих функций:

  • rkfixed(y, x1, x2, npoints, D) —решение задачи на отрезке методом Рунге—Кутты с постоянным шагом;
  • Rkadapt(y, x1, x2, npoints, D) —решение задачи на отрезке методом Рунге—Кутты с автоматическим выбором шага;
  • rkadapt(y, x1, x2, acc, npoints, D, kmax, save) —решения задачи в заданной точке методом Рунге-Кутты с автоматическим выбором шага;
  • Bulstoer(y, x1, x2, npoints, D) —решение задачи на отрезке методом Булирша-Штера;
  • bulstoer(y, x1, x2, acc, npoints, D, kmax, save) —решение задачи в заданной точке методом Булирша—Штера;
  • Stiffr(y, x1, x2, acc, D, J) — решение задачи для жестких систем на отрезке с использованием алгоритма Розенброка;
  • stiffr(y, x1, x2, acc, D, J, kmax, save) —решения задач для жестких систем на отрезке с использованием алгоритма Розенброка;
  • Stiffb(y, x1, x2, acc, D, J) —решение задачи для жестких систем на отрезке с использованием алгоритма Булирша—Штера;
  • stiffb(y, x1, x2, acc, D, J, kmax, save) —решение задач для жестких систем в заданной точке с использованием алгоритма Булирша—Штера.

Смысл параметров для всех функций одинаков и определяется математической постановкой задачи:
y — вектор начальных условий , ;
x1, x2 — начальная и конечная точки отрезка интегрирования системы; для функций, вычисляющих решение в заданной точке, x1 — начальная точка, x2 — заданная точка;
npoints — число узлов на отрезке [x1, x]; при решении задачи на отрезке результат содержит npoints+1 строку;
D — имя вектор-функции D(x,y) правых частей , ; ( имя D – от Derivative — производная, имя вектора, содержащего выражения для производных (derivatives) искомого решения);
J — имя матрицы-функции J(x,y) размерности n x (n+1), в первом столбце которой хранятся выражения частных производных по x правых частей системы, а в остальных n столбцах содержится матрица Якоби правых частей:
.
acc — параметр, контролирующий погрешность решения при автоматическом выборе шага интегрирования (если погрешность решения больше acc, то шаг сетки уменьшается; шаг уменьшается до тех пор, пока его значение не станет меньше save );
kmax — максимальное число узлов сетки, в которых может быть вычислено решение задачи на отрезке, максимальное число строк в результате;
save — наименьшее допустимое значение шага неравномерной сетки.

Результат работы функции — матрица, содержащая n+1; ее первый столбец содержит координаты узлов сетки, второй столбец — вычисленные приближенные значения решения y1 (x) в узлах сетки, (k+1) -й — значения решенияyk (x) в узлах сетки.

При решении задачи Коши для дифференциального уравнения первого порядка результат вычислений всех приведенных выше функций — матрица, в первом столбце которой содержатся координаты узлов сетки x0 , x1 , . xN, а во втором — значения приближенного решения в соответствующих узлах.

При исследовании автономных систем дифференциальных уравнений второго порядка полезную информацию можно получить рассматривая интегральные и фазовые кривые системы.

При исследовании автономных систем дифференциальных уравнений второго порядка полезную информацию о свойствах решений можно получить, построив векторное поле системы.

Запишем автономную систему второго порядка

.

Эта система полностью определяется заданием векторного поля , поскольку векторное поле задает в каждой точке направление касательной к фазовой кривой системы, проходящей через эту точку.

Исправляем ошибки: Нашли опечатку? Выделите ее мышкой и нажмите Ctrl+Enter


источники:

http://kafiitbgau.narod.ru/Metod/Mathcad/mathcad-4.htm

http://old.exponenta.ru/soft/Mathcad/learn/ode/ode.asp