Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
9 - 13.doc
Скачиваний:
1
Добавлен:
27.08.2019
Размер:
983.04 Кб
Скачать

Задания для тренировки

1) Решите системы уравнений:

Следующими способами:

- функция lsolve;

- вычислительный блок Given-Find;

- матричные вычисления.

2. Вычислить корни кубического полинома с использованием функций root и

polyroots.

1)

2)

3)

Контрольные вопросы для домашней подготовки

  1. Опишите достоинства и недостатки применения функции root().

  2. Опишите достоинства и недостатки применения функции polyroots().

  3. Опишите достоинства и недостатки применения функции lsolve

  4. Опишите достоинства и недостатки применения вычислительного блока Given-Find.

  5. В чём заключается принцип матричного способа решения систем.

  6. Приведите пример решения любого уравнения или системы уравнений, используя один из методов рассмотренных в работе.

Лабораторная работа № 11 Решение дифференциальных уравнений с помощью программы MathCad.

1. Цель работы

Получение навыков нахождения экстремумов функций и решения дифференциальных уравнений с использованием встроенных функций MathCAD.

2. Теоретические пояснения Нахождение экстремумов функций

Для поиска локальных экстремумов имеются две встроенные функции, которые могут применяться как в пределах вычислительного блока, так и автономно.

Minimize(f,x1,x2,…,xn) – вычисляет вектор значений минимума функции f. x1,x2,…,xnаргументы, по которым производится минимизация или максимизация.

Maximize(f,x1,x2,…,xn) – вычисляет вектор значений минимума функции f.

Функции для решения дифференциальных уравнений.

В систему MathCAD введена возможность решения дифференциальных уравнений и систем с такими уравнениями в численном виде. Эту возможность трудно переоценить, так как многие серьезные научно- технические задачи (особенно относящиеся к анализу динамических систем и к их математическому моделированию) базируются на численных методах решения систем дифференциальных уравнений.

Нелинейные дифференциальные уравнения и системы с такими уравнениями, как правило, не имеют аналитических методов решения, и здесь особенно важна возможность их решения численными методами. В большинстве случаев желательно представление решений в графическом виде, что и позволяет MathCAD.

Для решения дифференциальных уравнений (систем) различного порядка и различными методами в MathCAD введены 13 встроенных функций: rkadapt, Rkadapt, rkfixed, Bulstoer, bulstoer, bvalfit, multigird, relax, sbval, Stiffb, stiffb, Stiffr и stiffr. Назначение и описание аргументов этих функций даны в приложении.

В функцию rkfixed заложен широко распространенный метод решения дифференциальных уравнений – метод Рунге-Кутта. Несмотря на то, что это не самый быстрый метод, функция rkfixed почти всегда справляется с поставленной задачей. Однако есть случаи, когда лучше использовать более сложные методы. Эти случаи попадают под три широкие категории: система может быть жесткой (Stiffb, Stiffr), функции системы могут гладкими (Bulstoer) или плавными (Rkadap). Нередко приходится пробовать несколько методов на одном дифференциальном уравнении (на одной системе), чтобы определить, какой метод лучше. Как известно, что решение гладкое, используется функция Bulstoer, куда заложен метод Бурлиш-Штера, а не Рунге-Кутта, используемый функцией rkfixed. В этом случае решение будет точнее. Можно решить задачу более точно (более быстро), если уменьшить шаг там, где производная меняется быстро, и увеличить шаг там, где она ведет более спокойно. Для этого предусмотрена функция Rkadap. Но, несмотря на то, что она при решении дифференциального уравнения использует непостоянный шаг, функция Rkadap представит ответ для точек, находящихся на одинаковом расстоянии, заданном пользователем. Система дифференциальных уравнений, записанная в матричной форме y=Ax, где A – почти вырожденная матрица, называется жесткой. При решении жестких систем следует использовать одну из двух встроенных функций, разработанных специально для таких случаев: Stiffb и Stiffr. Они используют метод Булирш-Штера (b) или Розенброка (r). Функции, начинающиеся со строчной буквы, дают решения только для конечной точки. Для решения двухточечных краевых задач предназначены функции: sbval и bvalfit. Для решения дифференциальных уравнений Пуассона (в частных производных второго порядка) и уравнений Лапласа в систему введены следующие функции: bvalfit, multigird, relax, sbval.

