Маткад переменная не определена что делать
Mathcad find переменная не определена
MathCad | ANSYS CFX | MS Office
Поиск по сайту
Выбор языка
Решение уравнений в MathCad
Часто в курсовом проекте, либо в лабораторной работе встает вопрос о решении какого-либо сложного большого уравнения с одним неизвестным. Не всегда хочется тратить 10 — 20 минут на рутинные преобразования в процессе которых, велика вероятность допущения ошибки. Целесообразно воспользоваться математической программой (в данном случае MathCad), которая быстро и правильно сможет дать ответ. Мы рассмотрим пример использования 2-ух способов решения уравнений, причем как в числах так и в символьном виде.
Способ №1: использование вычислительного блока Given — Find:
Это наиболее распространенный способ решения обычных алгебраических уравнений. Он достаточно прост. В рабочем поле записываем первое слово Given. Это служебное слово. Оно «подключает» определенные программные модули mathcad, необходимые для решения уравнения. Эти модули в своем составе содержат основные численные методы решения: метод бисекции, простой итерации и пр. Далее пишется наше уравнение в любом — явном или неявном виде. Само уравнение набирается с клавиатуры с использованием логического символа «равно». На панельке Boolean (Булева алгебра) он выделен жирным шрифтом (см. рис. 1).
Рис. 1. Панель «Булевая алгебра»
Далее пишется слово Find(x) (где х — переменная). Это функция, которая и получает ответ. Функцию Find(x) можно присвоить какой-либо переменной и использовать далее в расчетах. Для получения результата, после Find(x) следует поставить символ «→» либо «=» (см. рис. 2).
Рис. 2. Панель «Вычисления»
В зависимости от сложности уравнения через некоторое время MathCad выведет результат.
Возможности MathCad позволяют определить корень как в численном виде (т. е. результат решения уравнения представляет собой число) так и в символьном (результат — выражение). Для численного определения корня необходимо задать (определить) ВСЕ переменные входящие в уравнение и даже искомую переменную. MathCad воспринимает задание искомой переменной как начальное приближение корня. Крайне важно задаться начальным приближением, поскольку без него корень уравнения невозможно определить в силу особенностей используемых численных методов. Нужно отметить, что некорректное задание начального приближения часто становится причиной получения неверного результата либо его отсутствия вообще. Но не стоит забывать также и о том, что корня может не быть, потому что само уравнение его не имеет.
В том случае, если необходимо решить уравнение относительно какой-либо переменной в символьном виде, то нет необходимости задаваться значениями всех входящих в уравнение параметров и начальным приближением переменной. В этом случае достаточно ввести уравнение (также через «жирное равно») и после оператора Find(x) поставить «→». При этом будут работать уже другие функции MathCad, которые заточены под символьное преобразование и упрощение выражений. Результатом решения будет выражение. Стоит отметить, что MathCad сможет записать решение далеко не всякого уравнения. В этом смысле его возможности ограничены.
Для подтверждения и закрепления выше сказанного, Вам предлагается скачать и познакомиться с примерами решения уравнений как в численном так и в символьном виде.
Пример №1. Решение уравнения в MathCad с помощью блока Given Find численно: Скачать
Пример №2. Решение уравнения в MathCad с помощью блока Given Find символьно: Скачать
Способ №2: Применение метода solve:
Этот метод по существу не отличается от выше рассмотренного, поскольку процедура нахождения корня аналогична. Разница лишь в оформлении. В этом случае наше уравнение записывается без операторов Given и Find. После ввода уравнения на панели Symbolic нажимаем кнопку solve (см. рис. 3), определяем через запятую искомую переменную, жмем «→» и получаем ответ.
Рис. 3. Панель «Символьные»
Иногда, то что не получается найти с помощью Given Find получается в solve.
Пример №3. Решение уравнения в MathCad с помощью solve: Скачать
РЕШЕНИЕ УРАВНЕНИЙ И СИСТЕМ УРАВНЕНИЙ
4 Решение уравнений и систем средствами Mathcad
Система Mathcad обладает широкими возможностями численного решения уравнений и систем уравнений.
Функция root, блоки Given…Find, Given…Minerr
В ходе численного решения обычно выделяют два этапа:
Для решения одного уравнения с одной неизвестной предназначена встроенная функция root, которая в общем виде задается
root(f(x), x, [a, b])
и возвращает значение переменной x, при котором функция f(x) обращается в ноль. Аргументы функции root:
Этот прием используется в Mathcad так:
Кроме того, пакет Mathcad имеет встроенную функцию
lsolve(A, b),
Реализовать широко известный метод Гаусса решения систем линейных уравнений позволяет встроенная функция rref(M), возвращающая ступенчатый вид матрицы M. Если в качестве аргумента взять расширенную матрицу системы, то в результате применения rref получится матрица, на диагонали которой – единицы, а последний столбец представляет собой столбец решений системы.
Решение системы линейных уравнений можно осуществить с помощью блоков Given…Find, Given…Minerr. При этом неизвестным системы задается произвольное начальное приближение, а проверка необязательна.
Порядок выполнения лабораторной работы
Лабораторная работа № 4
Решение уравнений и систем в Mathcad.
Задание 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) будет выглядеть следующим образом:
Этап отделения корней завершен.
Уточним теперь корни уравнения с помощью функции 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-й способ. Решение системы линейных уравнений матричным способом.
Зададим вектор b свободных членов системы. Сначала напечатаем b :=, затем вставим шаблон матрицы(Ctrl + M), где количество строк (Rows) равно 3, а количество столбцов (Columns) равно 1. Заполним его:
Решим систему матричным способом по формуле
Решим систему с помощью функции lsolve:
Для проверки правильности решения системы, полученного матричным способом, достаточно вычислить произведение A·X, которое должно совпасть с вектором-столбцом свободных членов b:
программирование mathcad скалярный трехмерный
Функция Find (Найти) работает в ключевой связке с ключевым словом Given (Дано). Конструкция Given — Find использует расчетную методику, основанную на поиске корня вблизи точки начального приближения, заданной пользователем.
Если задано уравнение f(x) = 0, то его можно решить следующим образом с помощью блока Given — Find:
— задать начальное приближение
— ввести служебное слово
В результате после знака равно выведется найденный корень.
Если существует несколько корней, то их можно найти, меняя начальное приближение х0 на близкое к искомому корню.
В Mathcad можно писать программы двух видов
Mathcad — система компьютерной алгебры из класса систем автоматизированного проектирования, ориентированная на подготовку интерактивных документов с вы0числениями и визуальным сопровождением, отличается легкостью использования и применения для коллективной работы.
Mathcad был задуман и первоначально написан Алленом Раздовом из Массачусетского технологического института (MIT).
Mathcad имеет интуитивный и простой для использования интерфейс пользователя. Для ввода формул и данных можно использовать как клавиатуру, так и специальные панели инструментов.
Работа осуществляется в пределах рабочего листа, на котором уравнения и выражения отображаются графически, в противовес текстовой записи в языках программирования. При создании документов-приложений используется принцип WYSIWYG (What You See Is What You Get — «что видишь, то и получаешь»).
Несмотря на то, что эта программа в основном ориентирована на пользователей-непрограммистов, Mathcad также используется в сложных проектах, чтобы визуализировать результаты математического моделирования, путем использования распределённых вычислений и традиционных языков программирования. Также Mathcad часто используется в крупных инженерных проектах, где большое значение имеет трассируемость и соответствие стандартам.
Программа содержит сотни операторов и встроенных функций для решения различных технических задач. Программа позволяет выполнять численные и символьные вычисления, производить операции с скалярными величинами, векторами и матрицами, автоматически переводить одни единицы измерения в другие.
При решении следующей задачи (Скриншот 1) получаю ошибку «эта переменная не определена», но только для функции Minimize, тогда как Maximize работает корректно. Уже не единожды проверил ввод условий, нигде ошибки не вижу, помогите разобраться пожалуйста. Во вложения прикладываю архив с маткадовским файлом.
Вложения
znnL4.rar (7.8 Кб, 7 просмотров) |
При попытке воспользоваться функцией Minimize ошибка: переменная не определена
Здравствуйте. Пытаюсь решить контрольную в mathcadе, на последней строке ошибка, в функции.
Эта переменная не определена
Добрый день! Делаю расчет уширения лазерного пучка с помощью системы Галилея, столкнулся с.
Эта переменная не определена
Нужна помощь, в MathCad буквально день Помогите разобраться Ввожу данные, потом уравнение Не.
Решение
Эта переменная не определена
Всем, привет. Я оочень начинающий пользователь проги, надо лабу сделать) помогите плиз(( не считает.
Эта переменная не определена
Искал по соседним темам, так и не нашёл решения. Mathcad 15 выдаёт ошибку «Эта переменная не.
Эта переменная не определена
Перепробовал всё, и постоянно выдаёт эту ошибку. Помогите исправить ошибку
Эта переменная не определена
Добрый день! Вот такая проблема, необходимо из этих 5 уравнений найти Ca,Cb,Cp1,tхл,uхл. Файл и.
Эта переменная не определена
При попытке найти сумму по формуле выскакивает ошибка: эта переменная не определена. Пожалуйсте.
Эта переменная не определена
Уважаемые форумчане, подскажите пожалуйста, в чём ошибка?( Ошибка: Эта переменная не определена.
Вложения
Проба пера.7z (9.3 Кб, 18 просмотров) |
Не работает команда Find() (переменная не определена)
Уже два дня над этим сижу, даже задачу наново решала и вбивала в маткад. Не хочет работать.
Given-Find: переменная не определена
Всем доброй ночи. Я не знаю, можно ли задавать такие вопросы, но я не знаю, что уже делать. До.
Given-Find: переменная не определена
Всем доброй ночи. До этого решал с помощью givenfind системы из 4-х уравнений, все было хорошо из 5.
Given-Find: переменная не определена
Всем доброй ночи. Я не знаю, можно ли задавать такие вопросы, но я не знаю, что уже делать. Мне.
Решение
Эта переменная не определена
При попытке найти сумму по формуле выскакивает ошибка: эта переменная не определена. Пожалуйсте.
Эта переменная не определена
Помогите, какую переменную оно имеет ввиду? Вроде всё же указал.
Эта переменная не определена
Добрый день! Делаю расчет уширения лазерного пучка с помощью системы Галилея, столкнулся с.
Эта переменная не определена
Добрый день!Все проверил,и никак разобраться не могу:в чем дело?Помогите,пожалуйста.
Эта переменная не определена
Все отлично работало, но пришлось добавлять единицы измерения и вот что с этого получилось. Буду.
Эта переменная не определена
Искал по соседним темам, так и не нашёл решения. Mathcad 15 выдаёт ошибку «Эта переменная не.
Маткад пишет что переменная не определена. Сообщения об ошибках. Элементы языка MathCAD
Эта глава посвящена основам вычислений в Mathcad. Она содержит все необходимые сведения о применении переменных и функций, операторов Присваивания, численного вывода и символьного вывода (см. разд. 3.1), а также других операторов (см. разд. 3.2). В заключение описываются основные средства управления процессом вычислений в Mathcad (см. разд. 3.3) и уверится несколько слов о том, каким образом происходит выдача сообщений об ошибках при вычислениях (см. разд. 3.4).
3.1. Переменные и функции
Перечислим основные действия, которые пользователь может совершать для определения и вывода переменных и функций.
3.1.1. Определение переменных
Чтобы определить переменную, достаточно ввести ее имя и присвоить ей неко-topoe значение, для чего служит оператор присваивания (см. следующий раздел).
3.1.2. Присваивание переменным значений
Чтобы присвоить переменной новое значение, например переменную х сделать равной 10:
Рис. 3.1. Результат ввода оператора присваивания
Результат перечисленных действий показан в листинге 3.1.
Кнопка оператора присваивания для удобства помещена сразу на две панели Calculator (Калькулятор) и Evaluation (Выражения).
Листинг 3.1. Присваивание переменной численного значения
Ввести новое значение переменной возможно как в виде числа, так и в виде математического выражения, содержащего другие переменные (листинг 3.2) и функции (см. следующие разделы), а также в виде строкового выражения (листинг 3.3.). В последнем случае будет создана переменная s не численного, а строкового типа.
Листинг 3.2. Присваивание переменной вычисленного значения выражения
Листинг 3.3. Присваивание переменной строкового значения
Если переменная с некоторым именем создается в данном документе впервые, то для ввода оператора присваивания, вместо двоеточия, допускается использовать символ равенства «=», который Mathcad автоматически заменит символом присваивания.
В некоторых случаях это невозможно, в частности, когда значение присваивается переменной, имя которой зарезервировано Mathcad. Например, присвоить значение переменной с именем N можно, лишь вводя двоеточие, т. к. по умолчанию это имя обозначает в Mathcad размерность силы (Ньютон).
Чтобы переопределить значение переменной, определенной в документе, оператор присваивания следует вводить не знаком равенства, а двоеточием, либо пользоваться панелью инструментов.
Не вполне соответствующий общепринятому математическому стилю вид оператора присваивания (не =, а:==) является, на самом деле, компромиссом, связанным с назначением Mathcad как системы программирования. Этот оператор показывает, что он действует, в отличие от других, не слева направо, а справа налево, поскольку значение (справа) задается переменной (слева). И если непосвященного математика внешний вид этого оператора может ввести в некоторое заблуждение, то пользователю Mathcad он прямо говорит о действии, выполняемом в данном месте документа: значение переменной не выводится на экран (о чем говорит знак =), а некоторое значение присваивается (:=) данной переменной.
Для подготовки отчетов, тем не менее, может потребоваться изменить отображение оператора присваивания с принятых по умолчанию символов «:=» на символ равенства. Это делается для конкретного оператора присваивания с помощью пункта View Definition As контекстного меню (рис. 3.2) либо для всего документа с помощью команды Tools / Worksheet Options / Display)(Сервис / Опции документа / Отображение) (см. разд. «Управление отображением некоторых операторов»гл. 2).
Рис. 3.2. Различное отображение оператора присваивания
Помимо разобранного оператора присваивания (а он применяется наиболее часто), существует также возможность глобального присваивания.
Функции в Mathcad записываются в обычной для математика форме:
Легче всего ввести написание функции в документ при помощи клавиатуры.
В Mathcad формально можно разделить функции на два типа:
Применение функций обоих типов в расчетах совершенно одинаково, с тем исключением, что любую встроенную функцию можно сразу использовать в любом месте документа (о вставке встроенных функций в документ читайте в разд. «Знакомство с Mathcad» гл. 1), а пользовательскую функцию необходимо предварительно определить в документе до момента вычисления ее значения.
3.1.4. Определение функции пользователя
Для того чтобы определить функцию пользователя, например f(x,y) = x2-cos (x+y):
Результат ввода иллюстрируется листингом 3.4.
Листинг 3.4. Определение функции пользователя
Все переменные, присутствующие справа в выражении определения функции, либо должны входить в список аргументов функции (в скобках, слева после имени функции), либо должны быть определены ранее. В противном случае будет выведено сообщение об ошибке, причем имя неопределенной переменной будет выделено красным цветом (рис. 3.3).
Рис. 3.3. Сообщение об ошибке («Эта переменная или функция ранее не определена»)
3.1.5. Вывод значений переменных и функций
Чтобы вычислить в документе некоторое математическое выражение, которое может состоять из переменных, операторов и функций (встроенных и определенных пользователем):
В результате справа от введенного знака равенства появится вычисленное значение выражения (листинг 3.5, предпоследняя строка). Нельзя изменять содержимое выражения справа от знака равенства, поскольку оно есть результат работы вычислительного процессора Mathcad, совершенно скрытой от глаз пользователя. Подчас (когда выражение содержит функции, реализующие разные численные методы, часто в сложных комбинациях) алгоритмы расчета бывают очень затейливыми и занимают существенное время. О том, что некоторое выражение документа находится в стадии вычисления, свидетельствует обрамляющая его зеленая рамка и невозможность предпринять какое-либо действие с программой Mathcad.
Листинг 3.5. Вычисление выражения.
Листинг 3.6. Вывод значения функции.
Листинг 3.7. Вывод значения функции (продолжение листинга 3.6)
Листинг 3.8. К определению функций пользователя
Листинг 3.9. К определению функций пользователя (продолжение листинга 3.8)
Внимательнее относитесь к обязательному требованию совпадения количества аргументов при определении и выводе значения функций. Сравните, например, листинги 3.6 и 3.8, в которых, несмотря на одинаковое выражение в правой части определения функции f, создаются две существенно разные функции f (х, у) и f (х), соответственно
Вводя знак равенства для вычисления математических выражений в Math-cad, Вы фактически применяете оператор вычисления или численного вывода (numerical evaluation). Его можно ввести также нажатием кнопки со знаком равенства на одной из панелей инструментов: Calculator (Калькулятор) или Evaluation (Выражения) (см. рис. 3.1). Оператор численного вывода означает, что все вычисления проводятся с числами, а различные встроенные алгоритмы реализуются соответствующими численными методами.
3.1.6. Символьный вывод
Рис. 3.4. Кнопка вставки оператора символьного вывода
Листинг 3.10. Символьный вывод выражения
Листинг 3.11. Символьный вывод выражений, которое не удалось упростить
Точно так же, как рассчитываются численно значения функций, можно вычислять их и с помощью символьного процессора. Сравните соответствующие результаты, которые представлены в листинге 3.12 (конечно, символьный и численный ответы равны: 9 cos(8)=-1.31). Аналогично можно «символьно выводить значения переменных. Например, присвоить некоторой переменной значение функции или сложного выражения (листинг 3.13, вторая строка) и затем вывести значение переменной в символьном виде.
Листинг 3.12. Численный и символьный вывод значения функции
Листинг 3.13. ЧислвйныЙ и символьный вывод
Как показывают приведенные примеры, преимущество символьных вычислений заключается в выдаче аналитического результата, который для математика часто является более ценным. Поэтому, исходя из специфики конкретных задач, решайте, стоит ли наряду с численными расчетами попытаться получить и символьное решение.
3.1.7. Допустимые имена переменных и функций
В заключение перечислим, какие символы можно, а какие нельзя применять в именах, которые пользователь дает переменным и функциям, и перечислим ряд ограничений на присваивание имен. Допустимые символы:
С осторожностью используйте нижний индекс в определении имен переменных и функций, не путая его с индексом векторной переменной. Чтобы ввести имя с нижним индексом, например, K max: введите букву «K», затем точку «.», после чего линии ввода опустятся чуть ниже, и только затем сам нижний индекс max.
Теперь рассмотрим ограничения на имена переменных и функций:
В некоторых случаях желательно использовать имена переменных и функций, содержащие символы операторов Mathcad или другие символы, которые нельзя вставлять в имена непосредственно. Для этого существуют две возможности.
Во-первых, имя, составленное из любых символов и заключенное в квадратные скобки, Mathcad будет воспринимать корректно (рис. 3.5, сверху). Например, чтобы ввести имя :
Рис. 3.5. Специальные символы в именах переменных
Во-вторых, если Вас не устраивает наличие квадратных скобок в имени, то вставить в него специальные символы можно чуть более сложным способом. Например, для ввода имени a+b:
Результат этих действий показан в нижней строке рис. 3.5. Если требуется, чтобы имя начиналось со специального символа (средняя строка рис. 3.5), то необходимо выполнить все пункты 1-4, вводя в начале имени произвольный допустимый символ, а по завершении ввода просто стирая его.
Напомним, что большинство математических панелей содержат сгруппированные по смыслу математические операторы, а вызвать эти панели на экран можно нажатием соответствующей кнопки на панели Math (Математика).
Везде в этом разделе будем рассматривать только второй способ вставки оператора Те же, кто предпочитает использовать клавиатуру, найдут перечень горячих клавиш в приложении 2.
Выше мы рассмотрели особенности применения трех операторов: присваивания (см. разд. 3.1.2), численного (см. разд. 3.1.5) и символьного вывода (см. разд. 3.1.6). Разберем в данном разделе действие прочих операторов Mathcad и возможности определения операторов пользователя.
3.2.1. Арифметические операторы
Операторы, обозначающие основные арифметические действия, вводятся с панели Calculator (Калькулятор), показанной на рис. 3.6:
Рис. 3.6. Панель Calculator
Листинг 3.14. Операторы сложения, вычитания и отрицания
Листинг 3.15. Операторы деления и умножения
Листинг 3.16. 0ператор факториала и модуля
Листинг 3.17. Операторы извлечения корня и возведения в степень
Листинг 3.18. Оператор изменения приоритета ()
Как видно, с помощью этой панели можно ввести не только перечисленные операторы, но и их часто используемые комбинации, например, возведение экспоненты в степень, смешанное произведение и деление, а также мнимую единицу и число я. Заметим, что допускается запись оператора деления как в одну, так и в две строки, что обеспечивается наличием двух соответствующих кнопок на панели Calculator.
Напомним, что в редакторе Mathcad можно выбирать отображение оператора умножения (см. разд. «Управление отображением некоторых операторов» гл. 2). Для того чтобы поменять его:
Некоторых операторов, например таких, как оператор комплексного сопряжения, на панелях инструментов нет (листинг 3.19). Его приходится вводить исключительно с клавиатуры нажатием клавиши в пределах математической области.
Листинг 3.19. Оператор комплексного сопряжения
3.2.2. Вычислительные операторы
Вычислительные операторы вставляются в документы при помощи панели инструментов Calculus (Вычисления). При нажатии любой из кнопок в документе появляется символ соответствующего математического действия, снабженный несколькими местозаполнителями. Количество и расположение местозаполнителей определяется типом оператора и в точности соответствует их общепринятой математической записи. Например, при вставке оператора суммы (рис. 3.7) необходимо задать четыре величины: переменную, по которой надо произвести суммирование, нижний и верхний пределы, а также само выражение, которое будет стоять под знаком суммы (пример заполненного оператора суммы см. ниже в листинге 3.22).
Для того чтобы вычислить неопределенный интеграл, следует заполнить два местозаполнителя: подынтегрального выражения и переменной интегрирования.
Рис. 3.7. Вставка оператора суммирования
Перечислим основные вычислительные операторы и приведем простейшие примеры их применения:
Листинг 3.20. Операторы вычисления производных
Листинг 3.21. Операторы интегрирования
Листинг 3.22. Операторы суммирования и вычисления произведения
Листинг 3.23. Операторы суммировани и вычисления произведения
О назначении и особенностях использования ранжированных переменных будет рассказано в следующей главе (см. разд. «Ранжированные переменные» гл. 4).
Листинг З.24. Операторы символьного вычисления пределов
В отличие от других, операторы поиска предела могут быть вычислены только символьно (см. гл. 5).
Операторы суммирования и вычисления произведения фактически являются более удобной записью операторов + и х с большим количеством операндов. А вот вычислительные операторы поиска производных и интегралов существенно отличаются от операторов умножения и сложения тем, что реализованы на основе определенных численных методов, которые в скрытой (невидимой для пользователя) форме запускаются вычислительным процессором Mathcad. При численном расчете интегралов и производных необходимо, хотя бы в общих чертах, представлять принцип работы соответствующих алгоритмов, чтобы избежать ошибок и неожиданностей при получении результатов (численным методам интегрирования и дифференцирования посвящена гл. 7).
Рис. 3.8. Поиск бесконечного ряда
Важно отметить, что имеется возможность вычислять интегралы с одним или обоими бесконечными пределами, а также в символьной форме искать значения бесконечных пределов, сумм (рядов) и произведений. Для удобства ввода кнопка с символом бесконечности помещена на ту же панель инструментов Calculus (Вычисления). Пример вставки символа бесконечности в задаче поиска бесконечного ряда приведен на рис. 3.8.
3.2.3. Логические операторы
Результатом действия логических, или булевых, операторов являются только числа 0 (если логическое выражение, записанное с их помощью, истинно) или 1 (если логическое выражение ложно). Чтобы вычислить значение логического выражения, например 1=1 (рис. 3.9):
Рис. 3.9. Вставка логического оператора
Получается абсурдное на первый взгляд выражение i«i=i. Однако на самом деле все правильно. Справа от оператора вывода записано логическое выражение 1*1 (обратите внимание, что логический знак равенства выглядит по-другому, нежели обычный), которое является истинным. Поэтому значение данного выражения равно 1, что и показано справа от знака равенства.
Перечислим логические операторы:
Операнды в логических выражениях могут быть любыми числами. Однако если оператор по смыслу применим только к 0 и 1, то любое неравное нулю число по умолчанию принимается равным 1. Но в результате все равно может получиться либо 0, либо 1. Например, ¬ (-0.33)=0.
Примеры действия логических операторов приведены в листингах 3.25 и 3.26.
Листинг 3.25. Операторы сравнения.
Листинг 3.26. Булевы операторы.
Логические операторы чрезвычайно важны при записи подлежащих решению алгебраических уравнений и неравенств в приемлемой для Mathcad форме.
3.2.4. Матричные операторы
Матричные операторы предназначены для совершения различных действий над векторами и матрицами. Поскольку большинство из них реализует численные алгоритмы, о них будет подробно рассказано в части III (см. гл. 9).
3.2.5. Операторы выражения
Почти все вычислительные операторы были рассмотрены выше (см. разд. 3.1). Они сгруппированы на панели Evaluation (Выражения).
Рассмотрим различие между операторами обычного присваивания и глобального присваивания (процесс его вставки в документ показан на рис. 3.10). Для того чтобы вычислить выражение, содержащее некоторую переменную или функцию, необходимо, чтобы этой переменной ранее в документе было присвоено какое-либо значение. Иначе будет выдаваться сообщение об ошибке (рис. 3.11). Однако если в любой части документа (например в самом низу) вставить оператор глобального присваивания, то переменная будет определена в любой части документа (листинг 3.27).
Листинг 3.27. Действие операторов присваивания и глобального присваивания
Рис. 3.10. Кнопка глобального присваивания на панели Evaluation
Рис. 3.11. Обычное присваивание сказывается только на нижеследующей части документа
Как видно из листинга 3.27, обычное, или локальное, присваивание переменной х действует от момента х:=10 до момента глобального присваивания х = 5. Вообще говоря, Mathcad анализирует документы на предмет присваивания переменных в два прохода: сначала распознаются все операторы глобального присваивания, и все выражения в документе сверху вниз и слева направо вычисляются в соответствии с ними, а при втором проходе в том же порядке анализируются операторы локального присваивания, и все выражения вычисляются с поправкой на них. Приведем важный пример взаимодействия глобального и локального присваивания (листинг 3.28).
Листинг 3.28. Взаимодействие глобального и локального присваивания
Обратите внимание, что, несмотря на локальное присваивание переменной x:=10 в третьей строке листинга, значение переменной у вычисляется все-таки в соответствии с глобальным значением х = 5, поскольку сама переменная y глобальным образом определена через переменную х.
Аккуратнее относитесь к определению глобальных переменных и, во избежание путаницы, старайтесь не переопределять их локально. Применяйте глобальное присваивание только для определения констант и, по возможности, избегайте случаев, когда оператор вывода предшествует оператору глобального присваивания для улучшения читаемости документов.
Точно так же как Вы глобально присваиваете значение переменной, допускается глобально определять функции (листинг 3.29).
Листинг 3.29. Глобальное определение функции пользователя
Оператор глобального присваивания можно отображать не только в виде тождественного равенства, но и как обычный знак равенства. Для этого вызовите на операторе контекстное меню и в подменю пункта View Definition As выберите пункт Equal (Равенство).
3.2.6. Создание оператора пользователя
Запросы взыскательного пользователя могут отнюдь не исчерпываться набором встроенных операторов Mathcad. Для вставки в документы заранее созданных операторов пользователя применяется панель Evaluation (Выражения).
Выбор имени оператора
Оператор пользователя может иметь абсолютно любое имя (см. ранее раздел «Имена, содержащие операторы и специальные символы» этой главы). Однако, исходя из смысла операторов, логично давать им имена в виде символов. Это удобно делать с помощью коллекции символов, находящейся в справочной информации Mathcad. Выберите в верхнем меню Help / QuickSheets (Справка / Быстрые шпаргалки) и войдите затем в самый последний раздел Extra Math Symbols (Дополнительные символы) открывшегося содержания Шпаргалок. Там Вы увидите целую коллекцию символов, любой из которых можно просто перетащить указателем мыши в нужное место документа.
Присваивать оператору некоторое действие следует точно так же, как функции пользователя.
Создание бинарного оператора
Чтобы создать бинарный оператор, например реализующий действие х у 2:
Создание унарного оператора
Унарный оператор создается точно так же, только вместо двух операндов, отделенных запятой, Вам следует ввести лишь один операнд. Например, чтобы создать оператор с именем %, реализующий перевод доли числа в проценты и сводящийся к умножению его на 100 (листинг 3.30):
Листинг 3.30. Создание унарного оператора пользователя
Использование бинарного оператора
Возможны два вида вставки пользовательского бинарного оператора в документ, отличающиеся только отображением в документе. Чтобы вставить оператор в форме графа (или дерева):
Результат действия оператора показан на рис. 3.12, внизу слева.
Кроме древовидной формы оператора, допускается использование его в виде последовательности «операнд- имя оператора- другой операнд» (рис. 3.12, вторая строка слева). Чтобы ввести такую форму оператора, следует нажать соседнюю кнопку Infix Operator (Оператор внутри) с изображением xfy.
Рис. 3.12. Применение пользовательского бинарного оператора
Использование унарного оператора
Рис. 3.13. Применение пользовательского унарного оператора
3.3. Управление вычислениями
3.3.1. Режимы вычислений
Все примеры, которые мы рассматриваем в этой книге, неявно предполагают, что включен автоматический режим вычислений. Он включается по умолчанию при создании пустого документа, поэтому если вводятся выражения, содержащие операторы вывода, они вычисляются немедленно. Вообще говоря, имеется два режима вычислений:
Режим вычислений можно выбрать с помощью команды Tools / Calculate / Automatic Calculation (Сервис / Пересчитать / Считать автоматически), как показано на рис. 3.14. Если в этой строке меню установлен флажок проверки, значит, включен автоматический режим, если флажка нет, то редактируется документ в ручном режиме вычислений. Чтобы сменить режим, просто выберите этот пункт меню (например, нажав кнопку мыши в ситуации, показанной на рис 3.14, включите ручной режим).
Режим вычислений устанавливается независимо для каждого документа Одновременно могут быть открыты несколько документов, вычисляемых в различных режимах
Преимущества и недостатки каждого режима очевидны. С одной стороны, автоматические вычисления упрощают работу с документом, поскольку результаты расчетов появляются в реальном времени, и пользователь имеет возможность анализировать их сразу. С другой стороны, если вычисления сложные, то они могут отнимать много времени (что особенно заметно на компьютерах с не слишком мощным процессором и небольшим объемом оперативной памяти). Поэтому зачастую, чтобы продолжить редактирование документа, требуется довольно длительное ожидание завершения расчетов В частности, если поменять какое-либо выражение в начале большого документа, которое влияет на последующие вычисления, то все они пересчитываются заново. В таких случаях часто удобнее редактировать текст в ручном режиме, а вычисления включать по мере необходимости.
Рис. 3.14. Выбор режима вычислений
3.3.2. Прерывание вычислений
Mathcad осуществляет вычисления документа, как это принято в большинстве сред программирования: сверху вниз и слева направо. Пока очередное выражение находится в процессе расчета (вычислительным или символьным процессором), оно выделяется рамкой зеленого цвета (рис. 3.15), а любые действия пользователя по дальнейшему редактированию документа блокируются. Если у вас не слишком быстрый компьютер, а формулы достаточно сложные, то можно наблюдать, как зеленая рамка перескакивает с одного выражения на другое
Чтобы прервать затянувшийся процесс вычислений, нажмите клавишу Появится диалоговое окно, показанное на рис. 3.16, в котором нужно подтвердить прерывание вычислений (ОК). В этом случае выражения, которые Mathcad не успел вычислить, будут помечены в документы красным цветом. Прерванные вычисления возобновляются нажатием клавиши или командой Tools / Calculate / Calculate Now (Математика / Пересчитать / Пересчитать)
Рис. 3.15. Процесс вычисления выражения
Рис. 3.16. Диалоговое окно прерывания вычислений
3.3.3. Вычисления в ручном режиме
Если флажок в строке команды Tools / Calculate / Automatic Calculation (Сервис / Пересчитать / Считать автоматически) снят, пользователь должен запускать вычисления самостоятельно
Управлять размером видимой части документа можно при помощи изменения масштаба отображения документа
При редактировании текста в ручном режиме не выполняются ни вычисления, ни построение графиков, а соответствующие места в выражениях формально отмечаются местозаполнителями (рис. 3.17.)
Рис. 3.17. Чтобы запустить вычисления в ручном режиме, нажмите кнопку Calculate
3.3.4. Отключение вычисления отдельных формул
Mathcad позволяет отключить вычисление какой-либо формулы. При этом она не будет влиять на последующие вычисления. Чтобы не вычислять определенную формулу в документе:
Эквивалентный способ выключения вычисления отдельной формулы заключается в вызове диалогового окна Properties (Свойства) через одноименный пункт контекстного меню (см. рис. 3.18) или главного меню Format (Формат). В диалоге Properties следует перейти на вкладку Calculation (Вычисления) и установить там флажок Disable Evaluations (Выключить вычисления).
Результат выключения формулы из процесса вычислений проиллюстрирован листингом 3.31. На нем выключен второй из операторов присваивания, о чем можно судить по наличию черного квадрата сразу за формулой. Соответственно, в последней строке выведенное значение переменной х «не чувствует» выключенного присваивания и остается равным 3.
Листинг 3.31. Вычисление второго оператора присваивания выключено
Рис. 3.18. Отключение вычисления формулы с помощью контекстного меню
3.3.5. Оптимизация вычислений
Чтобы включить или отключить режим оптимизации всех выражений в активном документе, выберите команду Tools / Optimize / Worksheet (Сервис / Оптимизация / Документ), как показано на рис. 3.19. Содержание документа, изображенного на этом же рисунке, помогает понять математический смысл режима оптимизации: для ускорения вычисления нижнего (определенного) интеграла выгодно использовать его аналитическое решение, определенное символьным процессором.
Чтобы изменить режим оптимизации для отдельной формулы, не меняя выбранного режима для остальных выражений документа, выделите эту формулу линиями ввода и выберите в верхнем меню Tools / Optimize / Equation (Сервис / Оптимизация / Уравнение).
Рис. 3.19. Режим оптимизации вычислений
3.3.6. Диалоговое окно Worksheet Options
Наравне с изложенными способами установки режимов вычислений, их также удобно устанавливать для всего документа на вкладке Calculations (Вычисления) диалогового окна Worksheet Options (Опции документа), вызываемого с помощью команды Tools / Worksheet Options (Сервис / Опции документа). Три флажка задают включение соответствующего режима вычислений (рис. 3.20).
Рис. 3.20. Управление режимом вычислений в диалоговом окне Worksheet Options
Помимо флажков проверки, имеется также пара переключателей, которая позволяет реализовать новый режим ускоренных вычислений (higher speed calculation). Он включается выбором переключателя Higher speed calculation (Ускоренные вычисления), изображенного на рис. 3.20. Чтобы отключить режим ускоренных вычислений, выберите переключатель Backward compatibility (Обратная совместимость). В этом случае вычисления будут проводиться без дополнительной оптимизации по скорости, в точности так же, как в предыдущих версиях (Matvcsd 2000 и ниже) Необходимость таких расчетов может возникнуть, если вдруг Вы столкнулись с сообщениями об ошибках в документах, созданных в предыдущих версиях Mathcad и корректно в них работающих.
3.4. Сообщения об ошибках
Когда процессор Mathcad по тем или иным причинам не может вычислить выражение, он вместо ответа выдает сообщение об ошибке (рис. 3.21). Если курсор находится вне формулы с ошибкой, то в ней имя функции или переменной, которая вызвала ошибку, отмечается красным цветом (сверху на рис. 3.21). При щелчке на такой формуле под ней появляется текстовое сообщение о типе ошибки, обрамленное черным прямоугольником (рис. 3.21, снизу).
Рис. 3.21. Сообщение об ошибке
Если некоторые выражения вызывают ошибку, они просто игнорируются, а следующие выражения в документе по-прежнему вычисляются. Конечно, если формулы, вызвавшие ошибку, влияют на значения нижеследующих формул, то они будут также интерпретированы как ошибочные. Поэтому, встречая в документе сообщения об ошибках, найдите сначала самое первое из них. Часто ее устранение позволяет избавиться и от последующих ошибок.
Как бы хорошо вы ни овладели системой Mathcad, сообщения об ошибках все равно будут появляться в документах. Они могут быть связаны как с орфографическими ошибками, так и с более серьезными внутренними причинами, требующими знания численных алгоритмов расчетов. Искусство математика во многом состоит в умении анализировать ошибочные ситуации и находить правильный выход из них.
Возможности Mathcad можно в полной мере оценить только при использовании переменных и функций.
Два знака равенства
В выражениях Вам необходимо использовать числа (константы), переменные, операторы и знаки равенства. В повседневной жизни мы используем знак равенства = для различных операций. Mathcad, однако, различает эти операции. Наиболее важные из них:
Введите следующие выражения:
Эти два знака равенства принципиально различны, поэтому их не следует путать.
Поместите курсор перед числом 4 в первом выражении:
Удалите число 4 с помощью клавиши и введите 5. Щелкните по пустой области и убедитесь, что результат третьего выражения изменился на 25:
Попробуйте удалить число 25. Вы увидите, что при первом нажатии число станет красным, а при повторном нажатии удалится 25 и знак равенства:
Использование переменных
Введите следующие выражения:
Теперь о том, какие имена можно и нельзя использовать для переменных. Есть несколько правил: имя переменной не может начинаться с цифры и в имени переменной нельзя использовать пробелы и знаки операторов. Имена переменных могут начинаться:
Вот несколько примеров:
Переменные можно использовать, только если они были определены ранее. «Ранее» означает, что объявление переменной должно располагать выше или левее выражения, где она используется. Если переменная не объявлена, появится сообщение об ошибке:
Подстрочные индексы
В Mathcad есть два различных вида подстрочных индекса для переменных:
Чтобы набрать описательный подстрочный индекс, введите имя переменной, нажмите и наберите подстрочный индекс:
Переменная с описательным подстрочным индексом – это обычная переменная, со своим именем. Индекс массива существенно отличается от него. Этот индекс можно ввести, нажав открывающую квадратную скобку [ после имени переменной. У переменной может быть один или два индекса массива:
Индекс массива должен быть числом. При этом не следует путать виды подстрочных индексов, т.к. они выглядят практически идентично:
Разница видна при щелчке мышью по выражению:
У переменной может быть сразу описательный индекс и индекс массива. Сначала всегда идет описательный индекс:
Функции
Переменные можно использовать, только если они были определены ранее. Однако есть одно важное исключение – определение функции. Можно определить собственную функцию, как на примере ниже:
Переменная a является локальной для функции. Она не определена за пределами функции:
Если Вы определили a до определения функции, значение a не будет изменено в процессе вычисления значения функции.
Внимание: если Вы дали переменной такое же имя, как и функции, Вы больше не сможете использовать эту функцию. У переменной и функции должны быть разные имена:
Этой проблемы можно избежать, задав для переменной и функции разные обозначения. Об этом мы поговорим в уроке 10 «Обозначения и единицы измерения».
Функции могут содержать две и более переменной:
Здесь значения переменных x и y также не изменяются при вычислении функции.
Встроенные функции
В Mathcad есть большое число встроенных функций. Зайдите на вкладку Функции:
Список всех функций можно увидеть, щелкнув по кнопке Все функции.
Заметьте, что тригонометрические функции принимаю в качестве аргумента угол в радианах, а не в градусах. Для использования градусов используйте символ с вкладки Математика –> Операторы и символы –> Символы:
Математика в тексте
В текст можно вставить математическую область. Таким образом, можно использовать над- и подстрочные символы в тексте. Для этого при редактировании текстовой области нажмите кнопку Математика с вкладки Математика –> Области:
Резюме
2. Элементы языка MathCAD
К основным элементам математических выражений MathCAD относятся операторы, константы, переменные, массивы и функции.
а) действие, которое должно выполняться при наличии тех или иных значений операндов;
б) сколько, где и какие операнды должны быть введены в оператор.
Любой оператор в MathCAD можно ввести двумя способами:
· нажав клавишу (сочетание клавиш) на клавиатуре;
· используя математическую панель.
Для присвоения или вывода содержимого ячейки памяти, связанной с переменной, используются следующие операторы:
— знак присвоения (вводится нажатием клавиши : на клавиатуре (двоеточие в английской раскладке клавиатуры) или нажатием соответствующей кнопки на панели Калькулятор );
Оператор (простое равно), отведенный для вывода значения константы или переменной.
Процесс вычисления осуществляется при помощи:
Панели Калькулятора, Панели Исчислений и Панели Оценки.
Внимание. Если необходимо поделить все выражение в числителе, то его нужно первоначально выделить, нажав пробел на клавиатуре или поместив в скобки.
Константы — поименованные объекты, хранящие некоторые значения, которые не могут быть изменены.
Переменные являются поименованными объектами, имеющими некоторое значение, которое может изменяться по ходу выполнения программы. Переменные могут быть числовыми, строковыми, символьными и т.д. Значения переменным задаются с помощью знака присвоить (: =).
Внимание. MathCAD прописные и строчные буквы воспринимает как разные идентификаторы.
Эти переменные имеют ряд фиксированных значений, либо целочисленных, либо изменяющихся с определенным шагом от начального значения до конечного.
Для создания ранжированной переменной используется выражение:
Внимание. Если в диапазоне изменения переменной не указывать шаг, то программа автоматически примет его равным 1.
Чтобы записать ранжированную переменную, нужно ввести:
Первое значение диапазона (–16);
Второе значение диапазона, которое является суммой первого значения и шага (–16+0.1);
Последнее значение диапазона (16).
В результате у вас получится: x := –16,–16+0.1..16.
Любое выражение с ранжированными переменными после знака равенства инициирует таблицу вывода.
В таблицы вывода можно и вставлять числовые значения и корректировать их.
Переменная с индексом
В качестве индекса можно использовать как константу, так и выражение. Для инициализации переменной с индексом необходимо ввести элементы массива, разделяя их запятыми.
Пример. Ввод индексных переменных.
Определение переменных в Mathcad
Чтобы определить переменную, достаточно ввести её имя и присвоить ей некоторое значение, для чего служит оператор присваивания.
1. Введите в желаемом месте документа имя переменной.
2. Введите оператор присваивания с помощью клавиши или нажатием соответствующей кнопки Definition (Присваивание) на панели инструментов Calculator (Арифметика) или Evaluation (Выражения).
3. Введите в появившийся фрейм требуемое значение переменной.
Ввести новое значение переменной возможно как в виде числа, так и в виде математического выражения, содержащего другие переменные и функции, а также в виде строкового выражения (листинг 3.1). В последнем случае будет создана переменная s не численного, а строкового типа.
Функции в Mathcad записываются в обычной для математика форме, например,
Легче всего ввести написание функции в документ при помощи клавиатуры.
В Mathcad формально можно разделить функции на два типа˸
Применение функций обоих типов в расчетах совершенно одинаково, с тем исключением, что любую встроенную функцию можно сразу использовать в любом месте документа, а пользовательскую функцию необходимо предварительно определить в документе до момента вычисления её значения.