Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Решение одиночного дифференциального уравнения. |
Для численного решения одиночного дифференциального уравнения в MathCAD имеется функция Odesolve, с помощью которой может быть решена как задача Коши для обыкновенного дифференциального уравнения, так и граничная задача. Эта функция входит в состав блока решения и сявляется его заключительным ключевым словом.
Odesolve(x,b,[step]) - Возвращает функцию, которая является решением дифференциального уравнения. Используется в блоке с оператором Given.
x - переменная интегрирования, действительное число
b - конечная точка отрезка интегрирования
step - величина шага по переменной интегрирования (необязательный аргумент)
Замечания:
Численное решение задачи Коши для дифференциальных уравнений и систем. |
8. Для численного решения задачи Коши для дифференциальных уравнений и систем могут быть использованы функции:
9. rkfixed(y,x1,x2,n,F) - возвращает матрицу решений системы уравнений методом Рунге-Кутта 4-го порядка при фиксированном шаге по x
10. rkadapt(y,x1,x2,n,F) - ищет решение с переменным шагом (там, где решение меняется медленнее, шаг увеличивается, а в области быстрого изменения решения шаг функции уменьшается). Возвращается решение с равным шагом. Функция работает быстрее, чем rkfixed
11. Bulstoer(y,x1,x2,n,F) - дает более точное решение (методом Bulirsch-Stoer)
12. Агрумкнты вышеуказанных функций:
y - вектор начальных условий
x1,x2 - границы интервала для поиска решения
n - количество точек на интервале
F(x,y) - вектор-функция первых производных
13. При решении дифференциальных уравнений порядка выше первого (или систем уравнений, выше первого порядка) исходное уравнение (систему) необходимо преобразовать к системе дифференциальных уравнений первого порядка.
14.
15. В результате работы укзанных функций рассчитывается матрица, количество стобцов которой равно порядку уравнения +1(или сумме порядков уравнений в системе +1), а количество строк равно параметру n. Первый столбец содержит значения независимой переменной, второй - значение функции, третий - для диф. уравнений 2-го порядка - значение производной искомой функции (если решается система двух уравнений 1-го порядка, то третий столбец будет содержать значения второй функции). Для выделения решений (функций или их производных) можно воспользоваться стандартным оператором вывода столбцов матрицы M< >
16.
17. Если матрица правых частей дифференциальных уравнений почти вырождена, то такие системы называются жесткими. В этом случае решения, возвращаемые функцией rkfixed будет неустойчивым и для решения таких систем необходимо применять функции Stiffb, Stiffr
18. Stiffb(y,x1,x2,n,F,J) - ищет решение диф. уравнения или системы дифференциальных уравнений методом Bulirsch-Stoer
19. Stiffr(y,x1,x2,n,F,J) - ищет решение диф. уравнения или системы дифференциальных уравнений методом Rosenbrock
Первые пять аргументов такие же,как и при решении хорошо обусловленных систем дифференциальных уравнений. Дополнительный аргумент - матрица J размером nx(n+1), первый столбец которой содержит частные производные dF/dx, остальные столбцы и строки представляют собой матрицу Якоби dF/dy |
Пример решения жесткой системы дифференциальных уравнений. |
21. Для отыскания решения системы диф. уравнений только в конечной точке используются функции bulstoer,rkadapt, stiffb, stiffr (начинаются с прописной буквы).
Набор парамтров для этих функций: 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) |
22. Первые три параметра и пятый (F) этих функций те же, что идля функции Rkadapt. Дополнительные параметры:
acc - параметр, контролирующий точность решения (реком. асс=0.001)
kmax - максимальное число промежуточных точек в которых ищется решение
save - минимально допустимый интервал между точками, в которых ищется решение
Решение граничных задач для обыкновенных дифференциальных уравнений. |
23. Если для дифференциального уравнения n -го порядка k граничных условий заданы в начальной точке х1, а (n-k) граничных условий - в конечной точке х2, то такая задача называется краевой. В MathCAD реализованы две функции, позволяющие численно найти недостающие условия в точках х1 и х2.
24. Двухточечная краевая задача
25. Задача решается в два этапа. Сначала с помощью функции sbval находятся недостающие начальные значения, а затем применяется одна из выше описанных функций для решения стандартной задачи Коши на отрезке.
26. 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 и значеием искомого решения в этой точке.
27.
28. Краевая задача с условиями внутри интервала.
29. На первом этапе используется функция
30. 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
31.
Дата публикования: 2014-10-23; Прочитано: 564 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!