Студопедия КАТЕГОРИИ: АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Краткие теоретические сведения
У MathCad очень небольшие возможности символьного решения обыкновенных дифференциальных уравнений (ОДУ). В частности, для решения ОДУ первого порядка можно записать готовую формулу для задачи Коши и символьно ее проинтегрировать. Для решения ОДУ и их систем с начальными условиями система Mathcad имеет ряд встроенных функций, предназначенных для численного решения ОДУ: · Odesolve(x,b,[step])– функция, решающая задачу блочным методом. · 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) —решение задач для жестких систем в заданной точке с использованием алгоритма Булирша—Штера. Несмотря на различные методы поиска решения, каждая из этих функций требует, чтобы были заданы, по крайней мере, следующие величины: 1. начальные или граничные условия; 2. набор точек, в которых нужно найти решение; 3. само дифференциальное уравнение, записанное в некотором специальном виде. (Символ ‘, обозначающий производную, ставится с использованием клавиш <Ctrl+F7>)
Для решения дифференциальных уравнений с начальными условиями система Mathcad имеет ряд встроенных функций: rkfixed – функция для решения ОДУ и систем ОДУ методом Рунге–Кутта четвертого порядка с постоянным шагом; Rkadapt – функция решения ОДУ и систем ОДУ методом Рунге–Кутта с переменным шагом; Odesolve – функция, решающая ОДУ блочным методом.
Ниже приведено описание стандартной функции rkfixed с указанием параметров функции. Rkfixed(y, x1, x2, p, D) Аргументы функции: y – вектор начальных условий из k элементов (k – количество уравнений в системе); x1 и x2 – левая и правая границы интервала, на котором ищется решение ОДУ или системы ОДУ; p – число точек внутри интервала (x1, x2), в которых ищется решение; D – вектор, состоящий из k-элементов, который содержит первую производную искомой функции или первые производные искомых функций, если речь идет о решении системы. Результатом работы функции является матрица из p+1 строк, первый столбец которой содержит точки, в которых получено решение, а остальные столбцы – сами решения. На рисунке 2.14 приведены конкретные примеры решения различных дифференциальных уравнений и систем ОДУ в MathCAD.
При решении дифференциального уравнения первого порядка нужно создать вектор начальных условий из одного элемента Y1, который затем используется при формировании вектора-функции правой части дифференциального уравнения. При обращении к функции rkfixed указывается имя вектора Y, границы интервала, на котором ищется решение уравнения, например, (0 ; 2), количество точек, в которых ищется решение – 100, вектор-функция, описывающая правую часть дифференциального уравнения – D. В результате получается матрица z, в первом столбце которой содержатся значения аргумента искомой функции, во втором – значения самой результирующей функции. При построении графика функции первый столбец полученной матрицы указывается как аргумент, второй столбец – как функция. При решении системы дифференциальных уравнений нужно создать вектор начальных условий из двух элементов, например, вектор v, который затем используется при формировании вектора-функции правой части дифференциального уравнения. При обращении к функции rkfixed указывается имя вектора v, и границы интервала, на котором ищется решение уравнения, например, (0 ; 5), количество точек, в которых ищется решение – 100, вектор-функция, описывающая правую часть дифференциального уравнения – D. В результате получается матрица s, в первом столбце которой содержатся значения аргумента искомых функций, во втором и третьем столбцах – значения самих функций при соответствующем значении аргумента. При построении графика можно воспользоваться первым столбцом полученной матрицы как аргументом, а вторым и третьим столбцами – как функциями. На рисунке 2.15 приведен пример решения дифференциального уравнения второго порядка с использованием функции rkfixed. Необходимо решить дифференциальное уравнение второго порядка с заданными начальными условиями вида:
Для решения уравнения с помощью функции rkfixed нужно выполнить замену переменных и привести дифференциальное уравнение второго порядка к двум дифференциальным уравнениям первого порядка. Вид этих уравнений приведен ниже.
Документ формируется точно так же, как и при решении системы ОДУ. На рисунке 9.2 показана возможность вычисления вектора второй производной найденной функции – вектора а, построены графики исходной функции, функций первой и второй производных. Практическая часть |
||||||||
Последнее изменение этой страницы: 2018-05-10; просмотров: 215. stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда... |