ГП МУ к ДЗ_2019 (802258), страница 4
Текст из файла (страница 4)
РЕШЕНИЕ ОБЫКНОВЕННЫХ ДИФФЕРЕНЦИАЛЬНЫХУРАВНЕНИЙ И ИХ СИСТЕМ В ПРОГРАММНОМ КОМПЛЕКСЕ MATHCADПрограммный комплекс Mathcad удобно использовать для решениядифференциальных уравнений движения ползуна гидравлического пресса илипадающих частей гидравлического молота с насосно-аккумуляторным приводом.Длярешениядифференциальноеуравнениедолжнобытьлишеноразмерности.При решении уравнения движения на рабочем ходе желательно применятьсплайн-интерполяцию кусочно-линейных графиков технологической нагрузки,иначе могут возникнуть проблемы со сходимостью.В Mathcad возможно использовать для решения ОДУ solve-блок иотдельные функции-решатели.Использование solve-блокаДлярешенияОДУможетиспользоватьсяsolve-блок“Given … Odesolve([vector], x, b, [step])”где− [vector] – задается только при решении систем ОДУ.
Вектор столбец,который содержит имена функций, которые требуется получить врезультате решения,− x – имя переменной интегрирования,− b – максимальное значение переменной интегрирования,− [step] – необязательный целочисленный параметр. Количество точек,по которым будет осуществляться интерполяция полученногорезультата. По умолчанию 1000.Внутри solve-блока должны быть заданы решаемое ОДУ, а такжевыражения, определяющие начальные условия.34Для записи уравнений и начальных условий следует использовать операциюсравнения « = », а не присваивания « := ». Для ввода « = » в Mathcad используетсякомбинация клавиш [Ctrl]+[=].Длязаданияначальныхзначенийпроизводнойискомойфункциидвиженияползунанеобходимо использовать комбинацию клавиш [Ctrl]+[F7].Примеррешениягидравлическогопрессадифференциальногосуравнениянасосно-аккумуляторнымприводомнаходедеформирования с помощью solve-блока приведен нижеВ случае возникновения проблем со сходимостью, пользователь можетщелкнуть правой кнопкой мыши по оператору Odesolve и выбрать другой типрешателя (см.
описания решателей далее).35Функции-решателиДля решения ОДУ и их систем без создания solve-блока можноиспользовать отдельные функции-решатели (см. таблицу)метод АдамсаAdams(init, x1, x2, npoints, D, [tol])Нежесткиеметод Рунге-Кутты 4-го порядка сrkfixed(init, x1, x2, npoints, D)постоянным шагомОДУметод Рунге-Кутты 4-го порядка сRkadapt(init, x1, x2, npoints, D)ЖесткиеОДУпеременным шагомBulstoer(init, x1, x2, npoints, D)метод Булирша-ШтёраBDF(init, x1, x2, npoints, D, [J], [tol])неявный метод Эйлера1-го порядкаRadau(init, x1, x2, npoints, D, [J], [M], [tol])метод Радо IIA 5-го порядкаStiffb(init, x1, x2, npoints, D, AJ)метод Булирша-ШтёраStiffr(init, x1, x2, npoints, D, AJ)метод РозенброкаАвтоматическое определение жесткости.Жесткие инежесткиеAdamsBDF(init, x1, x2, npoints, D, [J], [tol])ОДУДля жестких уравнений используетсянеявный метод Эйлера 1-го порядка, длянежестких – метод АдамсаКаждая из этих функций возвращает матрицу размером (npoints+1) x (n+1),где n – количество неизвестных.
Первый столбец – переменная интегрирования,остальные – соответствующие значения искомых функций.Аргументы функций:− init – вектор-столбец начальных условий или скаляр, в случае решенияодного ОДУ;− x1 и x2 – интервал интегрирования. Начальные значения init соответствуютточке x1;− npoints – положительное целое число, определяющее количество строк ввыходной матрице. В зависимости от выбранного типа решателя,интегрирование может вестись с переменным шагом, но результатырешения будут представлены в виде значений в npoints равноотстоящихточках;− D – векторная функция, определяющая правую часть системы уравнений36 f 0 ( x, y0 ...
y n−1 ) f ( x, y ... y ) d0n −1 Y = D ( x, y0 ... y n−1 ) = 1Mdxf(x,y...y)0n −1 n−1− tol – необязательный вещественный параметр, определяющий заданнуюточность решения. Можно задать с помощью вектора-столбца требуемуюточность для каждой независимой переменной.− J - необязательный параметр. Матричная функция Якоби, содержащаячастные производные функции D по всем независимым переменным. Еслифункция не задана, то на этапе решения Якобиан вычисляется с помощьюметода конечных разностей.− M – постоянная матрица масс для метода Radau. Используется для решениядифференциальных уравнений, записанных в неявной форме, и их систем.MdY = D ( x , y 0 ...
y n −1 )dx− AJ – сборная матрица Якоби для методов Stiffb и Stiffr. Первый столбецсодержит частные производные правой части системы уравнений понезависимой переменной, остальные соответствуют матрице Якоби J (см.выше).В отличие от solve-блока. перечисленные функции-решатели можноиспользовать только с ОДУ 1-го порядка. Однако любое ОДУ произвольногопорядка может быть приведено к равносильной системе ОДУ 1-го порядка.Например, от уравнения второго порядкаd2ydy =Fx,y,dx 2dx(A.1)с одной искомой функцией легко перейти к равносильной системе из двухуравнений первого порядка с двумя искомыми функциями. Для этого надо37рассматриватьdyкак дополнительную неизвестную функцию.
Обозначая ее черезdxz, получимdy= z,dxd 2 y d dy dz= =dx 2 dx dx dxПоэтому вместо уравнения (A.1) можно записать равносильную систему dy dx = z , dz = F ( x, y , z ) dxПримеррешениягидравлическогопрессадифференциальногосуравнениянасосно-аккумуляторным(A.2)движенияприводомползунанаходедеформирования (то же, что рассмотрено ранее) с помощью функции Radauприведен ниже38.