Система уравнений
Здравствуйте. Помогите правильно записать уравнение в программу:
Ввожу через given, но программа пишет что переменная не определена.
Вложения
| systema.rar (4.4 Кб, 24 просмотров) |
Лучшие ответы ( 1 )
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Система уравнений
Прошу проверить правильность решения.
Система уравнений
Всем привет. Помогите пожалуйста правильно записать в Matcad систему уравнений для вычисления.
Система уравнений
Ссылка на картинку. Не могу никак подружиться с этой адской машиной. как найти решение? .
Система уравнений
Маткадом пользуюсь впервые, хотелось бы грамотно составить систему уравнений и решить её. Известны.
566 / 541 / 80
Регистрация: 29.10.2010
Сообщений: 638

Сообщение было отмечено Nightly_7 как решение
Решение
1. В Mathcad Prime нет ключевого слова Given. Система уравнений вводится в блок решения. Блок решения вставляем через панель инструментов.
2. Функция Find в Mathcad Prime не работает с символьным выводом. она предназначена только для нахождения численного решения. Поэтому в начале блока решения нужно задавать начальные приближения для неизвестных.
3. При записи системы следует использовать оператор «жирное равно».
4. Если нужно аналитическое решение — для этого есть команда solve.
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь
система уравнений
такая проблема — маткад не считает систему уравнений. как я понимаю, ему не нравится одно из.
Система уравнений
Есть система уравнений нужен график и еще есть какое-то дополнительное условие
система уравнений
не могу понять как закончить систему уравнений. Помогите разобраться
Система уравнений
Как решить вот такую систему уравнений есть пример ришения другого варианта как решить мой Мой.
Система уравнений.
Помогите пожалуйста! Для нахождения проекций скорости движения точки на оси X и Y (vx, vy) нужно.

