Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пособие-ВвМППП-Заоч-MathCad.doc
Скачиваний:
8
Добавлен:
11.02.2023
Размер:
872.45 Кб
Скачать

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-й степени.

Линейная аппроксимация

Квадратичная аппроксимация

Графики функций

Оценка погрешности - среднеквадратическое отклонение