Система MATHCAD: Методические указания к лабораторным работам по курсу «Информатика», страница 6

Для нахождения неизвестных используется встроенная функция lsolve(A,B), где А – расширенная матрица, В – вектор свободных членов.

6.2 Решение нелинейных уравнений

Решение нелинейного уравнения заключается в нахождении множества корней этого уравнения. Для решения используется функция root(f(x),x), где f(x) – функция, равная нулю, а x – начальное значение аргумента. Аргумент x может быть задан и как дискретная переменная, тогда поиск корней будет производиться в указанном диапазоне и в качестве ответа будет получен вектор значений корней. Стоит отметить, что при этом корни в полученном векторе могут повторяться.

Для нахождения корней полинома, то есть выражения вида y(x)=∑(ai∙xi), используется функция polyroots(K). Переменная K является вектором коэффициентов при аргументе. Формирование вектора рассмотрим на примере.

Пусть задан полином вида y(x)=2+3∙x2-2.5∙x4. Если в полиноме отразить аргумент с пропущенными степенями, то получим выражение вида y(x)=2∙x0+0∙x1+3∙x2-0∙x3+2.5∙x4. На основании данного выражения и формируется вектор K, который будет содержать элементы (2;0;3;0;2.5).

6.3 Решение систем нелинейных уравнений

Для решения системы нелинейных уравнений используется блок Given. После записи данной команды необходимо записать исходные уравнения. При этом в качестве знака равенства используется знак логического равно «   », который расположен на математической панели Boolean(см. рис. 1). Количество уравнений должно равняться числу неизвестных.

Для нахождения самих корней используются две функции:

1) Find(x1, x2,…, xn) – вычисляет значение одной или нескольких переменных; используется, когда существует точное решение;

2) Minerr(x1, x2,…, xn) –вычисляет значение одной или нескольких переменных; используется, когда существует приблизительное решение с минимальной среднеквадратичной погрешностью.

В рамках блока Given наряду с уравнениями можно задавать ограничения в виде неравенств, если это требуется по условиям задачи.

Для решения уравнений требуется также перед командой Given задать начальные приближения искомых величин.

6.4 Решение дифференциальных уравнений

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

Для решения дифференциальных уравнений выполняется следующая последовательность команд:

1) команда Given;

2) дифференциальное уравнение или система дифференциальных уравнений;

3) начальные или граничные условия;

4) функция, с помощью которой находится решение

одного дифференциального уравнения

Odesolve (x,k,n), где x – имя переменной, относительно которой решается уравнение; k – конец интервала интегрирования; n – число шагов интегрирования (необязательный параметр).

системы дифференциальных уравнений

Odesolve (V,x,k,n), где V – вектор имен неизвестных.

Дифференциальные уравнения можно записывать как с использованием оператора дифференцирования, так и со штрихом. Граничные условия следует записывать только со штрихом. Для ввода штриха используется сочетание клавиш Ctrl+F7. В качестве знака равенства при записи уравнений и условий используется знак логического равно «   ».

7 ОБРАБОТКА ЭКСПЕРИМЕНТАЛЬНЫХ ДАННЫХ

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

Рассмотрим поочередно каждый из видов обработки опытных данных.

7.1 Интерполяция

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

Линейная интерполяция