Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
0552 / 3 Глава1.doc
Скачиваний:
3
Добавлен:
14.02.2023
Размер:
123.9 Кб
Скачать

1.3 Пакет MathCad. Аппроксимация. Функции аппроксимации. Решение дифференциальных уравнений

Для автоматизации математических расчетов используются разнообразные вычислительные средства - от программируемых микрокалькуляторов до сверхмощных суперЭВМ. И тем не менее такие расчеты остаются сложным делом. Более того, применение компьютеров внесло новые трудности: прежде чем начать расчеты, пользователь должен освоить основы программирования, изучить один или несколько языков программирования и численные методы расчетов.[8]

Положение стало меняться после специализированных программных комплексов для автоматизации математических и инженерно-технических расчетов. К таким комплексам относятся пакеты программ MathCAD, Mat LAB, Eureka. MathCAD - один из наиболее мощных и универсальных из них.

MathCAD является интегрированной системой программирования, ориентированной на проведение математических и инженерно-технических расчетов.

Система MathCAD содержит текстовый редактор, вычислитель и графический процессор.

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

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

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

MathCAD ориентирован на IBM-совместимые ПК, работает с PC-DOS и MS-DOS с версиями 2.0 и выше. Поддерживаются основные типы адаптеров и дисплеев. Минимальная память - 512 Кб. MathCAD автоматически поддерживает работу с математическим процессором. Последний заметно повышает скорость расчетов и вывода графиков, что существенно в связи с тем, что MathCAD всегда работает в графическом режиме. Это связано с тем, что только в этом режиме можно формировать на экране специальные математи ческие символы и одновременно применять их вместе с графиками и текстом. MathCAD поддерживает работу со многими типами принтеров, а так же с плоттерами.[3]

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

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

Для представления физических закономерностей и при проведении научно-технических расчетов часто используются зависимости вида у(x), причем число точек этих зависимостей ограничено. Неизбежно воз­никает задача приближенного вычисления значений функций в проме­жутках между узловыми точками (интерполяция) и за их пределами (экстраполяция). Эта задача решается аппроксимацией исходной зави­симости. Аппроксимация заключается в том, что, используя имеющуюся информацию по у(x), можно рассмотреть другую функцию φ(x) (аппроксимирующую), близкую в некотором смысле к у(x). Что позволит выполнить над ней соответствующие операции и получить оценку погрешности такой замены. Система MathCAD предоставляет возможность аппроксимации несколькими типами функций.

При кусочно-линейной интерполяции вычисления дополнительных точек выполняются по линейной зависимости, то есть узловые точки соединяются прямой. Линейная интерполяция осуществляется с помощью встроенной функции linterp(VX, VY, x), где VX, VY – вектора узловых точек; x – рассчитываемая точка.

При линейной интерполяции уже первая производная аппроксими­рующей функции терпит разрывы в узловых точках. В тех случаях, когда есть основания полагать, что не только аппроксимирующая функция, но и ряд ее производных непрерывны, существенно лучшие результаты дает сплайн-аппроксимация. При ней исходная функция заменяется от­резками кубических полиномов, проходящих через три смежные узло­вые точки. Коэффициенты полиномов рассчитываются так, чтобы непрерывными были первая и вторая производные. Линия, которую описывает сплайн-функция, напоминает по форме гибкую линейку, закрепленную в узловых точках( откуда и название аппроксимации: splain – «гибкая линейка»).

Для осуществления сплайновой аппроксимации MathCAD предлага­ет три встроенные функции(VX, VY – вектора узловых точек):

Cspline(VX, VY) - возвращает вектор VK вторых производных при приближении в опорных точках к кубическому полиному;

pspline(VX, VY) - возвращает вектор VK вторых производных при приближении в опорных точках к параболической кривой;

Ispline(VX, VY) - возвращает вектор VK вторых производных при

приближении в опорным точках к прямой.

Аппроксимирующая функция строится с помощью встроенной функции Interp(VK, VX, VY, x) - возвращающей значение у(х) для заданных векторов VK, VХ, VY и заданно­го значения х.

Таким образом, сплайн-аппроксимация проводится в два этапа. На первом с помощью одной из функций cspline, pspline или ispline оты­скивается вектор вторых производных функции у(х), заданной вектора­ми VХ и VY ее значений (абсцисс и ординат). Затем на втором этапе для каждой искомой точки вычисляется значение у(х) с помощью функции interp.

Линейная регрессия общего вида реализуется с помощью функции linfit(VX, VY,F) – возвращающей вектор коэффициентов К, при котором среднеквадратичная погрешность приближения "облака" исходных точек с координатами VX, VY, минимальна.

Для выполнения нелинейной регрессии общего вида используется функция genfit(VX,VY,VS,F) – которая возвращает вектор K параметров функции . Вектор VS – задает начальные приближения элементов вектора K рассчитываемых итерационным способом, вектор F содержит искомую функцию и ее частные производные по параметрам Ki.

Для решения дифференциальных уравнений в MathCAD введен ряд функций. Остановимся на функциях, дающих решения для систем обыкновенных дифференциальных уравнений, представленных в обычной форме Коши:

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

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

rkfixed (y, x1, x2, n, F) – возвращает матрицу решений методом Рунге-Кутта системы обыкновенных дифференциальных уравнений с начальным условием в векторе у, правые части которых записаны в символьном векторе F на интервале от х1 до х2 при фиксированном числе шагов n.

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

- первый столбец содержит значение точек, в которых ищется решение дифференциального уравнения;

- второй столбец содержит значения найденного решения в соответствующих точках.

Функция rkfixed(y,x1,x2,npoints,D) имеет следующие аргументы:

у – вектор начальных условий размерности n, где n – порядок дифференциального уравнения или число уравнений в системе дифференциальных уравнений; для уравнения первого порядка вектор начальных условий вырождается в одну точку;

х1, х2 – граничные точки интервала, на котором ищется решение дифференциальных уравнений;

npoints – число точек, в которых ищется приближенное решение;

D(x, y) – функция, возвращающая значение в виде вектора из n элементов, содержащих первые производные неизвестных функций.

Решение дифференциального уравнения второго порядка

Основные отличия решения уравнений второго порядка в MathCAD от решения уравнения первого порядка состоят в следующем:

- вектор начальных условий состоит из двух элементов: значений функции и ее первой производной в начальной точке интервала;

- функция D(x, y) является вектором с двумя элементами:

- матрица, полученная в результате решения, содержит три столбца: первый столбец содержит значения х, второй – у(х), третий – у’(х).

Соседние файлы в папке 0552