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

Решение дифференциальных уравнений в MathCad 15

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

В статье рассмотрена работа функции odesolve для графического решения дифференциального уравнения в программе mathcad версии 15 и старше

Видео:Пример решения уравнения в MathCAD 14 (33/34)Скачать

Пример решения уравнения в MathCAD 14 (33/34)

Функция odesolve

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

В свободном поле mathcad введите оператор Given. Этот оператор запускает процесс ввода исходных данных для корректной работы функции odesolve. После этого найдите панель под названием Calculus. В этой панели нам понадобятся кнопки Derivative и Nth Derivative. Эти кнопки вводят заготовки для дифференциального уравнения. С помощью клавиатуры введите уравнение, как показано на рисунке 1. Знак равенства необходимо использовать из панели Boolean

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

Рис. 1. Ввод исходных данных для решения дифференциального уравнения

Далее введите начальные приближения. Количество начальных приближений зависит от порядка дифференциального уравнения. В нашем случае их будет 2. Введите приближения, как показано на рисунке 2. Обратите внимание, что для ввода значания первой производной вам нужно использовать символ «верхний апостроф«. Если вы его не можете ввести с клавиатуры вручную воспользуйтесь приложением windows Capter Map или используйте комбинацию клавиш Alt + 96 или Alt + 39

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

Рис. 2. Ввод первого приближения для решения дифференциального уравнения

Теперь, после начального приближения введите любую переменную (например y) и присвойте ей функцию Odesolve, как показано на рисунке 3. В качестве параметров функции Odesolve используется переменная t и интервал интегрирования. В нашем случае интервал равен 15

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

Рис. 3. Ввод функции odesolve для решения дифференциального уравнения

Можно отобразить функцию y на графике, где в качестве аргумента будет переменная t. Этот график и будет являться решением дифференциального уравнения. Обратите внимание, что график строится в пределах интервала интегрирования. Особенности оформления и отображения графиков в mathcad 15 смотрите в соответствующем разделе

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

Рис. 4. Вывод результата решения дифференциального уравнения на график

После корректного решения дифференциального уравнения функцию y(t) можно использовать далее в расчетах

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

Рис. 5. Результат решения дифференциального уравнения в mathcad 15 и старше

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

Donec eget ex magna. Interdum et malesuada fames ac ante ipsum primis in faucibus. Pellentesque venenatis dolor imperdiet dolor mattis sagittis. Praesent rutrum sem diam, vitae egestas enim auctor sit amet. Pellentesque leo mauris, consectetur id ipsum sit amet, fergiat. Pellentesque in mi eu massa lacinia malesuada et a elit. Donec urna ex, lacinia in purus ac, pretium pulvinar mauris. Curabitur sapien risus, commodo eget turpis at, elementum convallis elit. Pellentesque enim turpis, hendrerit tristique.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis dapibus rutrum facilisis. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Etiam tristique libero eu nibh porttitor fermentum. Nullam venenatis erat id vehicula viverra. Nunc ultrices eros ut ultricies condimentum. Mauris risus lacus, blandit sit amet venenatis non, bibendum vitae dolor. Nunc lorem mauris, fringilla in aliquam at, euismod in lectus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. In non lorem sit amet elit placerat maximus. Pellentesque aliquam maximus risus, vel venenatis mauris vehicula hendrerit.

Interdum et malesuada fames ac ante ipsum primis in faucibus. Pellentesque venenatis dolor imperdiet dolor mattis sagittis. Praesent rutrum sem diam, vitae egestas enim auctor sit amet. Pellentesque leo mauris, consectetur id ipsum sit amet, fersapien risus, commodo eget turpis at, elementum convallis elit. Pellentesque enim turpis, hendrerit tristique lorem ipsum dolor.

Видео:Mathcad-10. Пример: дифференциальные уравненияСкачать

Mathcad-10. Пример: дифференциальные уравнения

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

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

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

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))

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

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

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

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) — вектор-функция первых производных

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

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

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

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

Если матрица правых частей дифференциальных уравнений почти вырождена, то такие системы называются жесткими. В этом случае решения, возвращаемые функцией 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

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

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

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

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

Набор парамтров для этих функций :
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 и значеием искомого решения в этой точке.

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

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

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

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 Prime. Решение дифференциальных уравнений.Скачать

Работа с MathCad Prime. Решение дифференциальных уравнений.

Урок 25. Дифференциальные уравнения в Mathcad

Дифференциальные уравнения очень часто применяются для описания изменяющихся процессов. Для начала рассмотрим обыкновенное дифференциальное уравнение (ОДУ):

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

Аналитическое решение этого уравнения:

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

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

Метод Эйлера