Система уравнений
Пожалуйста, помогите решить систему уравнений
Системы уравнений в mathcad prime
Mathcad дает возможность решать также и системы уравнений. Максимальное число уравнений и переменных равно пятидесяти. В первой части этого раздела описаны процедуры решения систем уравнений. В заключительной части приведены примеры и проведено обсуждение некоторых часто встречающихся ошибок. Результатом решения системы будет численное значение искомого корня. Для символьного решения уравнений необходимо использовать блоки символьного решения уравнений. При символьном решении уравнений искомый корень выражается через другие переменные и константы.
Для решения системы уравнений выполните следующее:
- Задайте начальные приближения для всех неизвестных, входящих в систему уравнений. Mathcad решает уравнения при помощи итерационных методов. На основе начального приближения строится последовательность, сходящаяся к искомому решению.
- Напечатайте ключевое слово Given. Оно указывает Mathcad, что далее следует система уравнений. При печати слова Given можно использовать любой шрифт, прописные и строчные буквы. Убедитесь, что при этом Вы не находитесь в текстовой области или параграфе.
- Введите уравнения и неравенства в любом порядке ниже ключевого слова Given. Удостоверьтесь, что между левыми и правыми частями уравнений стоит символ =. Используйте [Ctrl]= для печати символа =. Между левыми и правыми частями неравенств может стоять любой из символов , , и .
- Введите любое выражение, которое включает функцию Find. При печати слова Find можно использовать шрифт любого размера, произвольный стиль, прописные и строчные буквы.
Функция Find возвращает найденное решение следующим образом:
- Если функция Find имеет только один аргумент, то она возвращает решение уравнения, расположенного между ключевым словом Given и функцией Find.
- Если функция Find имеет более одного аргумента, то она возвращает ответ в виде вектора. Например, Find(z1, z2) возвращает вектор, содержащий значения z1 и z2 , являющиеся решением системы уравнений.
Ключевое слово Given, уравнения и неравенства, которые следуют за ним, и какое-либо выражение, содержащее функцию Find, называются блоком решения уравнений.
На Рисунке 5 показан рабочий документ, который использует блок решения уравнений для решения одного уравнения с одним неизвестным. Так как имеется только одно уравнение, то только одно уравнение появляется между ключевым словом Given и формулой, включающей функцию Find. Так как уравнение имеет одно неизвестное, то функция Find имеет только один аргумент. Для решения одного уравнения с одним неизвестным можно также использовать функцию root, как показано ниже:
Рисунок 5: Блок решения уравнений для одного уравнения с одним неизвестным.
Между ключевым словом Given и функцией Find в блоке решения уравнений могут появляться выражения строго определенного типа. Ниже приведен список всех выражений, которые могут быть использованы в блоке решения уравнений. Использование других выражений не допускается. Эти выражения часто называются ограничениями. В таблице, приведенной ниже, через x и y обозначены вещественнозначные скалярные выражения, а через z и w обозначены любые скалярные выражения.
| Условие | Как ввести | Описание |
| w = z | [Ctrl] = | Булево равенство возвращает 1, если операнды равны; иначе 0 |
| x > y | > | Больше чем. |
| x |
Следующие выражения недопустимы внутри блока решения уравнений:
- Ограничения со знаком .
- Дискретный аргумент или выражения, содержащие дискретный аргумент в любой форме.
- Неравенства вида a -15 .
Причиной появления этого сообщения об ошибке может быть следующее:
- Поставленная задача может не иметь решения.
- Для уравнения, которое не имеет вещественных решений, в качестве начального приближения взято вещественное число. Если решение задачи комплексное, то оно не будет найдено, если только в качестве начального приближения не взято также комплексное число. На Рисунке 11 приведен соответствующий пример.
- В процессе поиска решения последовательность приближений попала в точку локального минимума невязки. Метод поиска решения, который используется в Mathcad, не позволяет в этом случае построить следующее приближение, которое бы уменьшало невязку. Для поиска искомого решения пробуйте использовать различные начальные приближения или добавьте ограничения на переменные в виде неравенств, чтобы обойти точку локального минимума.
- В процессе поиска решения получена точка, которая не является точкой локального минимума, но из которой метод минимизации не может определить дальнейшее направление движения. Метод преодоления этой проблемы — такой же, как для точки локального минимума: измените начальное приближение или добавьте ограничения в виде неравенств, чтобы миновать нежелательную точку остановки.
- Возможно, поставленная задача не может быть решена с заданной точностью. Если значение встроенной переменной TOL слишком мало, то Mathcad может достигнуть точки, находящейся достаточно близко к решению задачи, но уравнения и ограничения при этом не будут выполнены с точностью, задаваемой переменной TOL. Попробуйте увеличить значение TOL где-нибудь выше блока решения уравнений.
Что делать, когда имеется слишком мало ограничений
Если количество ограничений меньше, чем количество переменных, Mathcad вообще не может выполнить блок решения уравнений. Mathcad помечает в этом случае функцию Find сообщением об ошибке “слишком мало ограничений”.
Задача, аналогичная той, которая приведена на Рисунке 12, называется недоопределенной. Ограничений в ней меньше, чем переменных. Поэтому ограничения не содержат достаточной информации для поиска решения. Поскольку функция Find имеет пять аргументов, Mathcad определяет, что требуется решить два уравнения с пятью неизвестными. Вообще говоря, такая задача обычно имеет бесконечное число решений.
При использовании блока решения уравнений в Mathcad необходимо задать количество уравнений по крайней мере не меньшее, чем число искомых неизвестных. Если зафиксировать значения некоторых переменных, удастся решить уравнения относительно оставшихся переменных. На Рисунке 13 показано, как, зафиксировав часть переменных, решить недоопределенную задачу из Рисунка 12. Поскольку функция Find содержит только два аргумента, z и w, Mathcad определяет переменные x, y и v как имеющие фиксированные значения 10, 50 и 0 соответственно. Блок решения уравнений становится в этом случае корректно определенным, потому что теперь имеются только две неизвестных, z и w, и два уравнения.
Рисунок 12: Функция Find имеет пять аргументов, поэтому Mathcad определяет, что требуется решить два уравнения с пятью неизвестными.
Рисунок 13: Проблема может быть решена, если уменьшить количество аргументов функции Find.
Исправляем ошибки: Нашли опечатку? Выделите ее мышкой и нажмите Ctrl+Enter
Системы уравнений в mathcad prime
РЕШЕНИЕ УРАВНЕНИЙ И СИСТЕМ УРАВНЕНИЙ
4 Решение уравнений и систем средствами Mathcad
Система Mathcad обладает широкими возможностями численного решения уравнений и систем уравнений.
Функция root, блоки Given…Find, Given…Minerr
В ходе численного решения обычно выделяют два этапа:
- отделение корней – определение интервала нахождения каждого корня или определение приблизительного значения корня. В системе Mathcad наиболее наглядным будет отделение корней уравнения графическим способом;
- уточнение корней – нахождение численного значения корня с указанной точностью.
Точность нахождения корня устанавливается с помощью системной переменной TOL (Convergence Tolerance – Допуск сходимости), которая по умолчанию равна 10 -3 . Чем меньше значение TOL, тем точнее, вообще говоря, находится корень уравнения. Однако оптимальным является TOL = 10 -5 . Переопределить значение TOL можно в окне математических свойств документа Math Options на вкладке Build-In Variables (Встроенные переменные) или присваиванием, например, TOL:=0.0001.
Для решения одного уравнения с одной неизвестной предназначена встроенная функция root, которая в общем виде задается
root(f(x), x, [a, b])
и возвращает значение переменной x, при котором функция f(x) обращается в ноль. Аргументы функции root:
- f(x) – функция левой части уравнения f(x) = 0;
- x – переменная, относительно которой требуется решить уравнение;
- a, b (необязательные) – действительные числа, такие что a -1 слева: A -1 Ax=A -1 b. Учитывая, что A -1 A, вектор-столбец решений системы можно искать в виде
- задается матрица коэффициентов при неизвестных системы A;
- задается столбец свободных членов b;
- вводится формула для нахождения решения системы X:=A -1 b;
- выводится вектор решений системы X=.
Кроме того, пакет Mathcad имеет встроенную функцию
lsolve(A, b),
возвращающую вектор-столбец решений системы линейных алгебраических уравнений. Аргументами функции lsolve являются матрица коэффициентов при неизвестных системы и столбец свободных членов. Порядок решения аналогичен рассмотренному, но вместо формулы X:=A -1 b используется X:=lsolve(A, b).
Реализовать широко известный метод Гаусса решения систем линейных уравнений позволяет встроенная функция rref(M), возвращающая ступенчатый вид матрицы M. Если в качестве аргумента взять расширенную матрицу системы, то в результате применения rref получится матрица, на диагонали которой – единицы, а последний столбец представляет собой столбец решений системы.
Решение системы линейных уравнений можно осуществить с помощью блоков Given…Find, Given…Minerr. При этом неизвестным системы задается произвольное начальное приближение, а проверка необязательна.
Порядок выполнения лабораторной работы
- Загрузить Mathcad Start / All Programs / Mathsoft Apps / Mathcad (Пуск / Все программы / Mathsoft Apps / Mathcad).
- Сохранить в личной папке на диске z:\ новый документ с именем ФИО1, лучше использовать латинские буквы. Производить сохранение регулярно в процессе работы (Ctrl + S).
- Вставить текстовую область Insert / Text Region (Вставка / Область текста) и ввести в поле документа текст:
Лабораторная работа № 4
Решение уравнений и систем в Mathcad.
- В новой текстовой области ввести фамилию, имя, отчество, учебный шифр и номер варианта.
- Выполнить задание 1.
Задание 1. Решить уравнение .
Решение.
Решение данного уравнения будем проводить в два этапа: отделение корней уравнения графически, уточнение корней уравнения.
Определим функцию f(x), равную левой части данного уравнения, когда правая равна нулю:
Зададим ранжированную переменную x на некотором диапазоне с мелким шагом, например:
Вставим в документ графическую область. Для этого выберем дважды пиктограмму с изображением графика сначала на панели Math (Математика), затем на палитре графиков Graph или выполним из главного меню последовательность команд Insert / Graph / X-Y Plot (Вставка / График / X-Y Зависимость).
Снизу по оси абсцисс наберем x, а сбоку по оси ординат введем f(x).
Для появления графика щелкнем левой клавишей мыши вне графической области.
Отформатируем график функции f(x). Для этого щелкнем правой клавишей мыши в области графика и выберем в контекстном меню команду Format (Формат). Установим пересечение осей графика (Crossed – Только оси), добавим вспомогательные линии по координатным осям (Grid Lines – Вспомогательные линии). Отменим при этом автосетку (Autogrid – Автосетка) и установим количество линий сетки, равное 10.
Для подтверждения внесенных изменений нажмем последовательно кнопки Apply (Применить) и ОК.
После указанных преобразований график функции f(x) будет выглядеть следующим образом:
Из графика функции f(x) видно, что уравнение имеет три корня, которые приблизительно равны: x1 ≈ -1; x2 ≈ 1; x3 ≈ 2,5.
Этап отделения корней завершен.
Уточним теперь корни уравнения с помощью функции root.
Присвоим начальное приближение переменной x и укажем точность поиска корня:
Уточним заданное приближение к значению корня с помощью функции root:
Выполним проверку, подтверждающую, что первый корень найден с заявленной точностью:
Начальное приближение можно не задавать при использовании в качестве аргументов root границ отрезка нахождения корня, например, второй корень можно уточнить:
Задание 2. Решить уравнение .
Решение.
Напечатаем левую часть уравнения, не приравнивая выражение к 0, и выделим синим курсором переменную x:
Выберем из главного меню Symbolics / Polynomial Coefficients (Символика / Коэффициенты полинома). Появившийся вектор коэффициентов полинома выделим целиком синим курсором и вырежем в буфер обмена, используя кнопку Вырезать на панели инструментов Formatting (Форматирование) или комбинацию клавиш Ctrl + X.
Напечатаем v := и вставим вектор из буфера обмена, используя кнопку Вставить на панели инструментов или комбинацию клавиш Ctrl + V.
Для получения результата напечатаем polyroots(v) =:
Задание 3. Решить систему линейных уравнений Сделать проверку.
Решение.
1-й способ. Использование блока Given … Find.
Зададим всем неизвестным, входящим в систему уравнений, произвольные начальные приближения, например:
Напечатаем слово Given. Установим визир ниже и наберем уравнения системы, каждое в своем блоке. Используем при этом логический знак равенства (Ctrl + =).
После ввода уравнений системы напечатаем X := Find(x, y, z) и получим решение системы в виде вектора, состоящего из трех элементов:
Сделаем проверку, подставив полученные значения неизвестных в уравнения системы, например, следующим образом
После набора знака «=» в каждой строке должен быть получен результат, равный или приблизительно равный правой части системы. В данном примере системная переменная ORIGIN = 1.
2-й способ. Использование блока Given…Minerr.
Порядок решения системы этим способом аналогичен порядку использования блока Given … Find и представлен ниже вместе с проверкой:
3-й способ. Решение системы линейных уравнений матричным способом.
Создадим матрицу А, состоящую из коэффициентов при неизвестных системы. Для этого напечатаем A := , вызовем окно создания массивов (Ctrl + M). Число строк (Rows) и столбцов (Columns) матрицы данной системы равно 3. Заполним пустые места шаблона матрицы коэффициентами при неизвестных системы, как показано ниже:
Зададим вектор b свободных членов системы. Сначала напечатаем b :=, затем вставим шаблон матрицы(Ctrl + M), где количество строк (Rows) равно 3, а количество столбцов (Columns) равно 1. Заполним его:
Решим систему матричным способом по формуле
Решим систему с помощью функции lsolve:
Для проверки правильности решения системы, полученного матричным способом, достаточно вычислить произведение A·X, которое должно совпасть с вектором-столбцом свободных членов b:
Системы уравнений в mathcad prime
Уравнение и системы уравнений в математическом пакете Mathcad в символьном виде решаются с использованием специального оператора символьного решения solve в сочетании со знаком символьного равенства, который может быть также введен с рабочей панели “Символика”. Например:
Аналогичные действия при решении уравнений в Mathcad можно выполнить, используя меню “Символика”. Для этого необходимо записать вычисляемое выражение. Затем выделить переменную, относительно которой решается уравнение, войти в меню Символика, Переменная, Разрешить. Например:
В случае, если необходимо упростить полученный результат, используется знак равенства [=]. Например:
При решении некоторых уравнений, результат включает большое количество символов. Mathcad сохраняет его в буфере, а на дисплей выводитcя сообщение: “This array has more elements than can be displayed at one time. Try using the “submatrix” function” – “Этот массив содержит больше элементов, чем может быть отображено одновременно. Попытайтесь использовать функцию “submatrix””. В этом случае рекомендуется использовать численное решение. Или, в случае необходимости, символьное решение может быть выведено и отображено на дисплее.
Символьное решение может быть получено с использованием блока given … find. В этом случае при записи уравнения для связи его левой и правой части использует символ логического равенства “=” с панели инструментов Boolean, например:
Аналогичным способом решаются системы уравнений в символьном виде. Ниже приводятся примеры решения систем уравнений в символьном виде различными способами. При использовании оператора символьного решения solve в сочетании со знаком символьного равенства система уравнений должна быть задана в виде вектора, который вводится вместо левого маркера оператора solve, а перечень переменных, относительно которых решается система, вместо правого маркера. Например:
Пример использования блока given…find для решения системы уравнений:
Как решить уравнение mathcad prime
Для решения уравнений в Mathcad можно воспользоваться двумя способами:
Использование метода Given — Find:
Это наиболее распространенный способ решения обычных алгебраических уравнений. Он достаточно прост. В рабочем поле записываем слово Given. Это служебное слово. Оно подключает определенные программные модули mathcad для обработки исходных данных, необходимых для решения уравнения численными методами.
Затем указывается начальное приближение для искомой переменной. Это нужно для увеличения скорости и точности решения уравнения. Если начальное приближение не задать, то mathcad по умолчанию примет его равным нулю
Рис. 1. Ввод данных в поле mathcad
Далее вводится уравнение. Его можно записать в явном или неявном виде. Само уравнение набирается с клавиатуры вручную с использованием панели Calculator. Из этой панели можно взять основные математические операции: дроби, тригонометрию, факториалы и прочее. Уравнение нужно записывать с использованием логического символа «ровно». На панели Boolean он выделен жирным шрифтом (см. рис. 2)
Рис. 2. Панели Boolean и Calculator
После уравнения вводится функция Find(x) (где х — переменная). Это функция, которая возвращает результат. Значение функции Find(x) можно присвоить какой-либо переменной с помощью символа «:=» и использовать ее далее в расчетах
Для получения результата, после Find(x) следует поставить символ «→» либо «=» из панели Evaluation (см. рис. 3). Причем, если вы используете символ «→«, то mathcad определит все корни уравнения и сформирует матрицу результатов. Но если вы используете символ «=«, то mathcad выведет единственный корень, который был наиболее близок к начальному приближению. Так что, если вы не знаете сколько корней имеет уравнение, то лучше использовать стрелочку
Рис. 3. Панель «Evaluation»
В зависимости от сложности уравнения через определенное время MathCad выведет результат. На рис.4 можно рассмотреть синтаксис и различие результатов выводимых mathcad. Обратите внимание, что выводимые результаты одного и того же уравнения различны
Рис. 4. Результат численного решения уравнения
Mathcad позволяет решать уравния в символьном виде. Например, если мы заменим все числовые константы на неизвестные параметры и решим уравнение относительно x, то результат выведется в символьном виде (см. рис. 5). Причем, обратите внимание, что в данном случае нам не нужно вводить начальное приближение и мы должны использовать символ «→» для вывода результата
Рис. 5. Результат символьного решения уравнения
Использование метода Solve:
Этот метод отличается от выше рассмотренного синтаксисом. На свободном поле вводим уравнение с использованием логического символа «ровно» из панели Boolean. После ввода уравнения, не смещая курсор ввода, на панели Symbolic нажимаем кнопку solve (см. рис. 6)
Рис. 6. Панель Symbolic
Затем ставим запятую и вводим переменную, относительно которой нужно решить уравнение (в нашем случае это x). Нажимаем Enter на клавиатуре и смотрим результат (см. рис. 7)
Рис. 7. Результат решения уравнения методом Solve
Обратите внимание, что метод подходит как для численного так и для символьного представления результатов
Как показывает моя личная инженерная практика, иногда не удается решить уравнения с помощью Given — Find, но получается в Solve. При этом, к сожалению, метод Solve не очень удобен для далнейшего использования результатов решения уравнения
Donec eget ex magna. Interdum et malesuada fames ac ante ipsum primis in faucibus. Pellentesque venenatis dolor imperdiet dolor mattis sagittis. Praesent rutrum sem diam, vitae egestas enim auctor sit amet. Pellentesque leo mauris, consectetur id ipsum sit amet, fergiat. Pellentesque in mi eu massa lacinia malesuada et a elit. Donec urna ex, lacinia in purus ac, pretium pulvinar mauris. Curabitur sapien risus, commodo eget turpis at, elementum convallis elit. Pellentesque enim turpis, hendrerit tristique.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis dapibus rutrum facilisis. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Etiam tristique libero eu nibh porttitor fermentum. Nullam venenatis erat id vehicula viverra. Nunc ultrices eros ut ultricies condimentum. Mauris risus lacus, blandit sit amet venenatis non, bibendum vitae dolor. Nunc lorem mauris, fringilla in aliquam at, euismod in lectus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. In non lorem sit amet elit placerat maximus. Pellentesque aliquam maximus risus, vel venenatis mauris vehicula hendrerit.
Interdum et malesuada fames ac ante ipsum primis in faucibus. Pellentesque venenatis dolor imperdiet dolor mattis sagittis. Praesent rutrum sem diam, vitae egestas enim auctor sit amet. Pellentesque leo mauris, consectetur id ipsum sit amet, fersapien risus, commodo eget turpis at, elementum convallis elit. Pellentesque enim turpis, hendrerit tristique lorem ipsum dolor.
Как решить уравнение mathcad prime
РЕШЕНИЕ УРАВНЕНИЙ И СИСТЕМ УРАВНЕНИЙ
4 Решение уравнений и систем средствами Mathcad
Система Mathcad обладает широкими возможностями численного решения уравнений и систем уравнений.
Функция root, блоки Given…Find, Given…Minerr
В ходе численного решения обычно выделяют два этапа:
- отделение корней – определение интервала нахождения каждого корня или определение приблизительного значения корня. В системе Mathcad наиболее наглядным будет отделение корней уравнения графическим способом;
- уточнение корней – нахождение численного значения корня с указанной точностью.
Точность нахождения корня устанавливается с помощью системной переменной TOL (Convergence Tolerance – Допуск сходимости), которая по умолчанию равна 10 -3 . Чем меньше значение TOL, тем точнее, вообще говоря, находится корень уравнения. Однако оптимальным является TOL = 10 -5 . Переопределить значение TOL можно в окне математических свойств документа Math Options на вкладке Build-In Variables (Встроенные переменные) или присваиванием, например, TOL:=0.0001.
Для решения одного уравнения с одной неизвестной предназначена встроенная функция root, которая в общем виде задается
root(f(x), x, [a, b])
и возвращает значение переменной x, при котором функция f(x) обращается в ноль. Аргументы функции root:
- f(x) – функция левой части уравнения f(x) = 0;
- x – переменная, относительно которой требуется решить уравнение;
- a, b (необязательные) – действительные числа, такие что a -1 слева: A -1 Ax=A -1 b. Учитывая, что A -1 A, вектор-столбец решений системы можно искать в виде
- задается матрица коэффициентов при неизвестных системы A;
- задается столбец свободных членов b;
- вводится формула для нахождения решения системы X:=A -1 b;
- выводится вектор решений системы X=.
Кроме того, пакет Mathcad имеет встроенную функцию
lsolve(A, b),
возвращающую вектор-столбец решений системы линейных алгебраических уравнений. Аргументами функции lsolve являются матрица коэффициентов при неизвестных системы и столбец свободных членов. Порядок решения аналогичен рассмотренному, но вместо формулы X:=A -1 b используется X:=lsolve(A, b).
Реализовать широко известный метод Гаусса решения систем линейных уравнений позволяет встроенная функция rref(M), возвращающая ступенчатый вид матрицы M. Если в качестве аргумента взять расширенную матрицу системы, то в результате применения rref получится матрица, на диагонали которой – единицы, а последний столбец представляет собой столбец решений системы.
Решение системы линейных уравнений можно осуществить с помощью блоков Given…Find, Given…Minerr. При этом неизвестным системы задается произвольное начальное приближение, а проверка необязательна.
Порядок выполнения лабораторной работы
- Загрузить Mathcad Start / All Programs / Mathsoft Apps / Mathcad (Пуск / Все программы / Mathsoft Apps / Mathcad).
- Сохранить в личной папке на диске z:\ новый документ с именем ФИО1, лучше использовать латинские буквы. Производить сохранение регулярно в процессе работы (Ctrl + S).
- Вставить текстовую область Insert / Text Region (Вставка / Область текста) и ввести в поле документа текст:
Лабораторная работа № 4
Решение уравнений и систем в Mathcad.
- В новой текстовой области ввести фамилию, имя, отчество, учебный шифр и номер варианта.
- Выполнить задание 1.
Задание 1. Решить уравнение .
Решение.
Решение данного уравнения будем проводить в два этапа: отделение корней уравнения графически, уточнение корней уравнения.
Определим функцию f(x), равную левой части данного уравнения, когда правая равна нулю:
Зададим ранжированную переменную x на некотором диапазоне с мелким шагом, например:
Вставим в документ графическую область. Для этого выберем дважды пиктограмму с изображением графика сначала на панели Math (Математика), затем на палитре графиков Graph или выполним из главного меню последовательность команд Insert / Graph / X-Y Plot (Вставка / График / X-Y Зависимость).
Снизу по оси абсцисс наберем x, а сбоку по оси ординат введем f(x).
Для появления графика щелкнем левой клавишей мыши вне графической области.
Отформатируем график функции f(x). Для этого щелкнем правой клавишей мыши в области графика и выберем в контекстном меню команду Format (Формат). Установим пересечение осей графика (Crossed – Только оси), добавим вспомогательные линии по координатным осям (Grid Lines – Вспомогательные линии). Отменим при этом автосетку (Autogrid – Автосетка) и установим количество линий сетки, равное 10.
Для подтверждения внесенных изменений нажмем последовательно кнопки Apply (Применить) и ОК.
После указанных преобразований график функции f(x) будет выглядеть следующим образом:
Из графика функции f(x) видно, что уравнение имеет три корня, которые приблизительно равны: x1 ≈ -1; x2 ≈ 1; x3 ≈ 2,5.
Этап отделения корней завершен.
Уточним теперь корни уравнения с помощью функции root.
Присвоим начальное приближение переменной x и укажем точность поиска корня:
Уточним заданное приближение к значению корня с помощью функции root:
Выполним проверку, подтверждающую, что первый корень найден с заявленной точностью:
Начальное приближение можно не задавать при использовании в качестве аргументов root границ отрезка нахождения корня, например, второй корень можно уточнить:
Задание 2. Решить уравнение .
Решение.
Напечатаем левую часть уравнения, не приравнивая выражение к 0, и выделим синим курсором переменную x:
Выберем из главного меню Symbolics / Polynomial Coefficients (Символика / Коэффициенты полинома). Появившийся вектор коэффициентов полинома выделим целиком синим курсором и вырежем в буфер обмена, используя кнопку Вырезать на панели инструментов Formatting (Форматирование) или комбинацию клавиш Ctrl + X.
Напечатаем v := и вставим вектор из буфера обмена, используя кнопку Вставить на панели инструментов или комбинацию клавиш Ctrl + V.
Для получения результата напечатаем polyroots(v) =:
Задание 3. Решить систему линейных уравнений Сделать проверку.
Решение.
1-й способ. Использование блока Given … Find.
Зададим всем неизвестным, входящим в систему уравнений, произвольные начальные приближения, например:
Напечатаем слово Given. Установим визир ниже и наберем уравнения системы, каждое в своем блоке. Используем при этом логический знак равенства (Ctrl + =).
После ввода уравнений системы напечатаем X := Find(x, y, z) и получим решение системы в виде вектора, состоящего из трех элементов:
Сделаем проверку, подставив полученные значения неизвестных в уравнения системы, например, следующим образом
После набора знака «=» в каждой строке должен быть получен результат, равный или приблизительно равный правой части системы. В данном примере системная переменная ORIGIN = 1.
2-й способ. Использование блока Given…Minerr.
Порядок решения системы этим способом аналогичен порядку использования блока Given … Find и представлен ниже вместе с проверкой:
3-й способ. Решение системы линейных уравнений матричным способом.
Создадим матрицу А, состоящую из коэффициентов при неизвестных системы. Для этого напечатаем A := , вызовем окно создания массивов (Ctrl + M). Число строк (Rows) и столбцов (Columns) матрицы данной системы равно 3. Заполним пустые места шаблона матрицы коэффициентами при неизвестных системы, как показано ниже:
Зададим вектор b свободных членов системы. Сначала напечатаем b :=, затем вставим шаблон матрицы(Ctrl + M), где количество строк (Rows) равно 3, а количество столбцов (Columns) равно 1. Заполним его:
Решим систему матричным способом по формуле
Решим систему с помощью функции lsolve:
Для проверки правильности решения системы, полученного матричным способом, достаточно вычислить произведение A·X, которое должно совпасть с вектором-столбцом свободных членов b:
Как решить уравнение mathcad prime
Уравнение и системы уравнений в математическом пакете Mathcad в символьном виде решаются с использованием специального оператора символьного решения solve в сочетании со знаком символьного равенства, который может быть также введен с рабочей панели “Символика”. Например:
Аналогичные действия при решении уравнений в Mathcad можно выполнить, используя меню “Символика”. Для этого необходимо записать вычисляемое выражение. Затем выделить переменную, относительно которой решается уравнение, войти в меню Символика, Переменная, Разрешить. Например:
В случае, если необходимо упростить полученный результат, используется знак равенства [=]. Например:
При решении некоторых уравнений, результат включает большое количество символов. Mathcad сохраняет его в буфере, а на дисплей выводитcя сообщение: “This array has more elements than can be displayed at one time. Try using the “submatrix” function” – “Этот массив содержит больше элементов, чем может быть отображено одновременно. Попытайтесь использовать функцию “submatrix””. В этом случае рекомендуется использовать численное решение. Или, в случае необходимости, символьное решение может быть выведено и отображено на дисплее.
Символьное решение может быть получено с использованием блока given … find. В этом случае при записи уравнения для связи его левой и правой части использует символ логического равенства “=” с панели инструментов Boolean, например:
Аналогичным способом решаются системы уравнений в символьном виде. Ниже приводятся примеры решения систем уравнений в символьном виде различными способами. При использовании оператора символьного решения solve в сочетании со знаком символьного равенства система уравнений должна быть задана в виде вектора, который вводится вместо левого маркера оператора solve, а перечень переменных, относительно которых решается система, вместо правого маркера. Например:
Пример использования блока given…find для решения системы уравнений:
Как в mathcad prime решить систему уравнений
Одна из задач ЭВМ — автоматизация труда, повышение эффективности научных исследований. Основная особенность ЭВМ — ориентация на применение пользователями, не владеющими языками программирования. Такой подход позволяет преодолевать языковой барьер, отделяющий человека от машины. С этой целью разрабатываются пакеты прикладных программ, рассчитанные на широкие круги специалистов. К подобным пакетам относится MATHCAD.
MATHCAD — универсальный математический пакет, предназначенный для выполнения инженерных и научных расчетов. Основное преимущество пакета — естественный математический язык, на котором формируются решаемые задачи.
Объединение текстового редактора с возможностью использования общепринятого математического языка позволяет пользователю получить готовый итоговый документ. Пакет обладает широкими графическими возможностями, расширяемыми от версии к версии. Практическое применение пакета существенно повышает эффективность интеллектуального труда.
Цель работы: изучение выполнения основных операций с массивами, решения систем линейных и нелинейных уравнений в Mathcad.
1. Ранжированные переменные
В математике часто возникает необходимость в задании некоторого ряда значений. Например, при вычислении
Name:=Nbegin…Nend,
Где Name – имя переменной, Nbegin – начальное значение переменной, Nend – ее конечное значение. Символ «…» (он вводится с клавиатуры знаком точка с запятой «;») указывает на изменение переменной в заданных границах. Если Nbegin то шаг изменения переменной будет равен +1, в противном случае –1. Например, выражение a:=1…10 описывает ранжированную переменную a со значениями от 1 до 10.
Для создания ранжированной переменной общего вида используется выражение
Name:=Nbegin, (Nbegin+Step)…Nend,
где Step— заданный шаг изменения переменной (он должен быть положительным, если Nbegin и отрицательным в противном случае).
Например, выражение a:=1, 1.5, …10 описывает ранжированную переменную a со значениями от 1 до 10 с шагом 0,5.
Ранжированные переменные широко применяются для представления функций в виде таблиц вывода, а также для построения их графиков.
Если после некоторого выражения с ранжированной переменной поставить знак равенства, то после щелчка мышью на экране будет выведена таблица значений этого выражения. Такие таблицы называются таблицами вывода.
Необходимо учитывать следующее свойство таблиц вывода: если количество значений ранжированной переменной и, соответственно, строк в таблице вывода больше 16, то выводятся первые 16 строк. Если указатель мыши находится в пределах таблицы, то щелчок левой кнопкой мыши приводит к появлению вертикальной полосы прокрутки, позволяющей просмотреть все строки таблицы.
Помните, что задание ранжированных переменных эквивалентно заданию конечных циклов.
Примеры использования ранжированных переменных приведены на рисунке 1.1.
Рис. 1.1. Примеры использования ранжированных переменных
2. Работа с массивами
Ранжированная переменная отличается от вектора (одномерного массива) тем, что невозможно использование ее отдельных значений. При необходимости иметь доступ к каждому значению переменной со многими компонентами она должна быть задана в виде одномерного (вектора) и двумерного (матрицы) массива.
Местоположение элемента массива задается одним индексом для вектора и двумя для матрицы. Индексы могут быть только положительными целыми числами. Для ввода индекса используется знак « [ » – прямая открывающая скобка.
Для задания массивов можно либо воспользоваться командой Matrices меню Math, либо нажать комбинацию клавиш Ctrl+V, либо щелкнуть на значке с изображением шаблона матрицы. Любое из этих действий вызывает появление диалогового окна, в котором надо указать количество строк m и столбцов n в массиве. При m=1 получим вектор-столбец, а при n=1 – вектор-строку.
В отношении массивов действуют те же правила присваивания и вывода, что и для обычных переменных. В частности, с помощью оператора присваивания можно создать массив заданного размера и заданного типа без ручного заполнения шаблона (рисунок 2.1.).
Рис. 2.1 Пример создания матриц без использования шаблонов матриц
Для работы с массивами Mathcad содержит ряд операторов и функций. Ниже представлены операторы для работы с векторами и матрицами. В таблице используются следующие обозначения: V – для векторов, M – для матриц, Z – для скалярных величин.
7. РЕШЕНИЕ УРАВНЕНИЙ В СРЕДЕ MATHCAD
Требуется решить данное уравнение или систему уравнений, т.е. найти те значения х, в которых уравнения превращаются в верное равенство.
Отыскание корней численными методами связано с несколькими задачами:
Ø Исследование существования корней в принципе, определение их количества и примерного расположения;
Ø Отыскание корней с заданной погрешностью
Всевозможные функции MathCAD нацелены на решение второй задачи, т.е. предполагается, что корни уже приблизительно локализированы. Выбор встроенных функций для решения уравнений и систем уравнений осуществляется в зависимости от специфики уравнения.
Решение одного уравнения с одним неизвестным
Рассмотрим алгебраическое уравнение f(x)=0 с одним неизвестным х, например, sin(x)=0.
Для решения таких уравнений MathCAD имеет встроенную функцию root, которая, в зависимости от типа задачи, может включать либо два, либо четыре аргумента и, соответственно, работает несколько по-разному.
Мнемоника команды выглядит следующим образом:
root (f(x), x) или root (f(x), x, a, b),
где f(х) – скалярная функция, определяющая уравнение; х – скалярная переменная, относительно которой решается уравнение; а, b – границы интервала, внутри которого происходит поиск корня.
Первый тип функции root требует дополнительного задания начального значе
ния переменной х. Для этого нужно просто предварительно присвоить х некоторое число. Поиск корня будет производиться вблизи этого числа. Таким образом, присвоение начального значения требует априорной информации о примерной локализации корня.
Приведем пример решения очень простого уравнения sin(x)=0, корни которого известны заранее (рис. 38).
Обратите внимание, что, хотя уравнение имеет бесконечное количество корней MathCAD находит (с заданной точностью) только один из них, х0, лежащий наиболее близко к х = 0,5. Если задать другое начальное значение, например х = 3, то решением будет другой корень уравнения х1 = π и т.д. Таким образом, для поиска корня средствами MathCAD требуется его предварительная локализация. Это связано с особенностями выбранного численного метода, который называется методом секущих.
Если уравнение неразрешимо, то при попытке найти его корень будет выдано сообщение об ошибке. Кроме того, к ошибке или выдаче неправильного корня может привести и попытка применить метод секущих в область локального экстремума. В этом случае секущая может иметь направление, близкое к горизонтальному, выводя точку следующего приближения далеко от предполагаемого корня. Для решения таких уравнений лучше применять функцию Minerr.
Рис. 7.1. Функция Minerr
Примечание: Для решения уравнения с одним неизвестным применимы и градиентные методы, относящиеся в MathCAD к системам уравнений.
Иногда удобнее задавать не начальное приближение к корню, а интервал [а, b], внутри которого корень заведомо находится. В этом случае следует использовать функцию root с четырьмя аргументами, а присваивать начальное значение х не нуж
но. Поиск корня будет осуществлен в промежутке между а и b альтернативным численным методом (Риддера или Брента). Явный вид функции f(x) может быть определен непосредственно в теле функции root (рис. 39).
Когда root имеет четыре аргумента, следует помнить о двух ее особенностях:
Ø внутри интервала [а, b] не должно находиться более одного корня, иначе будет найден один из них, заранее неизвестно, какой именно;
Ø значения f(а) и f(b) должны иметь разный знак, иначе будет выдано сообщение об ошибке.
Если уравнение не имеет действительных корней, но имеет мнимые, то их также можно найти. Например, уравнение х 2 +1=0, имеющее два чисто мнимых корня, решается два раза с разными начальными значениями (рис. 40).
При задании начального значения 0,5 численный метод отыскивает первый корень (отрицательную мнимую единицу –i), а при начальном значении –0,5 находится и второй корень i.
Для решения этого уравнения второй вид функции root (с четырьмя, а не с двумя аргументами) неприменим, поскольку f(х) является положительно определенной, и указать интервал, на границах которого она имела бы разный знак, невозможно.
Нахождение корней полинома
Если функция f(x) является полиномом, то все его корни можно определить, использую встроенную функцию polyroots(v), где v – вектор, составленный из коэффициентов полинома.
Поскольку полином n-й степени имеет ровно n корней (некоторые из них могут быть кратными), вектор v должен состоять из n+1 элемента. Результатом действия функции polyroots является вектор, составленный из n корней рассматриваемого полинома. При этом нет надобности вводить какое-либо начальное приближение, как для функции root.
Например, найдем корни полинома четвертой степени f(x)=х 4 -6х 3 +12х 2 -10х+3 с
помощью функции polyroots (рис. 41).
Рис. 7.2. Функция Polyroots
Запишем коэффициенты рассматриваемого в примере полинома в виде вектора. Первым в векторе должен идти свободный член полинома, вторым – коэффициент при х 1 и т.д. Соответственно, последним n+1 элементом вектора должен быть коэффициент при старшей степени x N .
Совет: Иногда исходный полином имеется не в развернутом виде, а, например, как произведение нескольких полиномов. В этом случае определить все его коэффициенты можно, выделив его и выбрав в меню Symbolics (Символика) пункт Expand (Разложить). В результате символьный процессор MathCAD сам преобразует полином в нужную форму, пользователю надо будет только корректно ввести ее в аргументы функции polyroots.
Далее показано действие функции polyroots. Обратите внимание, что численный метод вместо двух из трех действительных единичных корней (иными словами, кратного корня 1) выдает два мнимых числа. Однако малая мнимая часть этих корней находится в пределах погрешности, определяемой константой TOL, и не должна вводить пользователей в заблуждение. Просто нужно помнить, что корни полинома могут быть комплексными, и ошибка вычислений может сказываться как на действительной, так и на комплексной части искомого корня.
Для функции polyroots можно выбрать один из двух численных методов – метод полиномов Лаггера (он установлен по умолчанию) или метод парной матрицы.
Решение системы линейных алгебраических уравнений
Рассмотрим систему уравнений вида
В матричной форме СЛАУ записывается в эквивалентном виде:
где А – матрица коэффициентов СЛАУ размерности n×n; x – вектор неизвестных; В – вектор правых частей уравнений.

СЛАУ имеет единственное решение, если матрица А является невырожденной, т. е. ее определитель не равен нулю. С вычислительной точки зрения, решение СЛАУ не представляет трудностей, если матрица А не очень велика.
В MathCAD СЛАУ можно решить как в более наглядной форме (1), так и в более удобной для записи форме (2). Для первого способа следует использовать вычислительный блок Given/Find, а для второго – встроенную функцию решения системы линейных уравнений lsolve. Мнемоника написания команды следующая:
где А – матрица коэффициентов системы; В – вектор правых частей.
Применение функции lsolve показано на рис. 42.
В некоторых случаях, для большей наглядности представления СЛАУ, его можно решить точно так же, как систему нелинейных уравнений. Не забывайте, что при численном решении всем неизвестным требуется присвоить начальные значения (это сделано в первой строке листинга) (рис. 43). Они могут быть произвольными, так как решение СЛАУ с невырожденной матрицей единственно.
Решение системы нелинейных уравнений
Рис. 7.4. Решение системы
Рассмотрим решение системы N нелинейных уравнений с m неизвестными
Здесь fi(x1, … , xm) – некоторые скалярные функции от скалярных переменных x1, x2, …, хm и, возможно, от еще каких-либо переменных. Уравнений может быть как больше, так и меньше числа переменных. Заметим, что систему можно формально переписать в виде f(x)=0, где х – вектор, составленный из переменных x1, x2, …, хm; f(x) – соответствующая векторная функция.
Для решения систем имеется специальный вычислительный блок, состоящий из трех частей, идущих последовательно друг за другом:
1) Given – ключевое слово;
2) Система, записанная логическими операторами в виде равенств и, возможно, неравенств;
3) Find (х1, …, хm) – встроенная функция для решения системы относительно переменных х1, …, хm.
Вставлять логические операторы следует, пользуясь панелью инструментов Boolean (Булевы операторы). Если вы предпочитаете ввод с клавиатуры помните, что логический знак равенства вводится сочетанием клавиш + . Блок Given/Find используется для поиска решения итерационные методы, поэтому, как и для функции root, требуется задать начальные значения для всех х1, …, хm. Сделать это необходимо до ключевого слова Given. Значение функции Find есть вектор, составленный из решения по каждой переменной. Таким образом, число элементов вектора
Find равно числу аргументов.

