- •Раздел 6.
- •Раздел 6. Учебное пособие для студентов заочного факультета: Базовые элементы и средства математического пакета MathCad. -м., 2010.-28с.
- •Тема 3.5. Основы работы с математическими пакетами Рекомендации по использованию учебного пособия
- •3.5.1. Базовые элементы математического пакета MathCad
- •3.5.1.1. Интерфейс MathCad
- •3.5.1.2. Построение и вычисление выражений
- •3.5.1.3. Дискретные переменные для построения таблиц и графиков
- •3.5.1.4. Работа с векторами и матрицами
- •3.5.1.5. Форматирование чисел
- •3.5.2.1. Средства MathCad для решение нелинейных уравнений
- •3.5.2.2. Решение систем нелинейных уравнений
- •3.5.2.3. Средства MathCad для решения систем линейных уравнений
- •3.5.2.4. Средства MathCad для приближенного описания функций
- •3.5.2.5. Средства MathCad для вычисления производных и интегралов
- •3.5.2.6. Средства MathCad для решения обыкновенных дифференциальных уравнений
- •5.3.2.7. Средства MathCad для решения систем обыкновенных дифференциальных уравнений
- •3.5.2.8. Средства MathCad для решения задач оптимизации
- •Литература
- •Оглавление
- •Тема 3.5. Основы работы с математическими пакетами 3
3.5.2.2. Решение систем нелинейных уравнений
Для решения системы нелинейных уравнений (СНУ) необходимо задать начальные приближения для всех переменных, входящих в систему. В MathCad решение СНУ требует использования вычислительного блока, начало которого отмечается ключевым словом Given. Для записи СНУ вместо ввода традиционного знака равно (=) вставляется жирный знак равенства – оператор отношения, расположенный на палитре «Логические». Если по условию задачи существуют ограничения на поиск решения, то они задаются в виде неравенств (например: a<x<b). Решение СНУ находится с помощью функции Find(x,y,z), где x, y, z – список переменных.
-
Пусть требуется решить систему нелинейных уравнений
при начальных условиях: x0=1; y0=1; z0=1
MathCad позволяет решать СНУ не только в скалярной, но и в матричной форме. В этом случае начальные значения и ограничения должны задаваться в виде векторов.
-
Пример решения СНУ в матричной форме путем обращения матрицы коэффициентов:
Пример решения СНУ с использованием функции Find:
Если СНУ не имеет точного решения, то вместо функции Find следует использовать функцию Minner, поскольку в этом случае функция Find указывает на ошибку, функция Minner находит минимум невязки, и возвращает значение аргумента, соответствующее минимальному расхождению между заданным значением y и y(x).
3.5.2.3. Средства MathCad для решения систем линейных уравнений
В пакете MathCad системы линейных уравнений (СЛУ) решаются аналогично системам нелинейных уравнений, то есть с использованием вычислительного блока Given и функции Find или Minerr.
Однако в том случае, когда система линейных уравнений невырожденная, то есть ее определитель отличен от нуля, более изящным (хотя и не самым эффективным с точки зрения вычислительной математики) является матричный способ решения. Для этого в начале задается матрица коэффициентов системы и вектор свободных членов, а решение находится путем умножения столбца свободных членов b на матрицу, обратную a.
В современных версиях MathCad сразу после задания матриц коэффициентов и свободных членов решение может быть получено с помощью функцией lsolve:
3.5.2.4. Средства MathCad для приближенного описания функций
На практике часто возникает задача замены последовательности данных, полученных в ходе эксперимента, приближенной функцией, которую можно использовать в дальнейших расчетах. Такая функция называется аппроксимирующей. Для этой цели в MathCad имеются встроенные функции двух видов: позволяющие увидеть аналитическую зависимость, то есть возвращающие набор аппроксимирующих коэффициентов и не позволяющие увидеть аналитическую зависимость, а позволяющие получить только значения функции в промежуточных точках.
Если аппроксимирующая кривая должна проходить через все экспериментальные точки, то операция получения промежуточных точек и расчетной функции называется интерполяцией. В MathCad имеется несколько функций интерполяции, различающихся способом «соединения» точек (прямой линией или различными кривыми).
Пусть значения функции, полученные в ходе эксперимента, представлены в виде:
-
X
1.2
1.4
1.6
1.8
2.0
y(x)
-0.085
-0.462
0.128
3.546
2.654
Выполним линейную интерполяцию данных (экспериментальные точки соединяются отрезками прямой) с использованием функции linterp(x, y, t), где x – вектор значений аргументов, y – вектор значений функции и t – текущее значение аргумента, при котором вычисляется значение функции.
Теперь, используя те же экспериментальные данные, применим кубическую сплайн-интерполяцию, при которой экспериментальные точки соединяются отрезками кубических полиномов. Для этого одновременно используются две функции: interp(s,x,y,t) и cspline(x,y), где x – вектор значений аргументов, y – вектор значений функции, s – вектор вторых производных, создаваемый функцией cspline, t – аргумент интерполирующей функции.
Следующий пример иллюстрирует интерполяцию таблично заданной функции по методу Лагранжа.
Если аппроксимирующая кривая, заменяющая исходную функцию, не обязательно должна проходить через все экспериментальные точки, а служит усреднением исходных данных, то операция получения промежуточных точек и расчетной функции называется регрессией. В приведенном ниже примере рассмотрено использование функции linfit(x,y,f), где x, y - соответственно вектора значений аргументов и функции, а f – символьный вектор коэффициентов аппроксимации методом наименьших квадратов. Использование этой функции позволяет определить невязку (среднеквадратическую погрешность) приближения исходных точек к аппроксимирующей функции ( ). Степень аппроксимирующего многочлена задается при описании символьного вектора f. Вектор s – является вектором коэффициентов аппроксимирующей функции, что позволяет получить приближенное выражение таблично заданной функции. В примере представлена аппроксимация таблично заданной функции многочленом 1-й и 2-й степени.
-
Линейная аппроксимация
Квадратичная аппроксимация
Графики функций
Оценка погрешности - среднеквадратическое отклонение