bulstoer(v, х1, х2, асе, n, F, k, s) – матрица решения системы обыкновенных дифференциальных уравнений, правая часть которых записана в символьном векторе F с заданными начальными условиями в векторе v на интервале от х1 до х2, используется метод Булирш-Штера с переменным шагом; параметры k и s задают шаг.

Bulstoer(v, х1, х2, n, F) – матрица решения системы обыкновенных дифференциальных уравнений, правая часть которых записана в символьном векторе F с заданными начальными условиями в векторе v на интервале от х1 до х2, используется метод Булирш-Штера.

bvalfit(vl, v2, х1, х2, xi, F, LI, L2, S) – устанавливает начальные условия для краевой задачи, заданной в векторах F, vl и v2 на интервале от х1 до х2, где решение известно в некоторой промежуточной точке xi.

rеlах(М1, М2, МЗ, М4, М5, A, U, х) - квадратная матрица решения уравнения Пуассона.

rkadapt(v, xl, х2, acc, n, F, k, s) – матрица, содержащая таблицу значений решения задачи Коши на интервале от xl до х2 для системы обыкновенных дифференциальных уравнений, вычисленных методом Рунге-Кутта с переменным шагом. Правые части системы записаны в F, n – число шагов, k и s – размеры шага.

Rkadapt(v, xl, х2, n, F) – матрица решений методом Рунге-Кутта (с переменным шагом) системы обыкновенных дифференциальных уравнений, правые части которых записаны в символьном векторе F, на интервале от xl до х2; n – число шагов.

sbval(v, xl, x2, F, L, S) – установка начальных условий для краевой задачи, определенной в символьном векторе F, вектор v – начальные условия на интервале xl, x2.

stiffb(v, xl, x2, асе, n, F, J, k, s) – матрица решений stiff-дифференциального уравнения, записанного в F и функции Якобиана J. v – вектор начальных значений на интервале [xl, x2]; используется метод Bulirsch-Stoer с переменным шагом.

Stiflb(v, xl, x2, n, F, J) – матрица решений stiff-дифференциального уравнения, записанного в F и функции Якобиана J. v – вектор начальных значений на интервале [xl, x2]; используется метод Bulirsch-Stoer.

stiffr(v, xl, x2, асе, n, F, J, k, s) – матрица решений stiff-дифференциального уравнения, записанного в F и функции Якобиана J. v – вектор начальных значений на интервале [xl, x2]; используется метод Розен-брока с переменным шагом.

Stiflr(v, xl, x2, n, F, J) – матрица решений stiff-дифференциального уравнения, записанного в F и функции Якобиана J. v – вектор начальных значений на интервале [xl, x2]; используется метод Розенброка.

Given-Odesolve(x,ti,[step]) – Вычислительный блок, для нахождения решения дифференциальных уравнений, методом Рунге-Кутта. Параметр step – необязательный, это внутренний параметр численного метода, определяющий количество шагов, в которых метод Рунге-Кутта будет рассчитывать решение дифференциального уравнения. Чем больше step, тем с лучшей точностью будет получен результат, но тем больше времени будет затрачено на его поиск. x – искомая переменная, ti – интервал, на котором ищется решение (0,ti).

rkfixed(y, xl, х2, m, D) – матрица, содержащая таблицу значений решения задачи Коши на интервале от xl до х2 для системы обыкновенных дифференциальных уравнений, вычисленных методом Рунге-Кутта с фиксированным шагом. v – вектор начальных значений. D – матрица дифференциальных уравнений. m – количество точек интегрирования.