В листинге (рис 44) приведен пример решения системы двух уравнений.
В первой строке листинга переменным х и у, относительно которых она будет решаться, присваиваются начальные значения. После этого следует ключевое слово Given и два логических оператора, выражающих рассматриваемую систему уравнений. Завершает вычислительный блок функция Find, содержащая вектор решения. Первый элемент вектора есть первый аргумент функции Find, второй элемент – ее второй аргумент.
Совет: Часто бывает очень полезно проверить точность решения уравнений, вычислив значения образующих их функций в найденных вычислительным процессором корнях.
Рис. 7.6. Точность
В листинге найдено только одно из двух решений – находящееся в правой нижней части графика (рис. 45). Чтобы отыскать и второе решение, следует повторить вычисления, изменив начальные значения так, чтоб они лежали ближе к другой точке пересечения графиков, например, х=–1, y=–1.
Пока мы рассмотрели пример системы из двух уравнений и таким же числом
неизвестных, что встречается наиболее часто. Но число уравнений и неизвестных может и не совпадать. Более того, в вычислительный блок можно добавить дополнительные условия в виде неравенств. Например, введение ограничения на поиск только отрицательных значений х (рис. 46).
Рис. 7.7. Ограничение на поиск
Обратите внимание, что, несмотря на те же начальные значения, что и в предыдущем листинге мы получили другой корень. Это произошло именно благодаря введению дополнительного неравенства, которое определено в блоке Given в предпоследней строке.
Если предпринять попытку решить несовместную систему, MathCAD выдаст сообщение об ошибке, гласящее, что ни одного решения не найдено, и предложение попробовать поменять начальные значения или значение погрешности.
Примечание: Вычислительный блок использует константу CTOL в качестве погрешности выполнения уравнений, введенных после ключевого слова Given. Другая константа TOL определяет условие прекращения итераций численным алгоритмом. Значение CTOL может быть задано пользователем, так же как и TOL, например, CTOL:=0,01. По умолчанию принято, что CTOL=TOL=0,001, но по желанию можно переопределить их.
Рис. 7.8. Переопределение
Вычислительным блоком с функцией Find можно найти и корень уравнения с одним неизвестным. Действие Find в этом случае совершенно аналогично уже рас
смотренным в данном разделе примерам. Задача поиска корня рассматривается как решение системы, состоящей из одного уравнения. Единственным отличием будет скалярный, а не векторный тип числа возвращаемого функцией Find (рис 47).
Символьное решение уравнений
Некоторые уравнения можно решить точно с помощью символьного процессора MathCAD. Делается это очень похоже на численное решение уравнений с применением вычислительного блока. Присваивать неизвестным начальные значения нет необходимости. Рассмотрим листинги символьного решение уравнения с одним неизвестным и системы двух уравнений с двумя неизвестными.
Как видно, вместо знака равенства после функции Find в листингах (рис. 48) следует знак символьных вычислений, который можно ввести с панели Symbolic, или, нажав клавиши +<.>.

