КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Решение дифференциальных уравнений второго порядкаМетод Эйлера для дифференциальных уравнений первого порядка Решим задачу Коши для ДУ первого порядка методом Эйлера. Пусть правая часть уравнения равна Зададим границы изменения x: Зададим число точек и величину шага: Зададим начальные условия: Вычислим x и y по формулам Эйлера
Представим результат графически и сравним его с аналитическим решением
Точное аналитическое решение и решение, полученное численно, отличаются в точке x=1 на. То есть относительная ошибка составляет Для решения ДУ Mathcad имеет ряд встроенных функций, в частности, функцию rkfixed, реализующую метод Рунге–Кутты четвертого порядка с фиксированным шагом. Фактически эта функция предназначена для решения систем дифференциальных уравнений первого порядка.
Функция rkfixed(y, x1, x2, npoints, D) возвращает матрицу. Первый столбец этой матрицы содержит точки, в которых получено решение, а остальные столбцы – решения и его первые производные. Аргументы функции:
· y – вектор начальных значений (n элементов). · x1 и x2 – границы интервала, на котором ищется решение дифференциального уравнения. · npoints – число точек внутри интервала (x1,x2), в которых ищется решение. Функция rkfixed возвращает матрицу, состоящую из 1+npoints строк. · D – вектор, состоящий из n элементов, который содержит первые производные искомой функции. Решение дифференциальных уравнений методом Рунге–Кутты Решим задачу Коши для дифференциального уравнения первого порядка методом Рунге–Кутты. Зададим границы изменения x: Зададим число точек внутри интервала Зададим начальные условия Обратите внимание на обозначения! Поскольку мы решаем только одно дифференциальное уравнение первого порядка, а не систему дифференциальных уравнений, матрица y содержит только один элемент, однако запись y=1 была бы неправильной. Необходимо явно указывать на то, что величина y – матрица, то есть писать индекс. Определим теперь матрицу производных. Эта матрица тоже состоит только из одного элемента. Этот элемент с точностью до обозначений совпадает с правой частью исходного дифференциального уравнения: Решаем дифференциальное уравнение
Точное аналитическое решение и решение, полученное численно отличаются в точке на Относительная ошибка составляет В качестве примера решим задачу о гармоническом осцилляторе, для которого известно аналитическое решение, и легко может быть оценена точность вычислений. Дифференциальное уравнение второго порядка преобразуем к системе из двух дифференциальных уравнений первого порядка
Пусть декремент затухания Пусть циклическая частота Зададим начальные условия y0 соответствует начальной координате, а y1 – начальной скорости. Зададим теперь матрицу D. С учетом того, что искомая величина соответствует нулевому элементу массива y, ее первая производная – первому, а вторая – второму, имеем
Представим результаты расчета на графике и сравним их с аналитическим решением
Mathcad предлагает новый способ для решения обыкновенных дифференциальных уравнений, разрешенных относительно старшей производной. Для этих целей служит уже известный нам блок given совместно с функцией odesolve. Функция odesolve решает задачу Коши с начальными условиями y(x0)=y0, y’(x0)=y0,1, …, y(n-1)(x0)=y0,n-1 или простейшую краевую задачу, в которой заданы n граничных условий, определяющих значения искомой функции y(x) и её производных в концах отрезка [a,b], т.е. заданы n граничных условий вида y(k)(a)=ya,k, y(m)(b)=yb,m, 0≤k≤n-1, 0≤m≤n-1. Дифференциальное уравнение совместно с начальными или граничными условиями записывается в блоке given. Производные можно обозначать как штрихами (Ctrl+F7), так и с помощью знака производной. Функция odesolve имеет три аргумента: odesolve(x,b,step). Первый аргумент х – независимая переменная интегрирования, второй b – правая граница интервала интегрирования, на котором ищется решение, последний аргумент step – шаг, с которым ищется решение. Последний аргумент может быть опущен odesolve(x,b).
Дата добавления: 2014-01-06; Просмотров: 550; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |