Как сделать систему линейных уравнений в маткаде
Система 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 дает возможность решать также и системы уравнений. Максимальное число уравнений и переменных равно пятидесяти. В первой части этого раздела описаны процедуры решения систем уравнений. В заключительной части приведены примеры и проведено обсуждение некоторых часто встречающихся ошибок. Результатом решения системы будет численное значение искомого корня. Для символьного решения уравнений необходимо использовать блоки символьного решения уравнений. При символьном решении уравнений искомый корень выражается через другие переменные и константы.
Для решения системы уравнений выполните следующее:
- Задайте начальные приближения для всех неизвестных, входящих в систему уравнений. 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 — это просто! Часть 4. Системы линейных алгебраических уравнений
Итак, мы с вами продолжаем изучать MathCAD — самую дружелюбную к пользователю математическую среду из существующих в настоящее время. Пока мы занимались тем, что изучали способы решения уравнений — трансцендентных и алгебраических, и теперь вы знаете, как их решать с помощью MathCAD’а в общем виде или численно. Как вы могли убедиться из материала третьей части, численное решение уравнений — не такая простая задача, как может показаться с первого взгляда, однако и не такая сложная, если построить график уравнения. Но просто уравнения — это, согласитесь, довольно скучно, потому что в жизни, как правило, уравнения по одиночке не встречаются. Поэтому сегодня мы перейдем к более сложной, а значит, и более интересной, теме — попробуем решать системы уравнений. Я сказал «попробуем»? Простите, пожалуйста — я, наверное, оговорился. Конечно, не попробуем, а научимся — потому что благодаря MathCAD’у можно быть уверенным в том, что подобные попытки увенчаются успехом. Готовы? Ну что же, тогда вперед.
Решение систем с помощью функции lsolve
Системы уравнений многие просто-таки ненавидят еще со школы — прямо как русскую литературу. Что ж, школа может привить отвращение ко многим вещам, которые без нее могли бы оказаться гораздо более интересными. Как и любая обязаловка, она убивает романтику изучения чего-то нового. Но теперь, когда вас никто не заставляет изучать решение систем уравнений, вы можете взглянуть на них с совершенно новой для себя стороны. И поможет в этом, конечно же, MathCAD.
Для обозначения систем линейных алгебраических уравнений у математиков есть своя аббревиатура — СЛАУ. Ее используют намного чаще, чем полное название, что, в общем-то, вполне естественно — эта аббревиатура и произносима легко, и не перекрывается с другими математическими аббревиатурами. Так что и мы с вами тоже будем ее применять. СЛАУ называется система уравнений следующего вида:
k11x1 + k12x2 + … + k1nxn + l1 = 0
k12x1 + k22x2 + … + k2nxn + l2 = 0
…
kn1x1 + kn2x2 + … + knnxn + ln = 0
Здесь kij и li — какие-то числовые константы, называемые, соответственно, коэффициентами и свободными членами уравнений, а xj — переменные. Такие уравнения обычно записывают также с помощью матриц:
KX + L = 0
Здесь K — матрица (kij), составленная из коэффициентов при переменных величинах, где i — номер строки матрицы, а j — номер столбца. X и L — это, соответственно, векторы, составленные из переменных и свободных членов. Собственно, при решении СЛАУ с помощью MathCAD мы будем записывать СЛАУ именно в таком виде, потому что решение СЛАУ в MathCAD реализовано именно с помощью матричных методов. Возможно, вы что-нибудь слышали о методах решения СЛАУ Гаусса и Крамера, но даже если и нет, ничего страшного в этом нет — MathCAD тем и удобен, что с его помощью можно решать уравнения, не задумываясь над тем, каким именно алгоритмом пользуется математическая система при их решении.
Итак, для начала давайте посмотрим, каким именно образом в MathCAD’е нужно задавать матрицы. Для этого на панели инструментов Matrix нажмите кнопку Matrix or Vector, а в появившемся окне задайте количество столбцов и строк в матрице. Мы с вами попробуем решать для начала СЛАУ из четырех уравнений, и, соответственно, нам нужна будет матрица размером четыре на четыре элемента. Только, поскольку мы будем присваивать значение, записанное в этой матрице, переменной, обозначающей матрицу коэффициентов, то сначала лучше записать «K_: а». Функция lsolve сразу выдаст ошибку, но не нужно этого пугаться — нужно просто заменить знак равенства на стрелку (ее можно найти на панели инструментов Symbolic или же записать комбинацией клавиш Ctrl + .). Дело в том, что знак «равно» в MathCAD’е используется для численных вычислений, а стрелка — для символьных, то есть при решении систем уравнений в общем виде нужно применять именно стрелку.
Решение с помощью solve
В общем-то, решать такую систему можно было бы и используя уже знакомый нам с вами оператор solve. Для этого достаточно записать уравнения в виде матрицы, а затем применить к ней оператор solve точно так же, как если бы мы с вами решали не целую систему, а всего лишь одно- единственное уравнение. «Записать уравнения в виде матрицы» в данном случае означает не запись матричного уравнения KX + L = 0, а просто запись в каждой строке одностолбцовой матрицы (т.е. вектор-столбца) одного уравнения из системы. Напомню на всякий случай, что оператор solve находится на панели Symbolic, а для записи знака равенства нужно использовать не просто клавишу » Given» (оно, конечно же, в рабочей области MathCAD’а должно быть записано безо всяких кавычек). После того, как вы записали начальные приближения, слово «Given» и сами уравнения, можно смело воспользоваться функцией find, которая найдет точные значения решений системы. Поскольку в СЛАУ каждая из переменных в итоге будет иметь только одно значение, над подбором максимально точного начального приближения можно особо и не страдать — в конечном итоге в случае СЛАУ оно скорее просто формальность, нежели реальная необходимость, и, как вы сами имели возможность убедиться, есть методы, которые прекрасно решают СЛАУ и без него.
Теперь, когда вы знаете уже столько разных способов решения СЛАУ, вполне логично было бы задаться вопросом: а какой из них лучше при прочих равных условиях? В литературе, как правило, рекомендуется использовать функции lsolve или find, дающие точность до 15 знаков после запятой — однако на самом деле, учитывая тот факт, что такая точность бывает нужна не так уж часто, данным советом можно пренебречь, потому что точность решения системы намного больше зависит от нее самой, нежели от используемого метода ее решения в MathCAD’е. Так что используйте пока что смело тот, который показался вам наиболее удобным, а о погрешностях при решении СЛАУ мы с вами еще поговорим, но только, пожалуй, немного попозже.
Компьютерная газета. Статья была опубликована в номере 16 за 2008 год в рубрике soft
Как сделать систему уравнений в маткаде 15
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
Как сделать систему уравнений в маткаде 15
Уравнение и системы уравнений в математическом пакете 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 для решения системы уравнений:
Как сделать систему уравнений в маткаде 15
РЕШЕНИЕ УРАВНЕНИЙ И СИСТЕМ УРАВНЕНИЙ
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
Open Library — открытая библиотека учебной информации
Открытая библиотека для школьников и студентов. Лекции, конспекты и учебные материалы по всем научным направлениям.
Категории
Информатика Общее описание системы MathCAD
Программные системы в научных исследованиях, использование пакетов математических и инженерных расчетов
Система MathCAD (Mathematical Computer Aided Design)
Система MathCAD (Mathematical Computer Aided Design — Математическое проектирование с помощью ЭВМ) является уникальным программным средством ак с точки зрения простоты управления, так и с точки зрения возможностей выражения в естественной форме алгоритмов вычислительной математики.
Основная идея системы — предоставление пользователю возможности описывать на экране вычисления в форме, очень близкой к общепринятой математической нотации, применяемой при записи математических моделей и алгоритмов численного анализа. К примеру, формулы, представляемые в языках программирования, таких, как Бейсик или Паскаль, с помощью арифметических выражений, записываются на экране MathCAD так, как это нас учат делать в течение нескольких лет в школе. В этом смысле внешне экран MathCAD почти ничем не отличается от обычного листа бумаги, на котором записываются формулы и выкладки, сопровождаемые графиками и текстом. По существу же отличие в том, что формулы на экране MathCADа вычисляются. Причем при внесении изменений результаты и графики автоматически или по команде пользователя пересчитываются. Это как раз и делает MathCAD мощным инструментом в руках инженера и специалиста по прикладной математике, а также уникальным «наглядным пособием» и инструментальным средством для изучения методов и алгоритмов решения различных математических задач. Τᴀᴋᴎᴍ ᴏϬᴩᴀᴈᴏᴍ, достаточно написать формулу на экране вместо того, чтобы вычислять ее на калькуляторе или программировать с помощью алгоритмических языков. Это свойство MathCAD позволяет приступить к исследованию математических моделей технических систем либо алгоритмов численного анализа без затрат времени и энергии на изучение языков программирования, которые являются оправданными только для профессиональных программистов. Еще одним привлекательным качеством системы явлется простота управления построением графиков, которые также автоматически перестраиваются, отражая все изменения определяющих их значений и формул. Система разработана фирмой MathSoft, Inc (Кембридж, штат Массачусетс, США), которая постоянно выпускает ее новые версии. Настоящее пособие подготовлено на базе пакета The Student Edition of MathCAD,
Mathcad — уникальный, мощный способ работать с уравнениями, числами, текстом, и графиками. В отличие от любого другого математического программного обеспечения, Mathcad делает математические вычисления тем же самым способом, каким Вы делаете их. Дело в том, что они выглядят так, как будто они написаны карандашом и реализуются при этом они сверхоперативно. Экранный интерфейс Mathcad — незаполненный рабочий лист, в которой Вы можете вводить уравнения, данные графика или функции, и аннотировать текстом — где-нибудь на странице. И вместо того, чтобы вынуждать Вас к использованию программно-подобного громоздкого синтаксиса, Mathcad позволяет Вам пользоваться изящным языком математики.
На языке программирования, к примеру, уравнения выглядят следующим образом
В электронной таблице, уравнения, вводящие значения в ячейки, выглядят похоже на что — нибудь вроде этого:
В Mathcad, то же самое уравнение выглядит таким, каким Вы увидели бы его в тексте учебника или справочнике:
Единственная разница — в том, что уравнения Mathcad и графики являются живыми (действующими). Измените любые данные, переменную, или уравнение, и Mathcad повторно вычисляет математически и перерисовывает графики немедленно..
С Mathcad Вы можете решать в широких пределах технические проблемы — от простого к самому сложному — численно или символьно. Вы можете также делать видимыми уравнения и данные построением двухмерных и трехмерных графиков. Вы можете даже пояснять вашу работу графиками, взятыми из другого приложения Windows.
Характеристики окна Mathcad
Прежде, чем Вы перейдете к изучению большего количества возможностей Маткада и математическому и текстовому конструированию в ваших собственных Mathcad рабочих листах, рассмотрите прикладное окно Mathcad.
Математическая палитра (math palette)
В случае если Вы позволите вашей » мыши » задержаться над каждой из кнопок на панели по очереди, вы будете видеть подсказку, сообщающую Вам, какую палитру каждая кнопка выводит:
| Arithmetic Palette/ Палитра арифметических расчетов | Vectors and Matrices Palette/Палитра матриц и векторов |
| Evaluation and Boolean Palette/ Палитра вычислений.. | Calculus Palette/Палитра Математического анализа |
| Graphing Palette/Палитра графиков | Programming Palette (Mathcad PLUS only) / Палитра Программирования (Mathcad ПЛЮС) |
| Greek Letters Palette/Палитра Греческого Алфавита |
Щелчок на любой из этих кнопок в панели, выводит связанную с ней палитру операторов, которые Вы можете затем использовать, для вставки математических символов в область которая отмечена визиром (красный крестик в рабочей зоне Mathcad листа.
Панель инструментов(tool bar)
является другой, выпадающей вниз, кнопочной панелью, которая обеспечивает ярлыки для многих общих задач, от открытия рабочего листа и сохранения файла до проверки правильности написания и выдачи списков встроенных функций и единиц. Учитывая зависимость оттого, что вы делаете в вашем рабочем листе, одна или большее количество этих кнопок может оказаться покрытой серой вуалью(будут неактивными). Подсказки для кнопок Инструментов напомнят Вам о функциях каждой из кнопок. Две полезных кнопки:
| Быстрый вызов QuickSheets ™, собрание бланков Mathcad рабочих листов, которые решают много общих математических задач, от составления графика до анализа данных |
| Выдает интерактивную справку. |
. Панель шрифтов ( font bar)
позволяет Вам, выбирать текстовые и математические шрифты, стили посредством щелчка на этой кнопке.
Навигационный регулятор Электронных Книг (Electronic Book)
Появляется всякий раз, когда Вы имеете Mathcad Электронную Книгу открытой, и дает Вам способы просмотра секций Книги, и находит объекты, представляющие интерес. Этот Учебник, который Вы читаете — фактически Mathcad Электронная Книга! Только допустите парение ваше » мыши » над каждой из навигационных кнопок вверху окна, чтобы видеть подсказку, объясняющую, что каждая делает.
В заключение, строка сообщения (message line)
внизу Mathcad окна выдает Вам сигнал тревоги, подсказки, горячую клавиатуру, и другую полезную информацию. Там также перечисляются состояния вычислений в вашем рабочем листе — «авто», здесь означает, что рабочий лист находится в автоматическом режиме, что означает, что Mathcad автоматически повторно вычислит любые математические выражения, если Вы редактируете содержание вашего рабочего листа. Вы можете сказать, когда Mathcad повторно вычисляет, потому что «ОЖИДАНИЕ», появляется на линии сообщения, и курсор изменяется на светящуюся лампочку.
Другая информация, которая появляется на линии сообщения — имеете ли Вы клавиши в активном состоянии как «Заглавные», или «Цифровые» на вашей клавиатуре, а также — номер страницы текущего рабочего листа.
Читайте также
MathCAD интерпретирует все значения, начинающееся цифрой, как числа. В MathCAD можно работать со следующими классами чисел: · обычные вещественные (целые)числа; · комплексные числа, для ввода мнимого числа нужно за его модулем ввести символ мнимой единицы i или j;однако, нельзя. [читать подробенее]
Можливі використання умовного оператора IF Умовний оператор if може використовуватися для реалізації досить складних алгоритмів, що розгалужуються, у тілі операторів циклу. Тому розглянемо різне заповнення полю 1 і полю 3 цього оператора. Варіант 1. У полі 1. [читать подробенее]
Для решения дифференциального уравнения или системы дифференциальных уравнений n-го порядка в MathCad их необходимо привести к системе n дифференциальных уравнений первого порядка вида с начальными условиями Например, дифференциальное уравнение второго порядка . [читать подробенее]
Сравнение методов решения нелинейных уравнений Метод половинного деления очень прост и имеет одно явное преимущество по сравнению со всеми рассмотренными выше методами – он всегда сходится. Однако, скорость сходимости очень мала, поэтому его часто используют для. [читать подробенее]
Mathcad 2000 предлагает новый способ для решения обыкновенных дифференциальных уравнений, разрешенных относительно старшей производной. Для этих целей служит уже известный нам блок given совместно с функцией odesolve. Дифференциальное уравнение совместно с начальными или. [читать подробенее]
Пример 6.1.2-3. Определить значащие цифры числа. Значащими цифрами числа называют все цифры в его записи, начиная с первой ненулевой слева. Значащую цифру числа называют верной, если абсолютная погрешность числа не превосходит единицы разряда, соответствующего этой. [читать подробенее]
Mathcad 2000 представляет ряд дополнительных возможностей для поиска корней уравнений. Функция root(f(var1, var2, . ),var1, [a, b]) имеет теперь два необязательных аргумента a и b, которые определяют границы интервала, на котором следует искать корень. На концах интервала [a,b] функция f должна. [читать подробенее]
Пояснительные записки к эскизному, техническому проектам Ведомость эскизного (технического) проекта Ведомость содержит перечень всех документов, разработанных на соответствующих стадиях создания АС и применяемых из проектов других АС. содержат разделы: . [читать подробенее]
Краткий обзор К категории педагогических можно отнести инструментальные программные средства, основной целевой функцией которых является автоматизация процесса создания электронных учебников, тренажеров, виртуальных лабораторий и других, подобных. [читать подробенее]
Краткий обзор универсального математического процессора Mathсad Для решения задач моделирования процессов и объектов ОМД Стандартные пакеты прикладных программ Загрузка программы производится через основное меню Windows.Отличительной особенностью программы. [читать подробенее]
Как сделать систему в mathcad

Ввод формул
Формулы — основные объекты рабочего листа. Новый объект по умолчанию является формулой. Чтобы начать ввод формулы, надо установить крестообразный курсор в нужное место и начать ввод букв, цифр, знаков операций. При этом создается область формулы, в которой появляется уголковый курсор, охватывающий текущий элемент формулы, например имя переменной (функции) или число. При вводе бинарного оператора по другую сторону знака операции автоматически появляется заполнитель в виде черного прямоугольника. В это место вводят очередной операнд.
Для управления порядком операций используют скобки, которые можно вводить вручную. Уголковый курсор позволяет автоматизировать такие действия. Чтобы выделить элементы формулы, которые в рамках операции должны рассматриваться как единое целое, используют клавишу ПРОБЕЛ. При каждом ее нажатии уголковый курсор «расширяется», охватывая элементы формулы, примыкающие к данному. После ввода знака операции элементы в пределах уголкового курсора автоматически заключаются в скобки.
Элементы формул можно вводить с клавиатуры или с помощью специальных панелей управления. Панели управления (рис. 18.2) открывают с помощью меню View (Вид) или кнопками панели управления Math (Математика). Для ввода элементов формул предназначены следующие панели:
• панель управления Arithmetic (Счет) для ввода чисел, знаков типичных математических операций и наиболее часто употребляемых стандартных функций;
панель управления Evaluation (Вычисление) для ввода операторов вычисления и знаков логических операций;
панель управления Graph (График) для построения графиков;
панель управления Matrix (Матрица) для ввода векторов и матриц и задания матричных операций;
панель управления Calculus (Исчисление) для задания операций, относящихся к математическому анализу;
панель управления Greek (Греческий алфавит) для ввода греческих букв (их можно также вводить с клавиатуры, если сразу после ввода соответствующего латинского символа нажимать сочетание клавиш CTRL+G, например [a][CTRL+G] — a, [W][CTRL+G]-Q);
панель управления Symbolic (Аналитические вычисления) для управления аналитическими преобразованиями.
Введенное выражение обычно вычисляют или присваивают переменной. Для вывода результата выражения используют знак вычисления, который выглядит как знак равенства и вводится при помощи кнопки Evaluate Expression (Вычислить выражение) на панели инструментов Evaluation (Вычисление).
Рис. 18.2. Панели инструментов программы MathCaddjm ввода формул
Знак присваивания изображается как «:=», а вводится при помощи кнопки Assign Value (Присвоить значение) на панели инструментов Evaluation (Вычисление). Слева от знака присваивания указывают имя переменной. Оно может содержать латинские и греческие буквы, цифры, символы «’», «_» и «�», а также описательный индекс. Описательный индекс вводится с помощью символа «.» и изображается как нижний индекс, но является частью имени переменной, например Vinit. «Настоящие» индексы, определяющие отдельный элемент вектора или матрицы, задаются по-другому.
Переменную, которой присвоено значение, можно использовать далее в документе в вычисляемых выражениях. Чтобы узнать значение переменной, следует использовать оператор вычисления.
В следующем примере вычислена площадь круга с радиусом 2 (использованы переменные г и s, значение постоянной л определено в программе MathCad по умолчанию).
r: = 2 s : = pr2 s = 12.566
Ввод текста
Текст, помещенный в рабочий лист, содержит комментарии и описания и предназначен для ознакомления, а не для использования в расчетах. Программа MathCad определяет назначение текущего блока автоматически при первом нажатии клавиши ПРОБЕЛ. Если введенный текст не может быть интерпретирован как формула, блок преобразуется в текстовый и последующие данные рассматриваются как текст. Создать текстовый блок без использования автоматических средств позволяет команда insert > Text Region (Вставка > Текстовый блок).
Иногда требуется встроить формулу внутрь текстового блока. Для этого служит команда Insert > Math Region (Вставка > Формула).
Форматирование формул и текста
Для форматирования формул и текста в программе MathCad используется панель инструментов Formatting (Форматирование). С ее помощью можно индивидуально отформатировать любую формулу или текстовый блок, задав гарнитуру и размер шрифта, а также полужирное, курсивное или подчеркнутое начертание символов. В текстовых блоках можно также задавать тип выравнивания и применять маркированные и нумерованные списки.
В качестве средств автоматизации используются стили оформления. Выбрать стиль оформления текстового блока или элемента формулы можно из списка Style (Стиль) на панели инструментов Formatting (Форматирование). Для формул и текстовых блоков применяются разные наборы стилей.
Чтобы изменить стиль оформления формулы или создать новый стиль, используется команда Format > Equation (Формат > Выражение). Изменение стандартных стилей Variables (Переменные) и Constants (Константы) влияет на отображение формул по всему документу. Стиль оформления имени переменной учитывается при ее определении. Так, переменные хил: рассматриваются как различные и не взаимозаменяемы.
При оформлении текстовых блоков можно использовать более обширный набор стилей. Настройка стилей текстовых блоков производится при помощи команды Format t Style (Формат > Стиль).
Работа с матрицами
Векторы и матрицы рассматриваются в программе MathCad как одномерные и двумерные массивы данных. Число строк и столбцов матрицы задается в диалоговом окне Insert Matrix (Вставка матрицы), которое открывают командой Insert > Matrix (Вставка > Матрица). Вектор задается как матрица, имеющая один столбец.
После щелчка на кнопке ОК в формулу вставляется матрица, содержащая вместо элементов заполнители. Вместо каждого заполнителя надо вставить число, переменную или выражение.
Для матриц определены следующие операции: сложение, умножение на число, перемножение и прочие. Допустимо использование матриц вместо скалярных выражений: в этом случае предполагается, что указанные действия должны быть применены к каждому элементу матрицы, и результат также представляется в виде матрицы. Например, выражение М+ 3, где М — матрица, означает, что к каждому элементу матрицы прибавляется число 3. Если требуется явно указать необходимость поэлементного применения операции к матрице, используют знак векторизации, для ввода которого служит кнопка Vectorize (Векторизация) на панели инструментов Matrix (Матрица).
Для работы с элементами матрицы используют индексы элементов. Нумерация строк и столбцов матрицы начинается с нуля. Индекс элемента задается числом, переменной или выражением и отображается как нижний индекс. Он вводится после щелчка на кнопке Subscript (Индекс) на панели инструментов Matrix (Матрица).
Пара индексов, определяющих элемент матрицы, разделяется запятой. Иногда (например, при построении графиков) требуется выделить вектор, представляющий собой столбец матрицы. Номер столбца матрицы отображается как верхний индекс, заключенный в угловые скобки, например М. Для его ввода используется кнопка Matrix Column (Столбец) на панели инструментов Matrix (Матрица).
Чтобы задать общую формулу элементов матрицы, типа Мi,j : i + j, используют диапазоны. Диапазон фактически представляет собой вектор, содержащий арифметическую прогрессию, определенную первым, вторым и последним элементами. Чтобы задать диапазон, следует указать значение первого элемента, через запятую значение второго и через точку с запятой значение последнего элемента. Точка с запятой при задании диапазона отображается как две точки (..). Диапазон можно использовать как значение переменной, например х := 0,0.01..1.
Если разность прогрессии равна единице (то есть, элементы просто нумеруются), значение второго элемента и соответствующую запятую опускают. Например, чтобы сформировать по приведенной выше формуле матрицу размером 6×6, перед этой формулой надо указать i := 0..5 j := 0..5. При формировании матрицы путем присвоения значения ее элементам, размеры матрицы можно не задавать заранее. Всем неопределенным элементам автоматически присваиваются нулевые значения. Например, формула М5,5 := 1 создает матрицу М размером 6*6, у которой все элементы, кроме расположенного в правом нижнем углу, равны 0.
Стандартные и пользовательские функции
Произвольные зависимости между входными и выходными параметрами задаются при помощи функций. Функции принимают набор параметров и возвращают значение, скалярное или векторное (матричное). В формулах можно использовать стандартные встроенные функции, а также функции, определенные пользователем.
Чтобы использовать функцию в выражении, надо определить значения входных параметров в скобках после имени функции. Имена простейших математических функций можно ввести с панели инструментов Arithmetic (Счет). Информацию о других функциях можно почерпнуть в справочной системе. Вставить в выражение стандартную функцию можно при помощи команды Insert > Function (Вставка > Функция). В диалоговом окне Insert Function (Вставка функции) слева выбирается категория, к которой относится функция, а справа — конкретная функция. В нижней части окна выдается информация о выбранной функции. При вводе функции через это диалоговое окно автоматически добавляются скобки и заполнители для значений параметров.
Пользовательские функции должны быть сначала определены. Определение задается при помощи оператора присваивания. В левой части указывается имя пользовательской функции и, в скобках, формальные параметры — переменные, от которых она зависит. Справа от знака присваивания эти переменные должны использоваться в выражении. При использовании пользовательской функции в последующих формулах ее имя вводят вручную. В диалоговом окне Insert Function (Вставка функции) оно не отображается.
Решение уравнений и систем
Для численного поиска корней уравнения в программе MathCad используется функция root. Она служит для решения уравнений вида f(x) = 0, где f(x) — выражение, корни которого нужно найти, а х — неизвестное. Для поиска корней с помощью функции root, надо присвоить искомой переменной начальное значение, а затем вычислить корень при помощи вызова функции: root(f(x),x). Здесь f(x) — функция переменной х, используемой в качестве второго параметра. Функция root возвращает значение независимой переменной, обращающее функцию f(x) в 0. Например:

х := I
root(2*sin(x) –x,x) = 1.895.
Если уравнение имеет несколько корней (как в данном примере), то результат, выдаваемый функцией root, зависит от выбранного начального приближения.
Если надо решить систему уравнений (неравенств), используют так называемый блок решения, который начинается с ключевого слова given (дано) и заканчивается вызовом функции find (найти). Между ними располагают «логические утверждения», задающие ограничения на значения искомых величин, иными словами, уравнения и неравенства. Всем переменным, используемым для обозначения неизвестных величин, должны быть заранее присвоены начальные значения.
Чтобы записать уравнение, в котором утверждается, что левая и правая части равны, используется знак логического равенства — кнопка Boolean Equals (Логически равно) на панели инструментов Evaluation (Вычисление). Другие знаки логических условий также можно найти на этой панели.
Заканчивается блок решения вызовом функции find, у которой в качестве аргументов должны быть перечислены искомые величины. Эта функция возвращает вектор, содержащий вычисленные значения неизвестных. Например:
x:=0
y:=0
given
х + у=1
x2 + y2 = 4
find(x,y)=
Построение графиков
Чтобы построить двумерный график в координатных осях Х — Y, надо дать команду Insert > Graph > X-Y Plot (Вставка > График > Декартовы координаты). В области размещения графика находятся заполнители для указания отображаемых выражений и диапазона изменения величин. Заполнитель у середины оси координат предназначен для переменной или выражения, отображаемого по этой оси. Обычно используют диапазон или вектор значений. Граничные значения по осям выбираются автоматически в соответствии с диапазоном изменения величины, но их можно задать и вручную.
В одной графической области можно построить несколько графиков. Для этого надо у соответствующей оси перечислить несколько выражений через запятую.
Разные кривые изображаются разным цветом, а для форматирования графика надо дважды щелкнуть на области графика. Для управления отображением построенных линий служит вкладка Traces (Линии) в открывшемся диалоговом окне. Текущий формат каждой линии приведен в списке, а под списком расположены элементы управления, позволяющие изменять формат. Поле Legend Label (Описание) задает описание линии, которое отображается только при сбросе флажка Hide Legend (Скрыть описание). Список Symbol (Символ) позволяет выбрать маркеры для отдельных точек, список Line (Тип линии) задает тип линии, список Color (Цвет) — цвет. Список Туре (Тип) определяет способ связи отдельных точек, а список Width (Толщина) — толщину линии.
Точно так же можно построить и отформатировать график в полярных координатах. Для его построения надо дать команду Insert > Graph > Polar Plot (Вставка > График > Полярные координаты).
Для построения простейшего трехмерного графика, необходимо задать матрицу значений. Отобразить эту матрицу можно в виде поверхности — Insert > Graph > Surface Plot (Вставка > График > Поверхность), столбчатой диаграммы — Insert > Graph > 3D Bar Plot (Вставка > График > Столбчатая диаграмма) или линий уровня — Insert > Graph > Contour Plot (Вставка > График > Линии уровня).
Для отображения векторного поля при помощи команды Insert > Graph > Vector Field Plot (Вставка > График > Поле векторов) значения матрицы должны быть комплексными. В этом случае в каждой точке графика отображается вектор с координатами, равными действительной и мнимой частям элемента матрицы. Во всех этих случаях после создания области графика необходимо указать вместо заполнителя имя матрицы, содержащей необходимые значения.
Для построения параметрического точечного графика командой Insert > Graph > 3D Scatter Plot (Вставка > График > Точки в пространстве) необходимо задать три вектора с одинаковым числом элементов, которые соответствуют х-, у- и z-координатам точек, отображаемых на графике. В области графика эти три вектора указываются внутри скобок через запятую.
Аналогичным образом можно построить поверхность, заданную параметрически. Для этого надо задать три матрицы, содержащие, соответственно, х-, у- и г-координаты точек поверхности. Теперь надо дать команду построения поверхности Insert > Graph > Surface Plot(BcT3BKa > График > Поверхность) и указать в области графика эти три матрицы в скобках и через запятую. Таким образом можно построить практически любую криволинейную поверхность (например представленную на рис. 18.3), в том числе с самопересечениями.
Диалоговое окно для форматирования трехмерных графиков также открывают двойным щелчком на области графика.

Аналитические вычисления
С помощью аналитических вычислений находят аналитические или полные решения уравнений и систем, а также проводят преобразования сложных выражений (например, упрощение). Иначе говоря, при таком подходе можно получить нечисловой результат. В программе MathCad конкретные значения, присвоенные переменным, при этом игнорируются — переменные рассматриваются как неопределенные параметры. Команды для выполнения аналитических вычислений в основном сосредоточены в меню Symbolics (Аналитические вычисления).
Чтобы упростить выражение (или часть выражения), надо выбрать его при помощи уголкового курсора и дать команду Symbolics > Simplify (Аналитические вычисления > Упростить). При этом выполняются арифметические действия, сокращаются общие множители и приводятся подобные члены, применяются тригонометрические тождества, упрощаются выражения с радикалами, а также выражения, содержащие прямую и обратную функции (типа е!пх). Некоторые действия по раскрытию скобок и упрощению сложных тригонометрических выражений требуют применения команды Symbolics > Expand (Аналитические вычисления > Раскрыть).
Команду Symbolics > Simplify (Аналитические вычисления > Упростить) применяют и в более сложных случаях. Например, с ее помощью можно:
• вычислить предел числовой последовательности, заданной общим членом;
� найти общую формулу для суммы членов числовой последовательности, заданной общим членом;
• вычислить производную данной функции;
� найти первообразную данной функции или значение определенного интеграла.
Другие возможности меню Symbolics (Аналитические вычисления) состоят в выполнении аналитических операций, ориентированных на переменную, использованную в выражении. Для этого надо выделить в выражении переменную и выбрать команду из меню Symbolics > Variable (Аналитические вычисления > Переменная). Команда Solve (Решить) ищет корни функции, заданной данным выражением, например, если выделить уголковым курсором переменную х в выражении а*х2 + b*х + с, то в результате применения команды Symbolics > Variable > Solve (Аналитические вычисления > Переменная > Решить), будут найдены все корни:
Другие возможности использования этого меню включают:
аналитическое дифференцирование и интегрирование: Symbolics > Variable > Differentiate (Аналитические вычисления > Переменная > Дифференцировать) и Symbolics > Variable > Integrate (Аналитические вычисления > Переменная > Интегрировать);
замена переменной: Symbolics > Variable > Substitute (Аналитические вычисления >Переменная > Подставить) — вместо переменной подставляется содержимое буфера обмена;
разложение в ряд Тейлора: Symbolics > Variable > Expand to Series (Аналитические вычисления > Переменная > Разложить в ряд);
представление дробно-рациональной функции в виде суммы простых дробей с линейными и квадратичными знаменателями: Symbolics t Variable > Convert to Partial Fraction (Аналитические вычисления > Переменная > Преобразовать в простые дроби).
Наконец, самым мощным инструментом аналитических вычислений является оператор аналитического вычисления, который вводится с помощью кнопки Symbolic Evaluation (Вычислить аналитически) на панели инструментов Evaluation (Вычисление). Его можно, например, использовать для аналитического решения системы уравнений и неравенств. Блок решения задается точно так же, как при численном решении (хотя начальные значения переменных можно не задавать), а последняя формула блока должна выглядеть как find(х,у. ), где в скобках приведен список искомых величин, а далее следует знак аналитического вычисления, отображаемый в виде стрелки, направленной вправо.
Любое аналитическое вычисление можно применить с помощью ключевого слова. Для этого используют кнопку Symbolic Keyword Evaluation (Вычисление с ключевым словом) на панели инструментов Evaluation (Вычисление). Ключевые слова вводятся через панель инструментов Symbolics (Аналитические вычисления). Они полностью охватывают возможности, заключенные в меню Symbolics (Аналитические вычисления), позволяя также задавать дополнительные параметры.
Оглавление книги открыть закрыть
Глава 4 Функции операционных систем персональных компьютеров
4.1. Обеспечение интерфейса пользователя
4.2. Обеспечение автоматического запуска
4.3. Организация файловой системы
4.4. Обслуживание файловой структуры
4.5. Управление установкой, исполнением и удалением приложений
4.6. Обеспечение взаимодействия с аппаратным обеспечением
4.7. Обслуживание компьютера
4.8. Прочие функции операционных систем
Глава 5 Основы работы операционной системы WINDOWS
5.1. Основные объекты и приемы управления Windows
5.2. Файлы и папки Windows
5.3. Операции с файловой структурой
5.4. Использование Главного меню
5.5. Установка и удаление приложений Windows
5.6. Установка оборудования
Глава 6 Интернет.
6.1. Основные понятия
6.2. Подключение к Интернету
6.3. Вопросы компьютерной безопасности
Методы защиты от компьютерных вирусов
Средства антивирусной защиты
Защита информации в Интернете
Понятие о несимметричном шифровании информации
Принцип достаточности защиты
Глава 7 Получение информации из Интернета
7.1. Основные понятия World Wide Web
7.2. Работа с программой Internet Explorer
7.3. Поиск информации в World Wide Web
7.4. Отправка и получение сообщений
Глава 8 Создание простых текстовых документов
8.1. Общие сведения о текстовом процессоре Microsoft Word
8.2 Основные принципы практической работы с текстовым процессором Microsoft Word
8.3. Приемы работы с текстами в процессоре Microsoft Word
8.4. Приемы и средства автоматизации разработки документов
Глава 9 Обработка данных средствами электронных таблиц
9.1. Создание электронных таблиц Microsoft Excel
9.2. Применение электронных таблиц для расчетов
Глава 10 Работа с базами данных
10.1. Основные понятия баз данных
10.2. Проектирование баз данных
10.3. Работа с СУБД Microsoft Access 2000
Глава 11 Приемы и методы работы со сжатыми жанными
11.1. Теоретические основы сжатия данных
11.2. Программные средства сжатия данных
Глава 12 Введение в компьютерн графику
12.1. Основы представления графических данных
12.2. Представление графических данных
Глава 13 Автоматизация обработк документов
13.1. Преобразование документов в электронную форму
13.2. Автоматизированный перевод документов
Глава 14 Средства автоматизации научно-исследовательских работ
14.1. Компьютер как инструмент научной работы
14.2. Приемы работы с системой MathCad
Глава 15 Основы программирования
15.1. Языки программирования
15.2. Системы программирования
15.3. Алгоритмическое (модульное) программирование
15.4. Структурное программирование
15.5. Объектно-ориентированное программирование
15.6. Проектирование программ
« назад Оглавление вперед »
14.1. Компьютер как инструмент научной работы « | » Глава 15 Основы программирования
Элементы рабочего стола. Общие приемы работы с окнами. Главное и контекстное меню. Создание и переименование папок. Удаление и восстановление информации. Копирование информации на съемные носители. Настройка Рабочего стола. Настройка панели задач.
Создание таблиц и просмотр содержимого базы данных. Редактирование данных и модификация структуры базы данных. Методы упорядочения записей (сортировка, индексирование). Выполнение вычислений в запросах. Приемы работы с формами, отчетами и макросами.
Анализ программы «Проводник». Понятие операционной системы (ОС). Достоинства и недостатки файловых систем. Исследование методов запуска программы «Проводник», работа с файловой структурой в программе «Проводник» ОС Windows. Приемы работы с объектами.
Иерархические, сетевые и реляционные модели данных. Различия между OLTP и OLAP системами. Обзор существующих систем управления базами данных. Основные приемы работы с MS Access. Система защиты базы данных, иерархия объектов. Язык программирования SQL.
Основные элементы электронных таблиц в MS Excel и приемы работы с ними. Типы переменных, способы форматирования ячеек. Создание, сохранение и переименование рабочей книги. Диапазон ячеек и их автоматический выбор. Числовой и денежный форматы ячеек.
Иерархические, сетевые и реляционные модели данных. Различия между OLTP и OLAP системами. Обзор существующих систем управления базами данных. Основные приемы работы с MS Access. Система защиты базы данных, иерархия объектов. Язык программирования SQL.
Основные элементы электронных таблиц в MS Excel и приемы работы с ними. Типы переменных, способы форматирования ячеек. Создание, сохранение и переименование рабочей книги. Диапазон ячеек и их автоматический выбор. Числовой и денежный форматы ячеек.
Возможности создания MDI-приложений, их преимущества. Основные приемы работы с записью информации в файл, экспорт данных в приложения Microsoft Office с помощью использование технологии OLE, на примере MS Excel интегрированного пакета MS Office.
Исследование системы MathCad
Целью данной курсовой работы является исследование математической модели электрической цепи с изменяющимися во времени параметрами в пакете MathCad.
В результате выполнения курсовой работы необходимо рассчитать значения функций заряда на конденсаторе в заданной электрической схеме и исследовать влияние значений изменяемого параметра на вид функции заряда на конденсаторе.
Курсовая работа призвана реализовать несколько задач, основными из них являются следующие :
— углубление и расширение теоретических знаний по математическому моделированию;
— приобретение навыков самостоятельного решения прикладной инженерной задачи с использованием компьютерных систем;
— умение формулировать выводы по проделанным исследованиям.
Работа содержит 1 файл
версия печати.doc
Введение
MathCAD предоставляет значительные возможности для разработки программ для решения инженерных задач. Созданные в пакете расчетные модели отличаются простотой и наглядностью, а также легко корректируются.
Одним из важнейших факторов, определяющих уровень развития современного общества – оснащение его средствами информационно-вычислительной техники. Сфера использования ЭВМ в современном мире настолько широка, что нет такой области человеческой деятельности, где бы применение ЭВМ было бы нецелесообразным.
Использование ЭВМ значительно облегчило задачу при решении проблем, связанных с исследованием математических моделей на основе данных эксперимента.
С развитием компьютерной техники, а также с разработкой системы программирования MathCAD появилась возможность расчета с помощью ПК, что позволило упростить рутинные расчеты.
Применение современных методов и вычислительной техники позволяет находить оптимальные решения сложных задач по физике.
Целью данной курсовой работы является исследование математической модели электрической цепи с изменяющимися во времени параметрами в пакете MathCad.
В результате выполнения курсовой работы необходимо рассчитать значения функций заряда на конденсаторе в заданной электрической схеме и исследовать влияние значений изменяемого параметра на вид функции заряда на конденсаторе.
Курсовая работа призвана реализовать несколько задач, основными из них являются следующие :
— углубление и расширение теоретических знаний по математическому моделированию;
— приобретение навыков самостоятельного решения прикладной инженерной задачи с использованием компьютерных систем;
— умение формулировать выводы по проделанным исследованиям.
1.Численные методы решения дифференциальных уравнений в моделировании технических объектов
1.1 Обзор численных методов решения дифференциальных уравнений
При создании машин, технических комплексов и других объектов широко используется моделирование. Как средство познания и преобразования материального мира моделирование применяется в экспериментальных и теоретических научных исследованиях.
Моделирование согласно [1] представляет собой процесс замещения объекта исследования некоторой его моделью и проведение исследований на модели с целью получения необходимой информации об объекте. Модель — это физический или абстрактный образ моделируемого объекта, удобный для проведения исследований и позволяющий адекватно отображать интересующие исследователя физические свойства и характеристики объекта. Удобство проведения исследований может определяться различными факторами: легкостью и доступностью получения информации, сокращением сроков и уменьшением материальных затрат на исследование.
Математическое моделирование позволяет посредством математических символов и зависимостей составить описание функционирования технического объекта в окружающей внешней среде, определить выходные параметры и характеристики, получить оценку показателей эффективности и качества, осуществить поиск оптимальной структуры и параметров объекта. Применение математического моделирования при проектировании в большинстве случаев позволяет отказаться от физического моделирование, значительно сократить объемы испытаний и доводочных работ, обеспечить создание технических объектов с высокими показателями эффективности и качества. Одним из основных компонентов системы проектирования в этом случае становится математическая модель.
Согласно [1] математическая модель — это совокупность математических объектов и отношений между ними, адекватно отображающая физические свойства создаваемого технического объекта. В качестве математических объектов выступают числа, переменные, множества, векторы, матрицы и т. п. Для осуществления вычислительного эксперимента на ЭВМ необходимо разработать алгоритм реализации математической модели.
Алгоритмы решения многих физических задач, для которых не удается получить ответ в виде формулы, основаны на следующей процедуре: строится бесконечный процесс, сходящийся к искомому решению. Он обрывается на некотором шаге(вычисления нельзя продолжать бесконечно), и полученная таким образом величина приближенно принимается за решение рассматриваемой задачи.
С помощью математического моделирования решение научно — технической задачи сводится к решению математической задачи, являющейся ее моделью. Для решения математических задач используются следующие основные группы методов: графические, аналитические и численные.
Графические методы в ряде случаев позволяют оценить порядок искомой величины. Основная идея этих методов состоит в том, что решение находится путём геометрических построений. Например: для нахождения корней уравнения f(x)=0 строится график функции y=f(x), точки пересечения которого с осью абсцисс и будут искомыми корнями.
При использовании аналитических методов решение задачи удаётся выразить с помощью формул. В частности, если математически задача состоит в решении простейших алгебраических уравнений» дифференциальных уравнений и т.д., то использование известных из курса математики приемов сразу приводит к цели. К сожалению, па практике это слишком редкие случаи.
Главным инструментом для решения сложных математических задач в соответствии с [2]являются численные методы, позволяющие свести решение задачи к выполнению конечного числа арифметических действий над числами; при этом результаты получаются в виде числовых значений. Многие численные методы разработаны давно, однако при вычислении вручную они могли использоваться лишь для решения не слишком трудоёмких задач.
Дифференциальные уравнения находят широкое применение в прикладных задачах. Если рассматриваемая задача сводит» к решению системы обыкновенных линейных дифференциальных уравнений с постоянными коэффициентами, как, например, большинство задач в теории электрических цепей, то ее решение может быть найдено в явном виде. Если же дифференциальные уравнения имеют переменные коэффициенты или являются нелинейными, то их решение, как правило, приходиться искать численно. Использование ЭВМ значительно облегчило использование дифференциальных уравнений, позволяет решать такие задачи, к которым при ручном счете даже не приступали.
Основные возможности MathCad
Mathcad содержит сотни операторов и встроенных функций для решения различных технических задач. Программа позволяет выполнять численные и символьные вычисления, производить операции с скалярными величинами, векторами и матрицами, автоматически переводить одни единицы измерения в другие.
Среди возможностей Mathcad можно выделить:
· Решение дифференциальных уравнений, в том числе и численными методами
· Построение двумерных и трёхмерных графиков функций (в разных системах координат, контурные, векторные и т. д.) (Рисунок 2.2)

Рисунок 2.2 – Трёхмерный график, построенный в Mathcad
· Использование греческого алфавита как в уравнениях, так и в тексте
· Выполнение вычислений в символьном режиме
· Выполнение операций с векторами и матрицами
· Символьное решение систем уравнений
· Поиск корней многочленов и функций
· Проведение статистических расчётов и работа с распределением вероятностей
· Поиск собственных чисел и векторов
· Вычисления с единицами измерения
· Интеграция с САПР системами, использование результатов вычислений в качестве управляющих параметров
С помощью Mathcad инженеры могут документировать все вычисления в процессе их проведения.
Mathcad относится к системам компьютерной алгебры, то есть средств автоматизации математических расчетов. В этом классе программного обеспечения существует много аналогов различной направленности и принципа построения. Наиболее часто Mathcad сравнивают с такими программными комплексами, как Maple, Mathematica, MATLAB, а также с их аналогами MuPAD, Scilab, Maxima и др. Впрочем, объективное сравнение осложняется в связи с разным назначением программ и идеологией их использования.
Maple, MATLAB и Mathematica — это языки программирования. Языки программирования гибкие и мощные, но трудные в использовании и требующие длительного времени на изучение. Поэтому, пользовательский интерфейс сложен, в нем легко допускать ошибки, которые вынуждают проверять и отлаживать весь код. Программирование не визуально и не интерактивно. Невозможно поменять несколько строк в программе и автоматически увидеть результаты. Для этого вам потребуется перекомпилировать и перезапустить программу. Кроме этого, существуют сложности в понимании и использовании программистами чужих вычислений, для чего требуется вникать вглубь процесса.
Разработчики Mathcad сделали ставку на расширение системы в соответствии с потребностями пользователя. Для этого назначены дополнительные библиотеки и пакеты расширения, которые можно приобрести отдельно и которые имеют дополнительные функции, встраиваемые в систему при установке, а также электронные книги с описанием методов решения специфических задач, с примерами действующих алгоритмов и документов, которые можно использовать непосредственно в собственных расчетах. Кроме того, в случае необходимости и при условии наличия навыков программирования в C, есть возможность создания собственных функций и их прикрепления к ядру системы через механизм DLL (Рисунок 2.3).

Рисунок 2.3 – Пример рабочего окна программы
Mathcad, в отличие от Maple, изначально создавался для численного решения математических задач, он ориентирован на решение задач именно прикладной, а не теоретической математики, когда нужно получить результат без углубления в математическую суть задачи. Впрочем, для тех, кому нужны символьные вычисления и предназначено интегрированное ядро Maple (с версии 14 — MuPAD). Особенно это полезно, когда речь идет о создании документов образовательного назначения, когда необходимо продемонстрировать построение математической модели, исходя из физической картины процесса или явления. Символьное ядро Mathcad, в отличие от оригинального Maple (MuPAD) искусственно ограничено (доступно около 300 функций), но этого в большинстве случаев вполне достаточно для решения задач инженерного характера.
Более того, опытные пользователи Mathcad обнаружили, что в версиях до 13 включительно есть возможность не слишком сложным способом задействовать почти весь функциональный арсенал ядра Maple (так называемые «недокументированные возможности»), что приближает вычислительную мощность Mathcad к Maple.
Похожие публикации:
- Где зарегистрирован telegram
- Где находятся файлы telegram
- Для чего предназначена функция root в mathcad
- Как в archicad поменять язык на русский
5.2.1. Системы уравнений: функция Find MathCAD 12 руководство
Здесь f1(x1, . хM), . fN (x1, . XM) — некоторые скалярные функции от скалярных переменных x1,x2, . хM и, возможно, от еще каких-либо переменных. Уравнений может быть как больше, так и меньше числа переменных. Заметим, что систему (5.4) можно формально переписать в виде
где х — вектор, составленный из переменных x1,x2, . ,хM, a f (х) — соответствующая векторная функция.
Вычислительный блок Given /Find
Для численного решения систем уравнений применяется тот же самый вычислительный блок, что и для символьных вычислений (см. разд. 5.1.1). Повторимся, что он состоит из ключевого слова Given , самой системы уравнений, записанной при помощи логических операторов панели Boolean (Булевы операторы), а также встроенной функции Find. Find(x1, . ,хM) — встроенная функция для решения системы алгебраических уравнений и неравенств относительно переменных x1. xM . Значение функции Find представляет собой вектор, составленный из решений по каждой переменной.
Встроенная функция Find использует в качестве численного алгоритма один из градиентных методов (см. разд. 5.3). Этот факт налагает некоторые ограничения на уравнения системы, которые должны быть достаточно гладкими функциями своих аргументов.
При численных расчетах может быть найден только один из корней уравнения, в отличие от символьных вычислений, которые позволяют определить все имеющиеся корни.
Применение численного нахождения корней отличается от символьного двумя обстоятельствами:
- вместо оператора символьного вывода после функции Find следует использовать оператор численного вывода (знак равенства);
- перед вычислительным блоком Given/Find должны быть заданы начальные значения ( guess value ) для всех неизвестных, т. е. всем переменным x1, . ,хM , относительно которых решается уравнение, следует предварительно присвоить некоторые численные значения, с которых и будет начинаться поиск корня. Таким образом, присвоение начального значения требует априорной информации о примерном местонахождении корня и связано с проблемой локализации корней, упомянутой в начале разд. 5.2.
Помните также о том, что, в отличие от символьного, для численного процессора необходимо задать числовые значения всех параметров, входящих в уравнение.
Одно уравнение с одним неизвестным
Рассмотрим в качестве примера (листинг 5.8) одно уравнение с одним неизвестным, которое уже решалось нами аналитически (см. листинги 5.1 и 5.2). Уравнение имеет три корня, как видно из графика, приведенного на рис. 5.4. Обратите внимание, что перед ключевым словом Given переменной х присваивается некоторое значение х=1 . В остальном применение функции Find для решения уравнения не отличается от символьных расчетов.
Листинг 5.8. Численное решение кубического уравнения с начальным значением x=1
Рис. 5.4. Графическая иллюстрация решения кубического уравнения
Как уже отмечалось выше, результатом численного решения алгебраического уравнения является один его корень. Для того чтобы отыскать остальные корни, необходимо повторно решить уравнение, взяв для переменной х другие начальные значения. Например, если присвоить ей в начале листинга значение х=-1 , то численным процессором будет выдан в качестве результата другой корень х=0 (листинг 5.9). Такая работа программы Mathcad связана с особенностями применяемых численных алгоритмов (см. разд. 5.3). Для численного определения всех корней уравнения следует применять специальные приемы, например, сканирование по неизвестным (см. разд. 5.2.4).
Листинг 5.9. Численное решение кубического уравнения с начальным значением x=-1 сходится к другому корню x=0
Приведем еще один пример численного решения алгебраических уравнений, обратившись на этот раз к системе двух уравнений, которая также уже исследовалась нами при помощи символьного процессора. Система имеет два решения, показанные графически на рис. 5.2 и найденные аналитически в листинге 5.7 (см. разд 5.1.3). Листинг 5.10, демонстрирующий численное решение рассматриваемой системы, начинается с присвоения неизвестным начальных значений х=10,у=10 . После этого следует ключевое слово Given и два логических оператора, выражающих рассматриваемую систему уравнений. В результате (последняя строка листинга) Mathcad находит один из корней х=1,у=0, причем первый элемент вектора решения есть первый аргумент функции Find , а второй элемент — ее второй аргумент. Поскольку решение производится численным методом, оно выдается с некоторой погрешностью, не превышающей встроенной константы CTOL . Если задать в первой строке листинга другие начальные значения, расположенные ближе к другому корню, например, х=0,у=0 , то найден в итоге будет другой корень х=-0.5,у=-0.75.
На самом деле в вычислительном блоке используются обе системные константы Mathcad, связанные с заданием погрешности: TOL и CTOL . Константа CTOL ограничивает невязку, т. е. задает точность выполнения уравнений, введенных после ключевого слова Given . Например, если CTOL=0.001 , то уравнение х=10 будет считаться выполненным и при х=10.001 , и при х=9.999 . Другая константа TOL определяет условие прекращения итераций численным алгоритмом (см. разд. 5.4). Значение CTOL может быть задано пользователем так же, как и TOL , например, CTOL=0.01 . По умолчанию принято, что CTOL= =TOL=0.001 , но вы по желанию можете переопределить их.
Часто бывает очень полезным проверить точность решения уравнений «вручную», подставив найденные вычислительным процессором корни в исходные уравнения и оценив значение их невязок.
Листинг 5.10. Численное решение системы алгебраических уравнений
Если предпринять попытку решить несовместную систему, в частности, в рассматриваемом примере добавить еще одно уравнение, то Mathcad выдаст сообщение об ошибке, гласящее, что ни одного решения не найдено, и предложение попробовать поменять начальные значения или значение погрешности.
Особую осторожность следует соблюдать при решении систем с числом неизвестных большим, чем число уравнений. Например, можно удалить одно из двух уравнений из рассмотренной нами задачи, попытавшись решить оставшееся единственное уравнение с двумя неизвестными х и у (листинг 5.11). В такой постановке задача имеет бесконечное множество корней: для любого х и, соответственно, у=х 2 -1 условие, определяющее единственное уравнение, выполнено. Однако даже если корней бесконечно много, численный метод будет производить расчеты только до тех пор, пока логические выражения в вычислительном блоке не будут выполнены (конечно, в пределах погрешности). После этого итерации будут остановлены и выдано решение. В результате будет найдена всего одна пара значений (х,у) , обнаруженная первой, как это показано в последней строке листинга 5.11.
Для того чтобы найти все решения рассматриваемой задачи, можно обратиться к возможностям символьного процессора Mathcad. Достаточно в последней строке листинга заменить знак равенства на оператор символьного вывода, и в качестве ответа будет выдано семейство решений х и х 2 -1 .
Листинг 5.11. Численное решение уравнения, имеющего бесконечное множество корней, приводит к одному из них
Системы уравнений и неравенств
Пока мы рассматривали примеры систем уравнений, число которых было таким же, как и число неизвестных, что встречается наиболее часто. Но число уравнений и неизвестных может и не совпадать. Более того, в вычислительный блок можно добавить дополнительные условия в виде неравенств. Например, введение ограничения на поиск только отрицательных значений х в рассмотренный выше листинг 5.10 приведет к нахождению другого решения, как это показано в листинге 5.12.
Обратите внимание, что, несмотря на те же начальные значения, что и в листинге 5.10, в листинге 5.12 мы получили другой корень системы уравнений. Это произошло именно благодаря введению дополнительного неравенства, которое определено в блоке Given в предпоследней строке листинга 5. 12.
Листинг 5.12. Численное решение системы алгебраических уравнений и неравенств