Рис. 7.9. Пример вычисления
Не забывайте, что сами уравнения должны иметь вид логических выражений, т.е. знаки равенства нужно вводить с помощью панели Booleans (Булевы операторы). Обратите внимание, что во втором листинге вычислены как два первых действительных корня, которые мы уже находили численным методом, так и два других мнимых корня. Эти два последних корня чисто мнимые, так как множитель
Срочно?
Закажи у профессионала, через форму заявки
8 (800) 100-77-13 с 7.00 до 22.00
Как в mathcad prime решить систему уравнений
БлогNot. MathCAD: решаем основные типы дифференциальных уравнений встроенными функциями
MathCAD: решаем основные типы дифференциальных уравнений встроенными функциями
Решать дифференциальные уравнения (далее ДУ) в MathCAD, составляя собственные подпрограммы-функции не всегда удобно и экономично по времени, хотя и полезно на этапе обучения. Опишем в этой заметке способы решения основных типов ДУ с помощью стандартных средств пакета, ограничимся простыми примерами.
1. ДУ с разделяющимися переменными. Общая постановка задачи: y’=f(x,y)=g(x)*h(y) , y(x0)=y0 . То есть, f(x,y) допускает представление в виде произведения функций от x и от y .
Для решения уравнения достаточно задать его правую часть как пользовательскую функцию MathCAD, определить интервал поиска решения [x0,x1] , начальное условие y0 и применить стандартную функцию Odesolve . Покажем этот процесс на примере уравнения y’=2x-y+x 2 , x∈[0,2] , y(0)=0 с известным решением y(x)=x 2 :

Решение дифференциальных уравнений с разделяющимися переменными
Знак «равно» в записи уравнений, конечно же, жирный (панель Boolean или сочетание клавиш Ctrl+=).
Функция Odesolve вернула именно функцию y , её нужно смотреть от аргумента, например, y(1)= .
И ещё 2 особенности:
Зная точное решение, графически сравним с ним найденное решение. Как видно на графике, MathCAD справился с задачей отлично.

Графики полученного и точного решения совпадают
2. Неоднородное ДУ первого порядка. В общем виде такое уравнение можно записать как y’=a(x)*y+b(x) . Оно решается аналитически по формуле, которую можно найти в любой книге по решению обыкновенных ДУ:

Формула для решения неоднородного ДУ первого порядка
Здесь С – константа интегрирования. Остаётся применить формулу к конкретному уравнению (возьмём для примера задачу y’+2xy=x*e -x 2 sin(x) , y(0)=1 ) и оценить её символьно:

Аналитическое решение неоднородного ДУ первого порядка в MathCAD
Здесь мы получаем решение в общем виде. Нижний оператор оценён символьно (см. панель «Символика»), а аргумент t используется, так как x в документе «уже занят» (для корректной работы символьной оценки переменные не должны быть определены заранее).
После подстановки начального условия получим частное решение y(t,Y0) , а для проверки решения будет достаточно подставить полученную функцию в исходное уравнение и упростить его символьной функцией simplify . Полученный результат в нашем случае совпал с заданной в условии правой частью. Также для y(x,Y0) , как и для любой функции, можно построить график на нужном интервале изменения x.

Проверка решения неоднородного ДУ первого порядка и построение графика
3. Неоднородное ДУ второго порядка. В общем виде имеем уравнение y» + p(x)*y’ + g(x)*y = f(x) плюс набор краевых условий, количество которых соответствует порядку задачи, например y(0)=. y'(0)=. или y(0)=. y(1)=.
Возьмём уравнение, которое мы мучили вот здесь, решим его стандартными средствами, сравним с известным точным решением и построим график:

Решение неоднородного ДУ второго порядка в MathCAD
Здесь при вызове Odesolve второй параметр, равный единице — это правая граница интервала, третий параметр, равный 10, задаёт количество интервалов. Точное решение u(t) взяли по ссылке. Как видим, даже на 10 интервалах всё очень хорошо совпадает.
4. Система ДУ. Подход к решению системы ДУ покажем на примере. Пусть задана система дифференциальных уравнений
x’ = a*x — y — (x 2 + y 2 )*x,
y’ = a*y + x — (x 2 + y 2 )*y,
x(0)=0, y(0)=1, a=-0.2
Чтобы решить эту систему стандартной функцией rkfixed , нужно задать для неё вектор начальных значений x = (x0, y0) и вектор правых частей D(t,x) .
После этого задача решится вызовом rkfixed , второй и третий параметры ( 0, 20 ) задают интервал по времени t , на котором ищется решение, четвёртый параметр 100 означает количество точек на интервале.
Функция вернёт матрицу решений системы, в которой количество строк соответствует количеству точек на интервале, а количество столбцов — количеству уравнений в системе.
Для построения графика достаточно отобразить зависимость столбцов Zi,1 , Zi,2 от Zi,0 , i=0..99 :

Решение системы ДУ в MathCAD функцией rkfixed
Solve mathcad: Решение уравнений и систем уравнений в Mathcad
Уравнение и системы уравнений в математическом пакете Mathcad в символьном виде решаются с использованием специального оператора символьного решения solve в сочетании со знаком символьного равенства, который может быть также введен с рабочей панели “Символика”. Например:
Аналогичные действия при решении уравнений в Mathcad можно выполнить, используя меню “Символика”. Для этого необходимо записать вычисляемое выражение. Затем выделить переменную, относительно которой решается уравнение, войти в меню Символика, Переменная, Разрешить. Например:
В случае, если необходимо упростить полученный результат, используется знак равенства [=]. Например:

При решении некоторых уравнений, результат включает большое количество символов. Mathcad сохраняет его в буфере, а на дисплей выводитcя сообщение: “ This array has more elements than can be displayed at one time. Try using the “submatrix” function” – “Этот массив содержит больше элементов, чем может быть отображено одновременно. Попытайтесь использовать функцию “submatrix””. В этом случае рекомендуется использовать численное решение. Или, в случае необходимости, символьное решение может быть выведено и отображено на дисплее.
Символьное решение может быть получено с использованием блока given … find. В этом случае при записи уравнения для связи его левой и правой части использует символ логического равенства “=” с панели инструментов Boolean, например:
Аналогичным способом решаются системы уравнений в символьном виде. Ниже приводятся примеры решения систем уравнений в символьном виде различными способами. При использовании оператора символьного решения
Пример использования блока given…find для решения системы уравнений:
Иллюстрированный самоучитель по MathCAD 7 › Работа с символьным процессором › Решение уравнения относительно заданной переменной (Solve) [страница — 138] | Самоучители по математическим пакетам
Решение уравнения относительно заданной переменной (Solve)
Если задано некоторое выражение F(x) и отмечена переменная х, то операция Solve (Решить) возвращает символьные значения указанной переменной х, при которых F(x)==0. Это очень удобно для решения алгебраических уравнений, например квадратных и кубических, или для вычисления корней полинома. Рис. 8.13 содержит примеры решения квадратного уравнения и нахождения комплексных корней полинома четвертой степени.
Рис. 8.13. Примеры решения уравнений

