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

Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...

Вычислительный блок Given/Odesolve

2017-05-23 458
Вычислительный блок Given/Odesolve 0.00 из 5.00 0 оценок
Заказать работу

Вверх
Содержание
Поиск

Вычислительный блок для решения одного ОДУ, реализующий численный метод Рунге-Кутты, состоит из трех частей:

- Given – ключевое слово;

- ОДУ и начальные условия, записанные с помощью логических операторов, причем начальное условие должно быть в форме y(t0)=b;

- odesolve(t,t1) – встроенная функция для решения ОДУ относительно переменной t на интервале (t0,t1). Допустимо задание функции odesolve(t,t1,step) с тремя параметрами, где step – внутренний параметр численного метода, определяющий количество шагов, в которых метод Рунге-Кутты будет рассчитывать дифференциальное уравнение. Чем больше step, тем с лучшей точностью будет получен результат, но тем больше времени будет затрачено на его поиск.

Задание 1. Реализуйте следующий пример и проанализируйте полученные результаты:

 

Результатом применения блока Given/Odesolve является функция y(t), определенная на промежутке (t0,t1). Можно построить график этой функции, используя графические средства MathCAD, или получить значения в какой-либо точке.

Встроенные функции rkfixed, Rkadapt, Bulstoer

Для решения ОДУ можно использовать встроенные функции. Этот способ несколько проигрывает первому как в простоте, так и наглядности и используется в ранних версиях MathCAD.

Задание 2. Реализуйте следующий пример и проанализируйте полученные результаты:

 

Результат решения здесь представлен не в виде функции, а в виде матрицы размерности M×2. Она состоит из двух столбцов: в одном находятся значение аргумента t (от t0 до t1 включительно), а в другом соответствующие значения искомой функции y(t). График решения соответствует получению решения в матричном виде, поэтому по осям отложены соответствующие столбцы, выделенные их матрицы y оператором Столбец матрицы (M<>)

 

ОДУ высшего порядка

Обыкновенное дифференциальное уравнение с неизвестной функцией y(t), в которое входят производные этой функции вплоть до y(N)(t), называются ОДУ N -го порядка. Если имеется такое уравнение, то для корректной постановки задачи Коши требуется задать N начальных условий на саму функцию y(t) и ее производные от первого до (N-1)- го порядка включительно.

В MathCAD можно решать ОДУ высших порядков как с помощью вычислительного блока Given/Odesolve, так и путем сведения их к системам уравнений первого порядка.

Внутри вычислительного блока:

- ОДУ должно быть линейно относительно старшей производной, т.е. фактически должно быть поставлено в стандартной форме;

- начальные условия должны иметь форму y(t)=b или y(N)(t)=b, а не более сложную (как, например: y(t)+y ' (t)=b).

В остальном, решение ОДУ высших порядков ничем не отличается от решения уравнений первого порядка.

Задание 3. Откройте новый документ и решите задачу Коши для ОДУ второго порядка. Проанализируйте полученные результаты.

В этом задании решено уравнение затухающего гармонического осциллятора, который описывает, например, колебания маятника. Для модели маятника y(t) описывает изменения угла отклонения от вертикали, y'(t) – угловая скорость маятника (для ввода символа производной используется левая верхняя клавиша символьной клавиатуры), y'' (t) – ускорение, а начальные условия, соответственно, начальное отклонение маятника y(0)=0.1 и начальная скорость y'(0)=0.

Второй способ решения ОДУ высшего порядка связан со сведением его к эквивалентной системе ОДУ первого порядка. Если обозначить y0(t)≡y(t), а

y1(t) ≡y ' (t)=y0 ' (t), тот исходное уравнение запишется через функции y0(t) и y1(t) в виде системы двух ОДУ:

y0 ' =y1,

y1 ' +0.1·y1+1·y0=0.

Методика решения такой системы приведена в следующем разделе.

Системы ОДУ первого порядка

MathCAD требует, чтобы система дифференциальных уравнений была представлена в стандартной форме:

y0 ' (t)=f0(y0(t),y1(t),…, yN-1(t),t),

y1 ' (t)= f0(y0(t),y1(t),…, yN-1(t),t), (1)

yN-1 ' (t)= fN-1(y0(t),y1(t),…, yN-1(t),t)

Задание системы (1) эквивалентно следующему векторному представлению:

Y'(t)=F(Y(t),t), (2)

где Y и Y' – соответствующие неизвестные векторные функции переменной t размера N×1, а F – векторная функция того же размера и (N+1) количества переменных (N компонент вектора и, возможно, t). Именно векторное представление (2) используется в среде MathCAD для ввода системы ОДУ.

Для того чтобы определить задачу Коши для системы ОДУ, следует определить еще N начальных условий, задающих значение каждой из функций yi(t0) в начальной точке интегрирования системы t0. В векторной форме они могут быть записаны в виде:

Y(t0)=B, (3)

где B – вектор начальных условий размера N×1, составленный из yi(t0).

Здесь задача сформулирована для систем ОДУ первого порядка. Если в систему входят уравнения высших порядков, то ее можно свести к системе большего числа уравнений первого порядка.


Поделиться с друзьями:

Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...

Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...

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

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



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.012 с.