Наиболее простой метод решения дифференциальных уравнений – метод Эйлера. Это старый метод, легкий для понимания и программирования.

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

Вычисляем изменения, шаг за шагом:

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

Сравнение результата и точного решения:

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

Заметьте, что решение методом Эйлера немного отличается от точного решения, и с ростом аргумента эта разница увеличивается. Уменьшить ошибку можно, если увеличить число шагов.

Блок решения ОДУ

Mathcad содержит все главные решатели дифференциальных уравнений. Их можно найти в меню Функции –> Дифференциальные уравнения. В этом уроке мы рассмотрим самый важный из них. Он прост в использовании и точен. Такой метод сочетает использование блока решения и функцию odesolve(). Перед решением определим:

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

Все вхождения зависимой переменной c в блоке решения записываются как функции независимой переменной, т.е. как c(t). Есть только одно исключение – запись слева от команды odesolve().

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

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

Решение этим методом и аналитическое решение близки. Этот же результат можно получить, записав производную через штрих с помощью [Ctrl+’]:

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

Пример: сердце и артерии

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

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

Пульсация потока уменьшается расширением и сжатием эластичных стенок артерий.

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

Перепады давления возле легких низки: примем, что избыточное давление в точках A и B равно нулю. Центральным элементом являются артерии, изменение объема которых определяются разницей входного и выходного потоков:

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

Предположим, что объем сердца изменяется во времени по синусоидальному закону, но кровь выпускается только в течение положительной полуволны:

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

График для восьми ударов:

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

Средний поток – это интеграл объема в течение одного удара, деленный на время удара:

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

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

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

Чем эластичнее стенки, тем больше значение k. Определим три значения:

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

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

Разность давлений следует из:

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

Баланс объемов артерий:

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

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

получаем дифференциальное уравнение для давления:

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

Решим его таким же образом, как и предыдущее, с той разницей, что k передадим в блок решения как параметр:

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

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

Максимумы давления зависят от эластичности артерий – чем больше эластичность, тем меньше давление:

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

Здесь мы использовали для примера одно дифференциальное уравнение первого порядка, но Mathcad этим не ограничивается.

Резюме

  1. Обыкновенное дифференциальное уравнение содержит два вида переменных: зависимые (y(x)) и независимые (x).
  1. Решение можно получить с помощью блока решения и функции odesolve().
  2. Используйте оператор дифференцирования или штрих в записи дифференциального уравнения. Штрих вводится с помощью [Ctrl+’].
  3. Введите необходимые граничные условия (они могут содержать запись производной через штрих).
  4. Функция odesolve() содержит зависимую переменную и независимую переменную.
  5. Зависимые переменные записываются как функции от независимых.
  6. В завершение присвойте выходной переменной функцию odesolve(). Выходная переменная не записывается как функция от независимой переменной.
  7. Однако, при использовании вывода нужно записывать его как функцию независимой переменной.

🎬 Видео

1 Одно уравнениеСкачать

1 Одно уравнение

Решение задачи Коши в MathCADСкачать

Решение задачи Коши в MathCAD

6 Обыкновенные дифференциальные уравнения MathcadСкачать

6 Обыкновенные дифференциальные уравнения Mathcad

Однородное дифференциальное уравнениеСкачать

Однородное дифференциальное уравнение

Решение дифференциальных уравнений в вычислительной среде Mathcad с помощью функционала Rkadapt .Скачать

Решение дифференциальных уравнений в вычислительной среде Mathcad с помощью функционала Rkadapt .

8 Дифференциальные уравнения в частных производных MathcadСкачать

8 Дифференциальные уравнения в частных производных Mathcad

Пример решения системы уравнений в MathCAD 14 (34/34)Скачать

Пример решения системы уравнений в MathCAD 14 (34/34)

Mathcad Линейные дифференциальные уравнения первого порядкаСкачать

Mathcad  Линейные дифференциальные уравнения первого порядка

Mathcad-09. Пример: уравненияСкачать

Mathcad-09. Пример: уравнения

Линейное неоднородное дифференциальное уравнение второго порядка с постоянными коэффициентамиСкачать

Линейное неоднородное дифференциальное уравнение второго порядка с постоянными коэффициентами

Решение дифференциальных уравнений. Решение задачи Коши. Урок 45Скачать

Решение дифференциальных уравнений. Решение задачи Коши. Урок 45

Решение систем Д/У: 1. Знакомство с функциями odeXYСкачать

Решение систем Д/У: 1. Знакомство с функциями odeXY

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

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

18+ Математика без Ху!ни. Дифференциальные уравнения.Скачать

18+ Математика без Ху!ни. Дифференциальные уравнения.
Поделиться или сохранить к себе:
Дифференциальные уравнения в mathcad 15