Ранее отмечалось, что усложнение уравнения, например переход от квадратного уравнения к кубическому, может вызвать и существенное усложнение результата. Тогда система представляет решение в более компактном виде (но без общепринятой математической символики) и предлагает занести его в буфер обмена.
С помощью операции Paste (Вставить) в позиции Edit (Правка) главного меню можно перенести решение в основное окно системы, но оно имеет уже тип текстового комментария, а не математического выражения, пригодного для дальнейших преобразований. Впрочем, часть его можно (опять-таки с помощью буфера обмена) ввести в формульные блоки для последующих преобразований и вычислений.
Более того, форма представления результата в таком случае отличается от принятой в системе MathCAD (например, в качестве знака деления используется косая черта, для возведения в степень – составной знак
Рис. 8.14. Решение кубического уравнения в символьном виде
Последний пример наглядно иллюстрирует проблему «разбухания» результатов. Если при решении квадратного уравнения получены простые выражения, известные даже школьникам (рис. 8.13 – первый пример), то при увеличении порядка уравнения всего на единицу результат оказался представленным весьма громоздкими и малопригодными для анализа формулами. Хорошо еще, что существующими!
В случаях, подобных приведенному, пользователю надо реально оценить свои силы в упрощении решения. Это придется сделать вручную. При технических расчетах специалист нередко знает, какие из параметров решения несущественны и может отбросить их. Однако для строгих математических расчетов это не всегда возможно, поэтому даже громоздкий результат может быть весьма полезным с познавательной точки зрения.
mathcad — Translation into Russian — examples English
These examples may contain rude words based on your search.
These examples may contain colloquial words based on your search.

Here for a comparison outcomes of a package MathCad.
Вот для сравнения результаты пакета MathCad.
The idea of calculation is very easy and the same with Mathcad.
Mathcad достаточно удобно использовать для обучения, вычислений и инженерных расчетов.
The company became most famous for its Mathcad software, a powerful application for solving and visualizing mathematical problems.

Компания стала знаменитой благодаря разработке программы Mathcad, мощного приложения для решения и визуализации математических задач.
Mathsoft Engineering & Education continued to develop and sell its flagship Mathcad product as well as the Mathcad Calculation Server, an enterprise server for sharing technical calculations.
MathCAD — это просто! Часть 17. Снова символьные вычисления

Уже третью статью подряд мы с вами будем заниматься символьными вычислениями. Среда MathCAD, как вы сами уже имели возможность убедиться, имеет очень гибкие и мощные средства организации подобного рода вычислений. И вычисления эти в математике бывают важны и используются очень часто — именно поэтому мы с вами говорим о них столь подробно. Сегодня мы познакомимся с некоторыми новыми аспектами организации символьных вычислений в MathCAD’е, которые наверняка пригодятся вам при последующей работе с этой мощной математической средой.
Разложение на дроби
![]()
Мы уже говорили с вами о работе с дробями — точнее, о приведении суммы нескольких маленьких дробей к одной, но большой дроби. Теперь пришло время поговорить о процессе, диаметрально противоположном этому — о разложении одной дроби на сумму нескольких. Для решения этой задачи в MathCAD’е есть специальный оператор, который называется parfrac (от английского partial fraction — частные дроби). Использование этого оператора чрезвычайно простое, как, впрочем, и всех остальных операторов, которые можно найти на панели Symbolic. Достаточно, записав дробь, которую вы хотите разложить на сумму простых, затем выбрать на этой панели кнопку parfrac и указать имя переменной, для которой будет проводиться разложение. Когда вы добавите оператор parfrac, то перед ним автоматически добавится и оператор convert. Можете попробовать использовать их раздельно — уже на первой же дроби вы сможете собственноручно убедиться, что ничего ни хорошего, ни плохого из этого не выйдет — MathCAD просто не приемлет эти два оператора по отдельности.
Тот же самый результат, не используя оператор parfrac, можно получить, выбрав в меню Symbolics пункт Variable, а в нем — Convert to Partial Fraction. В этом случае, правда, если что-то нужно будет изменить в исходном выражении, операцию придется повторить, поэтому лучше все же использовать оператор parfrac.
Оператор collect

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

В общем-то, конечно, кто-то может сказать (и будет, пожалуй, прав), что поиск и вынесение за скобки общего множителя — не самая трудоемкая задача, а потому особой нужды в том, чтобы напрягать для ее решения MathCAD, пожалуй, что и нет. Однако на самом деле гибкость оператора collect позволяет проводить поиск даже самых замысловатых общих множителей, что вручную все-таки бывает не всегда удобно. Способ применения оператора collect действительно предельно прост. Мы, как обычно, записываем выражение, которое нужно преобразовать, а затем ищем на привычной уже нам панели Symbolic нужный нам оператор. После запятой в качестве параметра указывается имя переменной, которую мы будем выносить за скобки. Можно указывать не отдельную переменную, а какую-то функцию либо выражение — например, синус или логарифм. Правда, вынесение общих множителей реализовано довольно своеобразно — программа работает только с одной степенью переменной. То есть, если у вас будет запись вида x2+x, то она останется неизменной после применения оператора collect по переменной x.
Коэффициенты многочленов

Иногда бывает полезно вынести коэффициенты многочлена в специальный столбец для того, чтобы потом ими оперировать. Конечно, для большинства распространенных задач полиномы не превышают третьей степени, и сделать это не так уж и сложно вручную. Однако зачем выполнять вручную то, что можно сделать одним оператором? Я думаю, вы согласитесь с тем, что это будет не слишком рациональным использованием времени, а потому имеет смысл применить оператор coeffs для того, чтобы получить готовый столбец коэффициентов. В общем-то, я думаю, вы уже догадались, как применять этот оператор. Нужно записать многочлен, а затем воспользоваться панелью Symbolic (еще раз напомню, что название оператора, который нужно в данном случае использовать, coeffs). Обращу ваше внимание на то, что столбец записывается снизу вверх от высших степеней многочлена к высшим. Также, конечно же, можно использовать именованные функции или другие выражения, которые возведены в различные степени.
Ограничения на переменные в вычислениях
Иногда при использовании символьных вычислений есть необходимость выставить определенные ограничения в вычислениях, которые могут коренным образом упростить итоговое выражение. Действительно, весьма и весьма часто при решении прикладных задач по условиям этих самых задач на переменные накладываются определенные ограничения — например, очень часто переменные можно считать неотрицательными или даже строго больше нуля. Как рассказать MathCAD’у, что переменные ограничены определенным диапазоном значений? Естественно, для этого в этом мощном математическом пакете существует специальный оператор. И имя ему — assume. Оператор assume используется вместе с остальными операторами (особенно часто в сочетании с оператором simplify). Я уже рассказывал в прошлый раз о том, как изменяется внешний вид операторов символьных вычислений в MathCAD, а потому это не должно стать для вас сюрпризом.В качестве ограничений, накладываемых на переменные, могут выступать не только минимальное и максимальное значения этой самой переменной.
Для того, чтобы увидеть полный список всех возможных ограничений, нажмите на панели Symbolic кнопку Modifiers. Она, в отличие от большинства других кнопок на этой панели, не добавляет никаких новых операторов в рабочий лист MathCAD, а всего лишь показывает или прячет панель с модификаторами (modifiers) — эта панель как раз и пригодится нам для выставления различных ограничений на переменные при упрощении выражений и других символьных операциях.Как видите, модификаторов в панели не так уж много, а потому мы поговорим о каждом из них. Первый — это, как вы можете заметить, уже довольно неплохо знакомый нам с вами assume. Не буду повторяться — о его использовании я рассказывал всего парой абзацев выше. Второй по счету модификатор — это real. Поскольку MathCAD может оперировать и комплексными числами (об этой полезной возможности мы с вами еще обязательно поговорим), то местами в подобных вычислениях полезно наложить на переменную ограничение и определить ее как действительную. RealRange — третий по счету модификатор на панели Modifiers — это двустороннее ограничение на действительную переменную на определенном отрезке (то есть, обратите внимание, концы этого отрезка также попадут в область значений нашей переменной).
Четвертый модификатор имеет название trig, и он обозначает переменную как тригонометрическую величину. Этот модификатор используется по сравнению с остальными совсем не часто, поскольку при работе с тригонометрическими функциями все же предпочтительнее использовать их общепринятые обозначения, которые, будучи совсем не длинными, сильно упрощают чтение проекта и уменьшают вероятность в нем запутаться. Последний модификатор, который можно найти на панели, — это модификатор integer. Он используется для задания целочисленных переменных. Используются модификаторы для указания выражений в операторе assume. То есть, например, если мы хотим указать при вычислении какого-либо символьного выражения, что переменная n у нас будет целочисленной, то мы должны записать после оператора assume следующее: n = integer. Совершенно аналогично и для всех остальных модификаторов, которые были описаны выше. Кстати, при преобразовании выражений наподобие того, что приведено на иллюстрации чуть выше, совершенно не обязательно использовать assume вместе с simplify.
Если вы уберете оператор simplify, то сможете сами убедиться в том, что без него выражение будет вычислено ничуть не хуже. Правда, если пойти дальше и убрать еще и assume, оставив при этом n = integer, то MathCAD выдаст ошибку с сообщением о неверном синтаксисе команды.
Оператор float

Напоследок мы с вами поговорим о еще одном весьма полезном операторе, который, будучи оператором символьных вычислений, используется для получения конкретного результата в виде числа. Оператор float используется тогда, когда нужно получить результат символьных вычислений не в виде формулы, а в виде числа. Вполне понятно, что применять его можно исключительно в тех случаях, когда все числа в выражении заданы не в общем виде (т.е. не какими-то именованными константами), а конкретными значениями. В противном случае MathCAD ошибки не выдаст, однако использование оператора float будет напрочь лишено смысла. Для того, чтобы проиллюстрировать использование этого оператора, обратимся к примеру кубического уравнения, который рассматривался в предыдущей части нашей серии статей по MathCAD’у. Решения кубических уравнений в виде формул занимают очень много места и отличаются громоздкостью, а потому их целесообразно упрощать с помощью оператора float. Можете сравнить формульные результаты, полученные нами в прошлый раз, с тем, как они записываются с помощью этого оператора: разница, как говорится, налицо.
Думаю, синтаксис использования этого оператора вполне понятен из примера: в качестве первого параметра (до оператора) — выражение, которое нужно вычислить (в приведенном примере его, конечно, лучше опускать, потому что иначе это приводит, как показано на иллюстрации, к дублированию результата), а в качестве второго (после оператора) — точность, т.е. количество значимых цифр после запятой, остающихся после вычислений. Что ж, пока что, я так думаю, хватит на этот раз — нехорошо было бы перегружать вас, уважаемые читатели, информацией, тем более, что тема символьных вычислений в MathCAD’е явно не относится к тем, которые можно обсуждать практически бесконечно за чашкой чая или кофе. Я думаю, что те операторы, которые мы сегодня рассмотрели, наверняка пригодятся вам в повседневных буднях вычислений в MathCAD’е, и вы еще не раз будете добрым словом поминать разработчиков этого всесторонне замечательного математического пакета, предусмотревших для вас все эти возможности.
Компьютерная газета. Статья была опубликована в номере 30 за 2008 год в рубрике soft
Решение в MathCAD
float
Численное вычисление
complex
Комплексное вычисление
assume
Символьное вычисление с некоторыми предположениями
solve
Решение уравнения (системы уравнений) относительно переменной (переменных)
