Как в mathcad задать систему уравнений
• Введите уравнение с использованием логического оператора равенства. Вставьте оператор аналитического преобразования, введите ключевое слово solve fully в местозаполнитель и нажмите клавишу ВВОД или щелкните любое другое место.
Если ввести ключевое слово solve вместо solve fully , возвращенное решение может быть частичным, только в числовом формате или в математическом выражении без сведений о домене. При вводе ключевого слова solve fully возвращаются все решения, в том числе уточнение домена и условия для переменных формулы. Например:


PTC Mathcad возвращает аналитические решения уравнения, если это возможно. В противном случае возвращаются численные решения. Если решаемое уравнение имеет несколько решений, PTC Mathcad возвращает решения в виде вектора за исключением случая периодического решения.
• Чтобы решить уравнение, правая часть которого равна нулю, требуется ввести только левую часть уравнения.

• Если уравнение содержит несколько переменных, укажите после ключевого слова solve разделенный запятыми список переменных, относительно которых решается уравнение.

• Если уравнение содержит числа с десятичной точкой, ключевое слово solve возвращает ответ как десятичное число.

• Чтобы решить уравнение с учетом ограничения области определения переменной (например, решить уравнение для вещественных чисел), используйте ключевое слово assume и модификатор с ключевым словом solve .

• Если уравнение имеет периодическое решение, ключевое слово solve возвращает одно значение из набора решений.

Чтобы увидеть более подробное решение, добавьте модификатор fully после ключевого слова solve .

• PTC Mathcad возвращает решение, выраженное через созданную новую переменную, которая представляет произвольное целое число. Имя созданной переменной начинается с символа подчеркивания во избежание конфликтов с другими переменными, которые пользователь мог определить в другом месте документа.
• Чтобы решить систему уравнений символьно, можно создать вектор-столбец с каждым элементом, содержащим одно уравнение в системе. Затем выполните решение с помощью оператора символьных данных, указав вектор-столбец или разделенный запятыми список системных переменных после ключевого слова solve .
◦ Чтобы решить неравенство, используйте оператор >, <, ≤ или ≥ вместо оператора =.
◦ Чтобы ограничить решение диапазоном, можно включить уравнения ограничения, например y > 0, в вектор-столбец.
◦ При решении систем уравнений, неравенств или периодических уравнений можно получить некоторые результаты, которые не имеют смысла при численном решении.
◦ Можно находить корни численно с помощью функции root , решать линейные системы численно с помощью функции lsolve либо решать линейные и нелинейные системы с помощью блока решения.
Урок 24. Решение уравнений в Mathcad – использование функций

Решение уравнений является важным для решения практических задач. Поэтому уделим уравнениям еще один урок. Блок решения в функции Если Вы хотите исследовать изобразить на графике поведение уравнения в зависимости от значения определенного параметра, Вам, возможно, придется решить систему уравнений много раз. Вы можете сделать это, используя блок решения в функции. Покажем на примере: предположим, мы хотим исследовать поведение решения следующего уравнения в зависимости от различных значения параметра A: 
Блоку решения не нужно ни значение параметра, ни начальное приближение, поскольку решение есть функция этих двух значений. Эти значения мы будем задавать при вызове функции. Функцию можно использовать сколько угодно раз:
Использовать функцию можно с диапазоном переменных:
Такая техника решения не самая надежная. Если хотя бы одно решение не может быть найдено, Вы не получите и решений для других параметров (это произойдет, если задать A<0.7). Поэтому лучше заранее проверить свою функцию. Сообщения об ошибке можно избежать, написав маленькую программу:
Если блок решения выдает сообщение об ошибке, на выходе получим значение NaN (Not a Number – «Не Число»), которое просто не отображается на графике:
Построим две ветки уравнения с использованием этого приема:
Когда переменных много Расчеты часто содержат несколько переменных, но Вам, возможно, придется использовать лишь некоторые из них. В качестве примера рассмотрим систему восьми уравнений, где нам нужно получить только значения X и Y. Начальные приближения следует задать для всех переменных:
Решение представляет собой вектор из восьми элементов, но нам нужны лишь элементы с индексами 0 и 1. Минимизация ошибкиFind() – не единственный решатель в Mathcad. Еще один полезным решателем является Minnerr(), находящий решения, которые минимизируют ошибку в системе уравнений. Рассмотрим пример: есть набор данных, которые мы хотим аппроксимировать уравнением Бейтмена:
Мы хотим подобрать три константы в уравнении Бейтмена таким образом, чтобы ошибка приближения была минимальна. У нас есть семь уравнений (по одной для каждого эксперимента) и три константы, так что в системе избыток данных. Minerr() может обработать эту проблему:
Замечания:
- Три константы являются переменными для этой системы.
- Переменные не могут иметь счетных индексов.
- У параметров (t и c) могут быть счетные индексы.
Возможно, Вам хотелось бы использовать цикл for для семи уравнений, но в блоке решений этого сделать нельзя.
Для полностью определенных систем (с одинаковым числом независимых уравнений и неизвестных) функция Minerr() дает тот же ответ, что и Find().
Резюме
В этом уроке мы определили способы расширенного использования блоков решения:
- Вы можете определить вывод блока решения как функцию. Таким образом в блок решения можно передавать параметры и начальные приближения.
- Если при вычислении точек для графика хотя бы одно решение не будет найдено, то график не будет построен. Этой ошибки можно избежать, написав небольшую программу с использованием “try/on error”, которая выводит NaN (Not a Number – Не Число), если результат отсутствует.
- Для двух и более неизвестных (и уравнений) вывод блока решения является вектором. Если нужен один или два элемента этого вектора, их можно вывести, используя подстрочные индексы.
- Вместо функции Find() можно использовать Minerr() – она минимизирует ошибку для заданного набора ограничений, в том числе, если данные избыточны. Minerr() часто может дать приближенный результат, когда Find() выдает ошибку.
