Перейти к содержимому

Маткад эта переменная не определена что делать

  • автор:

Ошибка — эта переменная не определена. Как исправить

Ошибка — эта переменная не определена. Как исправить
Не могу найти ошибку, делал тоже самое на компе в универе, когда начал вбивать дома выдает вот это

Ошибка — эта переменная не определена
Народ, помогите! Делаю все "по инструкции", только вот вычисление не работает. Говорит, что.

Ошибка — эта переменная не определена
Друзья, всем привет, подскажите пожалуйста в чем проблема (см.Скрин или задачу), в Given пишу X1.

Ошибка — эта переменная не определена
Помогите пожалуйста решить задачу или помогите найти ошибку. Уже неделю сижу и ничего не могу найти.

Mathcad переменная не определена в уравнении

Часто в курсовом проекте, либо в лабораторной работе встает вопрос о решении какого-либо сложного большого уравнения с одним неизвестным. Не всегда хочется тратить 10 — 20 минут на рутинные преобразования в процессе которых, велика вероятность допущения ошибки. Целесообразно воспользоваться математической программой (в данном случае MathCad), которая быстро и правильно сможет дать ответ. Мы рассмотрим пример использования 2-ух способов решения уравнений, причем как в числах так и в символьном виде.

Способ №1: использование вычислительного блока Given — Find:

Это наиболее распространенный способ решения обычных алгебраических уравнений. Он достаточно прост. В рабочем поле записываем первое слово Given. Это служебное слово. Оно «подключает» определенные программные модули mathcad, необходимые для решения уравнения. Эти модули в своем составе содержат основные численные методы решения: метод бисекции, простой итерации и пр. Далее пишется наше уравнение в любом — явном или неявном виде. Само уравнение набирается с клавиатуры с использованием логического символа «равно». На панельке Boolean (Булева алгебра) он выделен жирным шрифтом (см. рис. 1).
Рис. 1. Панель «Булевая алгебра»
Далее пишется слово Find(x) (где х — переменная). Это функция, которая и получает ответ. Функцию Find(x) можно присвоить какой-либо переменной и использовать далее в расчетах. Для получения результата, после Find(x) следует поставить символ «→» либо » Вычисления»
В зависимости от сложности уравнения через некоторое время 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

В ходе численного решения обычно выделяют два этапа:

  • отделение корней – определение интервала нахождения каждого корня или определение приблизительного значения корня. В системе 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, вектор-столбец решений системы можно искать в виде

Этот прием используется в Mathcad так:

  1. задается матрица коэффициентов при неизвестных системы A;
  2. задается столбец свободных членов b;
  3. вводится формула для нахождения решения системы X:=A -1 b;
  4. выводится вектор решений системы X=.

Кроме того, пакет Mathcad имеет встроенную функцию

lsolve(A, b),

возвращающую вектор-столбец решений системы линейных алгебраических уравнений. Аргументами функции lsolve являются матрица коэффициентов при неизвестных системы и столбец свободных членов. Порядок решения аналогичен рассмотренному, но вместо формулы X:=A -1 b используется X:=lsolve(A, b).

Реализовать широко известный метод Гаусса решения систем линейных уравнений позволяет встроенная функция rref(M), возвращающая ступенчатый вид матрицы M. Если в качестве аргумента взять расширенную матрицу системы, то в результате применения rref получится матрица, на диагонали которой – единицы, а последний столбец представляет собой столбец решений системы.

Решение системы линейных уравнений можно осуществить с помощью блоков Given…Find, Given…Minerr. При этом неизвестным системы задается произвольное начальное приближение, а проверка необязательна.

Порядок выполнения лабораторной работы

  1. Загрузить Mathcad Start / All Programs / Mathsoft Apps / Mathcad (Пуск / Все программы / Mathsoft Apps / Mathcad).
  2. Сохранить в личной папке на диске z: новый документ с именем ФИО1, лучше использовать латинские буквы. Производить сохранение регулярно в процессе работы (Ctrl + S).
  3. Вставить текстовую область Insert / Text Region (Вставка / Область текста) и ввести в поле документа текст:

Лабораторная работа № 4
Решение уравнений и систем в Mathcad.

  1. В новой текстовой области ввести фамилию, имя, отчество, учебный шифр и номер варианта.
  2. Выполнить задание 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 скалярный трехмерный

Функция Find (Найти) работает в ключевой связке с ключевым словом Given (Дано). Конструкция Given — Find использует расчетную методику, основанную на поиске корня вблизи точки начального приближения, заданной пользователем.

Если задано уравнение f(x) = 0, то его можно решить следующим образом с помощью блока Given — Find:

— задать начальное приближение

— ввести служебное слово

  • — записать уравнение, используя знак боулево равно
  • — написать функцию find с неизвестной переменной в качестве параметра

В результате после знака равно выведется найденный корень.

Если существует несколько корней, то их можно найти, меняя начальное приближение х0 на близкое к искомому корню.

В Mathcad можно писать программы двух видов

  • 1)в виде скриптов(последовательность команд)
  • 2)в виде настоящих программ с входными и выходными параметрами.

Mathcad — система компьютерной алгебры из класса систем автоматизированного проектирования, ориентированная на подготовку интерактивных документов с вы0числениями и визуальным сопровождением, отличается легкостью использования и применения для коллективной работы.

Mathcad был задуман и первоначально написан Алленом Раздовом из Массачусетского технологического института (MIT).

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

Работа осуществляется в пределах рабочего листа, на котором уравнения и выражения отображаются графически, в противовес текстовой записи в языках программирования. При создании документов-приложений используется принцип WYSIWYG (What You See Is What You Get — «что видишь, то и получаешь»).

Несмотря на то, что эта программа в основном ориентирована на пользователей-непрограммистов, Mathcad также используется в сложных проектах, чтобы визуализировать результаты математического моделирования, путем использования распределённых вычислений и традиционных языков программирования. Также Mathcad часто используется в крупных инженерных проектах, где большое значение имеет трассируемость и соответствие стандартам.

Mathcad достаточно удобно использовать для обучения, вычислений и инженерных расчетов. Открытая архитектура приложения в сочетании с поддержкой технологий .NET и XML позволяют легко интегрировать Mathcad практически в любые ИТ-структуры и инженерные приложения. Есть возможность создания электронных книг (e-Book).

Программа содержит сотни операторов и встроенных функций для решения различных технических задач. Программа позволяет выполнять численные и символьные вычисления, производить операции с скалярными величинами, векторами и матрицами, автоматически переводить одни единицы измерения в другие.

Урок 5. Переменные и функции в Mathcad

Возможности Mathcad можно в полной мере оценить только при использовании переменных и функций.

Два знака равенства

В выражениях Вам необходимо использовать числа (константы), переменные, операторы и знаки равенства. В повседневной жизни мы используем знак равенства = для различных операций. Mathcad, однако, различает эти операции. Наиболее важные из них:

  • определение (присвоить значение) – вводится через двоеточие [:]
  • вычисление – вводится через знак равенства [=]

Оператор определения не менее важен, чем оператор вычисления. Значение выражения y можно отобразить только после присвоения ему какого-либо значения. x и y здесь являются переменными.

Введите следующие выражения:

Эти два знака равенства принципиально различны, поэтому их не следует путать.

Поместите курсор перед числом 4 в первом выражении:

Удалите число 4 с помощью клавиши [Delete] и введите 5. Щелкните по пустой области и убедитесь, что результат третьего выражения изменился на 25:

Попробуйте удалить число 25. Вы увидите, что при первом нажатии число станет красным, а при повторном нажатии удалится 25 и знак равенства:

Использование переменных

Введите следующие выражения:

Попробуйте изменить значение x на 100, 0.5, -4 и 0:

Первые два случая дадут в результате число. При -4 получится мнимое число. Да, Mathcadможет работать и с такими числами. При нуле программа выдаст ошибку, а результат будет обведен красным. Если Вы щелкните по неправильному выражению, то получите описание, что может быть не так:

Теперь о том, какие имена можно и нельзя использовать для переменных. Есть несколько правил: имя переменной не может начинаться с цифры и в имени переменной нельзя использовать пробелы и знаки операторов. Имена переменных могут начинаться:

  • с любой строчной или прописной буквы
  • другие символы, если они не являются операторами
  • символы с вкладки Математика –> Операторы и символы –> Символы
  • символы из Таблицы символов Windows

Вот несколько примеров:

Переменные можно использовать, только если они были определены ранее. «Ранее» означает, что объявление переменной должно располагать выше или левее выражения, где она используется. Если переменная не объявлена, появится сообщение об ошибке:

Подстрочные индексы

В Mathcad есть два различных вида подстрочных индекса для переменных:

  1. Описательный подстрочный индекс.
  2. Индекс массива (матрицы).

Чтобы набрать описательный подстрочный индекс, введите имя переменной, нажмите [Ctrl+-] и наберите подстрочный индекс:

Переменная с описательным подстрочным индексом – это обычная переменная, со своим именем. Индекс массива существенно отличается от него. Этот индекс можно ввести, нажав открывающую квадратную скобку [ после имени переменной. У переменной может быть один или два индекса массива:

Индекс массива должен быть числом. При этом не следует путать виды подстрочных индексов, т.к. они выглядят практически идентично:

Разница видна при щелчке мышью по выражению:

У переменной может быть сразу описательный индекс и индекс массива. Сначала всегда идет описательный индекс:

Функции

Переменные можно использовать, только если они были определены ранее. Однако есть одно важное исключение – определение функции. Можно определить собственную функцию, как на примере ниже:

Переменная a является локальной для функции. Она не определена за пределами функции:

Если Вы определили a до определения функции, значение a не будет изменено в процессе вычисления значения функции.

Внимание: если Вы дали переменной такое же имя, как и функции, Вы больше не сможете использовать эту функцию. У переменной и функции должны быть разные имена:

Этой проблемы можно избежать, задав для переменной и функции разные обозначения. Об этом мы поговорим в уроке 10 «Обозначения и единицы измерения».

Функции могут содержать две и более переменной:

Здесь значения переменных xи yтакже не изменяются при вычислении функции.

Встроенные функции

В Mathcad есть большое число встроенных функций. Зайдите на вкладку Функции:

Список всех функций можно увидеть, щелкнув по кнопке Все функции.

Заметьте, что тригонометрические функции принимаю в качестве аргумента угол в радианах, а не в градусах. Для использования градусов используйте символ с вкладки Математика –> Операторы и символы –> Символы:

Математика в тексте

В текст можно вставить математическую область. Таким образом, можно использовать над- и подстрочные символы в тексте. Для этого при редактировании текстовой области нажмите кнопку Математика с вкладки Математика –> Области:

Функции и переменные в MathСad

Mathcad раскрывается в полной мере при использовании переменных и функций.

Два знака равенства

В математических вычислениях мы используем множество различных констант, переменных, операторов и знаков равенства. Обычно в жизни мы используем знак равенства для многих разных операций, но Mathcad отличает их. Наиболее важными операциями являются:

  • определение (присвоение значения) — используется двоеточие;
  • вычисление — используется знак равенства.

Важность оператора определения не меньше, чем важность оператора вычисления. В приведенном ниже примере значение y можно вычислить лишь после присвоения ему определенного значения. х и у здесь являются переменными.

Два знака равенства, которые изображены выше, имеют совершенно разные значения, поэтому нужно очень внимательно относится к ним.

Поставьте курсор перед числом 4 в примере выше.

Удалите число 4 клавишей [Delete], и введите 5. Нажмите на пустой области, чтобы выйти из области вычисления и увидите, что результат вычислений поменялся на 25:

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

Использование переменных

Введите такие выражения в область вычисления

Проведите операции замены значения х на такие: 100, 0.5, -4 и 0.

В первых двух случаях вы получите число в качестве результата. В третьем случае у вас будет мнимое число. При значении х ноль программа выведет ошибку и обведет результат красным. Если вы нажмете на красное выделение, то увидите описание проблемы:

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

  • с любой буквы как большой, так и маленькой;
  • с других символов, которые не являются операторами;
  • с символов из вкладки Математика -> Операторы и символы -> Символы;
  • с символов из таблицы символов ОС Windows.

Использование переменных доступно, только если вы определите их заранее. Термин «заранее» обозначает, что присвоение значения переменной должно производиться выше или левее выражения, где эта переменная используется. Если вы не объявили переменную заранее, то появится сообщение об ошибке:

Подстрочные индексы

Mathcad существует два типа подстрочных индексов:

  1. Описательный подстрочный индекс.
  2. Индекс массива (матрицы).

Для ввода описательного индекса сначала введите желаемое имя переменной, а потом нажмите комбинацию [Ctrl+-], далее вводите подстрочный индекс.

Переменная, которая имеет описательный индекс — это простая переменная, которой присвоено имя. Индекс массива сильно отличается от него. Такой индекс можно присвоить, если ввести квадратную скобку [ после имени переменной. Переменная может иметь один или два индекса массива:

Индекс массива может иметь только числовое значение. При этом не путайте разные типы индексов, так как они довольно схожи визуально.

Более четко разницу видно, если нажать мышкой на выражение

Любая переменная может иметь оба индекса одновременно: описательный и индекс массива. Сначала всегда будет прописан описательный.

Функции

Использование переменных возможно только при определении их заранее. Но есть исключение из этого правила — определение функции. Можно произвести определение своей функции. Пример ниже.

Переменная а имеет для функции локальное значение. Она не несет определения за пределами этой функции.

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

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

Функции могут иметь более одной переменной.

Значения переменных х и у не изменяются и в этой функции.

Встроенные функции

Mathcad имеет очень много встроенных функций. Перейдите во вкладку Функции.

Все функции вы можете увидеть, если нажмете на кнопку Все функции.

Обратите внимание, что все тригонометрические функции в качестве аргумента получают угол не в градусах, а в радианах. Чтобы использовать градусы нужно выбрать их во вкладке Математика -> Операторы и символы -> Символы.

Математика в тексте

В текстовую область можно поместить область вычислений. Так вы сможете использовать в тексте подстрочные и надстрочные символы. Чтобы сделать это, при редактировании текстовой области нужно нажать на кнопку Математика во вкладке Математика -> Области.

Резюме

1. Mathcad использует два знака равенства отдельно для определения := и для вычисления =.

2. Имя переменной нельзя начинать с цифры. Можно использовать для этого только буквы или символы, отличные от символов операторов. Символы можно вводить с панели Математика -> Операторы и символы -> Символы, а также брать из панели символов Windows.

3. Для определения значения переменной нужно:

  • щелкнуть на пустую область;
  • ввести имя переменной;
  • ввести оператор определения [:=];
  • ввести значение переменной.

4. Для присвоения переменной подстрочного описательного индекса нужно:

  • нажать мышкой в конце имени переменной;
  • нажать [Ctrl+-];
  • ввести подстрочный индекс.

5. Для присвоения переменной индекса массива:

  • нажмите мышкой в конце имени переменной;
  • нажмите на клавиатуре на открывающуюся квадратную скобку [;
  • ввести нужный подстрочный индекс.

6. Определять переменную нужно только выше или левее места использования ее в вычислениях.

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

8. Переменные в функциях имеют определение только в рамках этой функции.

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

Сообщения об ошибках в Mathcad

Тип бесконечности вводится нажатием сочетания клавиш <Ctrl>+<Shift>+<2>.

Для изменения алгоритма, использующего бесконечный предел, или для вычисления какого-либо другого интеграла щелкните на интеграле правой кнопкой мыши и измените алгоритм с помощью контекстного меню

Can only evaluate an n-th order derivative when n=0,1..5.

Можно вычислить n-й порядок производной, только когда п=0,1..5

Порядок производной должен быть одним из следующих чисел: 0, 1, 2,. ..5.

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

Can’t evaluate this function when its argument less than or equal to zero

Невозможно вычислить эту функцию, когда ее аргумент меньше или равен нулю

Такое сообщение может касаться XY- или полярных графиков, имеющих логарифмические оси, на которых или пределы, или некоторые из значений, не положительны

Отрицательные числа и ноль не могут быть расположены нигде на логарифмических осях. Смените тип осей графика или постройте его для других значений

Can’t converge to a solution

Не сходится к решению

Численный метод расходится (не может найти решения)

Убедитесь, что операция не применяется к функции в области непосредственной близости точки ее сингулярности (деления на ноль). Попробуйте поменять параметры численного метода (например начальное приближение).

Попробуйте увеличить константу TOL, т. е. осуществить поиск решения с худшей погрешностью.

Попробуйте поменять численный алгоритм, если это возможно (вызвав контекстное меню нажатием на месте ошибки правой кнопки мыши)

Can’t define the same variable more than once in the same expression

Невозможно определить ту же самую переменную более одного раза в одном и том же выражении

Вы пытаетесь вычислить одну и ту же переменную дважды в одном выражении

Пример подобной ошибки: если Вы создаете вектор с левой стороной а := и используете это же имя справа, то получите ошибку

Can’t determine what units the result of this operation should have

Невозможно определить, в каких единицах следует быть результату этой операции

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

Если выражение включает в себя единицы измерений, то можно возводить его только в действительную фиксированную степень

Cant divide by zero

Деление на ноль невозможно

Где-то в программе или внутри численного метода возникло деление на ноль

Найдите место деления на ноль и устраните его

Попробуйте поменять параметры численного метода, константы точности или сам численный алгоритм

Could not find a solution

Невозможно найти решение

Численный метод расходится (не может найти решения)

См. "Can’t converge to a solution"

Can’t find the data file you’re trying to use

Невозможно найти файл, который Вы пытаетесь использовать

Невозможно найти файл данных или другой тип файла, к которому Вы обращаетесь

Удостоверьтесь, что такой файл существует в указанном месте

Can’t have anything with units or dimensions here

Здесь нет ничего в единицах измерений или в размерностях

Это выражение использует единицы измерений где-то, где они не разрешены

Единицы измерений не разрешены:

— в аргументах большинства функций;

— в экспонентах; — в верхних и нижних индексах.

Для того чтобы использовать выражения с единицами измерений, вначале переведите это выражение в UnitsOf (выражение)

Can’t have more than one array in a contour plot

Нельзя иметь более одного массива в контурном графике

Вы вводите более одного массива в местозаполнитель контурного или поверхностного графика

Можно иметь только один массив в данном местозаполнителе, т. к. графики могут выдавать лишь одну поверхность в один момент времени

Can’t perform this operation on the entire array at once. Try using "vectorize" to perform it element by element

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

Например, можно увидеть это сообщение при попытке разделить один вектор на другой

Для того чтобы применять функцию или оператор к каждому элементу вектора или матрицы, используйте оператор векторизации

Can’t plot this many points

Невозможно начертить график с таким большим количеством точек

Попытка построения графика с числом точек, превосходящим возможное

Попробуйте сделать число точек меньше, чем 150 000

Can’t put a ":=" inside a solve block

Нельзя помещать ":=" внутрь вычислительного блока

Внутри вычислительного блока не должно быть формулировки присваивания. Он должен содержать только булевы выражения

Используйте панель с булевыми операторами

Can’t raise an expression having units to a complex power

Нельзя возводить в комплексную степень ыражение, имеющее единицы измерений

Это выражение содержит единицы измерений, а Вы возводите его в комплексную степень

Выражение с единицами измерений можно возводить только в действительную степень. Для того чтобы возводить в комплексную степень выражение с единицами измерений, вначале переведите это выражение в UnitsOf (выражение) — единицы измерений будут отменены

Can’t solve a system having this many equations

Невозможно решить систему, имеющую так много уравнений

Mathcad не способен решить систему

См. определение термина "вычислительный блок " (гл. 8)

Can’t understand something in this data file

Невозможно что-то понять в файле данных

Файл, к которому Вы пытаетесь получить доступ при помощи READ или READ*, имеет дефект

Файл должен быть ASCII-текстом

Все строки файла должны иметь тот же номер значений, что используется в READ*

Если файл имеет требуемый формат, а это сообщение продолжает появляться, попробуйте удалить любую часть текста из файла

Can’t understand the name of this function

Невозможно понять имя этой функции

Такое сообщение может появиться, если в качестве имени функции используется, например, число 6(х)

Выражение должно соответствовать требованиям, предъявляемым в Mathcad к написанию имен функций

Can’t understand the way this range variable is defined

Невозможно понять определение ранжированной переменной

Определение ранжированной переменной неверно

Вводя область определения ранжированной переменной, необходимо использовать один из следующих видов:

Rvar := nl . .n2 Rvar := nl,n2 . .пЗ

Cant understand this number

Невозможно понять это число

Это выражение содержит символ или десятичную точку там, где это непозволительно

Вы увидите эту ошибку, например, если случайно запишете число так: .452.

Cant use a range variable in a solve block

Невозможно использовать ранжированную переменную в вычислительном блоке

Эта ошибка появится, если использовать область определения переменной в неподходящем месте

Придумайте алгоритм, не допускающий применения ранжированной переменной в вычислительном блоке

Cannot evaluate this accurately at one or more of the values you specified

Невозможно точно вычислить одно или более значений

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

Проверьте область определения функции

Cross product is defined only for vectors having exactly three elements

Векторное произведение определяется только для векторов, имеющих точно три элемента

Векторное произведение определяется только для векторов, имеющих точно три элемента

См. определение векторного произведения (гл. 9)

Can’t evaluate this expression. It may have resulted in an overflow or an infinite loop

Невозможно вычислить это выражение. Это может быть результатом переполнения или бесконечных циклов

Это функциональное определение может содержать слишком много вложенных функций. Или функция может быть константой в бесконечных циклах

Проверьте несколько итераций цикла

Degree of the polynomial must be between 1 and 99.

Степень полинома должна находиться в пределах между 1 и 99

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

Dimensions must be >4

Размерность должна быть >4

Эта матрица должна иметь по крайней мере 4 ряда и 4 столбца

Вы пытаетесь прочитать больше значений в файле данных, чем там имеется

Например, если файл данных имеет 10 значений, а записано выражение i : =1. 100

xi : =READ* ( file) , то появится это сообщение

End points cannot be the same

Конечные точки не могут быть одинаковы

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

Конечные точки интервала, на котором будет вычисляться решение, должны быть различны

Equation too large

Уравнение слишком большое

Это выражение слишком сложное для вычисления

Разбейте выражение на два или более простых

Floating point error

Ошибка вычислений с плавающей точкой

Функция вычисляется в точке, в которой это не разрешено

Found a singularity while evaluating this expression. You may be dividing by zero

Найдена сингулярность при вычислении этого выражения. Возможно, Вы делите на ноль

Вычисляется функция или выполняется операция с недопустимым значением

Например, это сообщение возникнет при попытке деления на ноль или обращения сингулярной матрицы; разберитесь, где это происходит

Found a number with a magnitude greater than 1СГ307

Найдено число, превышающее значение 10307

Попробуйте поменять параметры численного алгоритма или сам алгоритм

Illegal context. Press <F1> for help

Недопустимый контекст. Нажмите <F1>, чтобы получить помощь

Часто встречается при синтаксических ошибках

Проверьте синтаксис и порядок расположения формул в документе

Матрица, на которую Вы ссылаетесь, не имеет достаточно строк или столбцов

Введите имя матрицы с клавиатуры и нажмите знак "=", чтобы проверить число ее строк и столбцов

Integer too large/ Integer too small

Целое число слишком большое/ слишком маленькое

Это число слишком велико/мало для работы с ним

Если Вы работаете со встроенными функциями, то щелкните на имени функции и вызовите подсказку с помощью <F1>

Аргументы этой функции могут быть некорректны

Если Вы работаете со встроенными функциями, то щелкните на имени функции и вызовите подсказку с помощью <F1 >

Live symbolics not available

Символьные вычисления неприменимы

Это значение должно быть <=10000

Это значение должно быть >=1<Г16

Функция или оператор должен быть строковым аргументом

Must be between two lock regions

Должно быть между двумя запертыми областями

Must be function

Этот аргумент должен быть функцией

Must be increasing

Значения вектора должны быть возрастающими

Введите с клавиатуры имя вектора и знак =, чтобы проверить его значения

Must be less than the number of data points

Должен быть меньше, чем число точек данных

Этот аргумент должен быть меньше, чем число точек имеющихся данных

Must be positive

Должен быть положительным

Невозможно вычислить эту функцию, когда ее значения меньше или равны нулю

Это сообщение может касаться построения XY- или полярных графиков с логарифмическими осями. Отрицательные числа или ноль не могут располагаться на логарифмических осях

Должно быть действительным

Это значение должно быть действительным. Его мнимая часть должна быть нулем

Примером таких выражений могут служить нижний и верхний индексы, решения дифференциальных уравнений, углы

Must be real scalar

Должно быть действительным скаляром

Это значение не должно быть комплексным или мнимым

Must be real vector

Должно быть действительным вектором

Этот вектор не может иметь комплексные или мнимые элементы. Он должен также быть вектором-столбцом, а не строкой

Должна быть квадратной

Эта ошибка выделяет неквадратную матрицу в той операции или функции, в которой ей следует быть квадратной

Например, матрица должна быть квадратной при обращении, возведении ее в степень, или в функциях eigenvals и eigenvec

No solution found

Не найдено решение

Если Вы используете встроенные функции, то щелкните мышью на имени функции и нажмите клавишу <F1>, для того чтобы быть уверенным в корректности использования функции. Однако решение может просто не существовать.

См. также "Can’t converge to a solution"

Not enough memory for this operation

Для этой операции недостаточно памяти

Не хватает памяти, чтобы завершить это вычисление

Попытайтесь освободить немного памяти путем уменьшения массива или матрицы (Mat head тратит около 8 байт памяти на каждый элемент матрицы), или удаления каких-либо больших побитовых отображений, массивов, матриц

Эта матрица не может быть ни сингулярной, ни близкой к сингулярности

Матрица называется сингулярной, если ее определитель равен нулю. Матрица близка к сингулярной, если она имеет высокое число обусловленности (см. гл. 9)

The expression to the left of the equal sign cannot be defined

Выражение слева от знака равенства не может быть определено

В левой части находится что-то, что не является допустимым определяемым выражением

В левой части можно разместить одно из следующих определений:

— имя переменной с верхним или нижним индексом;

— явный вектор или матрицу;

— имя функции с аргументами: f(x,y)

Любые другие выражение не допустимы

The number of rows and/or columns in these arrays do not match

Число рядов и/или столбцов в этих массивах не согласовано

Попытка произвести матричные или векторные операции над массивами, размеры которых не совпадают

Например, сложение двух матриц разного размера недопустимо. Матричное умножение требует, чтобы число столбцов первой матрицы совпадало с числом строк второй (см, разд. 9. 1)

The units in this expression do not match

Размерности в этом выражении не согласованы

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

Проверьте использование размерных переменных

There is an extra comma in this expression

В выражении лишняя запятая

Запятые должны использоваться для того, чтобы отделять:

аргументы в функции

первые два элемента области в определении интервала

выражения в графике элементы во входной таблице нижние индексы в матрице

Любые другие применения запятой приводят к ошибке. Например, запись 4,000 неправильная, а запись 4000 — правильная

This expression is incomplete. You must fill in the placeholders

Это выражение неполное. Необходимо добавить содержимое в место-заполнители

Не заполнены указанные местоза-полнители

Необходимо дописать числа или выражения в указанные местозаполнители

This expression is incomplete. You must provide an operator

Это выражение неполное. Необходимо вставить оператор

Не заполнены местозаполнители оператора или пустое пространство между двумя операндами

Это могло произойти при удалении оператора, проверьте правильность ввода выражения

This function has too many arguments

Эта функция имеет слишком много аргументов

Выделенное выражение содержит функцию с числом аргументов большим, нежели требуется

Проверьте правильность применения функции

This function is undefined at one or more of the points you specified

Эта функция не определена для одной или более точек

Попытка вычисления оператора или функции с неподходящими значениями

Например, -3′- выдаст ошибку, 1п(0), т. к. факториал не определен для отрицательного числа, а логарифм для нуля

This function needs more arguments

Этой функции не хватает аргументов

Выделенное выражение содержит функцию с меньшим, нежели требуется, числом аргументов

Для встроенных функций щелкните мышью на имени функции и воспользуйтесь подсказкой <F1>, чтобы проверить правильность числа и типа аргументов; для функции пользователя проверьте ее определение

This operation can only be performed on a function

Эта операция может быть произведена только над функцией

Этот аргумент должен быть функцией

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

This operation can only be performed on an array. It can’t be performed on a number

Эта операция может быть произведена только над массивом. Она не может быть произведена над числом

Например, это сообщение появится, если переменная верхнего индекса определена как скаляр. Поскольку переменная верхнего индекса представляет собой столбец матрицы, то ее следует определять как вектор

Для поверхностных или контурных графиков массив данных должен иметь, по крайней мере, два ряда и два столбца

This operation can only be performed on a number or an array

Эта операция может быть произведена только над числом или массивом

Используемая функция или оператор требуют представления в виде константы, матрицы или вектора

This operation can only be performed on a string

Эта операция может быть произведена только над строкой

Используемая функция или оператор требуют представления в виде строки. Например строковые функции обычно требуют по крайней мере одного строкового аргумента

This subscript is too large

Этот нижний индекс слишком велик

Попытка использовать верхний или нижний индекс, который превышает ограничения

This value must be a matrix

Это значение должно быть матрицей

Попытка произвести матричную операцию не над матрицей

This value must be a vector. It can be neither a matrix nor a scalar

Это значение должно быть вектором. Оно не может быть ни матрицей, ни скаляром

Это сообщение маркирует матрицу или скаляр в операциях, которые требуют вектора (одностолбцового массива). Например суммирование элементов вектора

This value must be an integer greater than 1

Это значение должно быть целым числом, превосходящим 1

Это значение должно быть >1

При использовании встроенных функций щелкните мышью на имени функции и нажмите клавишу <F1>

This variable or function is not defined above

Эта переменная или функция не определена выше

Имя неопределенной функции будет помечено красным цветом

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

Потеря значимости (исчезновение значащих разрядов)

Из-за ограничений, присущих представлению чисел на компьютере, числа, которые слишком малы, не могут быть представлены. Это сообщение появляется, когда выражение включает такое число. Иногда, особенно в сложных вычислениях, промежуточный результат будет слишком мал, и вся разрядная сетка заполнится нулями

Value of subscript or superscript is too big (or too small) for this array

Значение нижнего или верхнего индекса слишком велико (или слишком мало) для этого массива

Это выражение использует нижний или верхний индекс, который относится к несуществующему элементу массива

This is not a scalar. Press <F1 > for help

Это не скаляр. Нажмите клавишу <F1>, чтобы получить помощь

Использован вектор или выражение с интервалами, или какой-то другой тип выражения, где требуется применение скаляра

You have one solve block inside another. Every "Given" must have a matching "Find" or "Min-err".

Один вычислительный блок содержится внутри другого. Каждому ключевому слову Given должно сопоставляться Find или Minerr

Указаны два ключевых слова Given подряд без Find или Minerr посередине. Вычислительный блок не может иметь внутри себя другой вычислительный блок

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

You interrupted calculation. To resume, click here and choose "Calculate" from the "Math" menu

Вычисления прерваны. Для того чтобы продолжить, щелкните здесь и выберите пункт Calculate меню Math

Вычисления прерваны нажатием клавиши <Esc>. Для того чтобы пересчитать выделенное уравнение, наведите на него курсор и воспользуйтесь меню Math / Calculate (Математика/ Вычислить)

Сообщение об ошибках в символьных вычислениях

Argument too large (Integer too large in context, Object too large)

Аргумент слишком велик

Обычно это результат вычисления выражения с плавающей точкой со значением большим, чем около 10×10 миллиардов

Discarding large result

Сброс большого результата

Ответ слишком велик для отображения его в отформати-
рованной математической области

Можно разместить ответ в буфере обмена

Expecting array or list

Ожидается массив или список

Операторы в упрощаемом или вычисляемом выражении требуют векторных или матричных операндов

Expression contains non-symbolic operators

Выражение содержит несимвольные операторы

Применена символьная операция к выражению, содержащему местоза-полнители оператора или переменной

Floats not handled

С плавающей запятой не поддерживается

Команда Factor была применена к выражению с десятичным числом

Illegal function syntax

Недопустимый синтаксис функции

Символьный процессор не может интерпретировать выражение, подобное (f)(x)

Символьный процессор не может выполнить требуемую операцию для данных аргументов

Это сообщение появится, если, например, применить скалярную функцию к массиву без использования оператора векторизации и выбрать команду Symbolics / Simplify (Символика / Упростить)

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

No answer found; stack limit reached

Ответа не найдено

Символьный процессор достиг предела своих возможностей без вычисления или упрощения, которое затребовал пользователь

No answer found

Ответа не найдено

Символьный процессор не смог найти точного решения уравнения

No closed form found for

Не найдено замкнутой формы для

Символьный процессор не смог найти интеграл или сумму, или произведение в замкнутой форме

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

Маткад эта переменная не определена что делать

Mathcad «reads» down and right and you have defined the equation above the variable definition. If you drag the equation down it will work.

If you are going to be using Mathcad regularly, you might be interested in joining the Mathcad User Community:

Chris Hartmann, Academic Program Manager, Mathcad

answered Jan 26, 2011 at 11:22

There are two types of subscripts in Mathcad:

the text subscript (.) and the mathematical subscript ([)

you must use C.t when you define the variable

answered Mar 28, 2016 at 21:37

You must log in to answer this question.

Not the answer you’re looking for? Browse other questions tagged

Сообщения об ошибках в Mathcad

Таблица П4.1. Сообщения об ошибках

Возможные пути устранения

Сообщения об ошибках в численных вычислениях

A «Find» or «Minerr» must be preceded by a matching «Given»

Find или Minerr должны предваряться ключевым словом Given

Эта ошибка выделяет функцию Find или Minerr при их несогласо-
ванности с Given

Каждый вычислите-
льный блок,
который заканчивается функцией Find или Minerr, должен начинаться с ключевого слова Given

All evaluations resulted in either an error or a complex result

Вычисления приводят к ошибке или комплексно-
му результату

Mathcad не может начертить некоторые точки, потому что не существует действительных значений для их нанесения на график

Это сообщение может появиться, если имеется ошибка или все значения комплексные

Arguments in function definitions must be names

Аргументы в определениях функции должны быть именами

Выделенное определение функции содержит неправильный перечень аргументов

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

At least one limit must be infinity

По крайней мере один предел должен быть бесконечным

Когда для интегриро-
вания выбран алгоритм бесконечного предела, то по крайней мере один из пределов интеграла должен быть бесконечным

Тип бесконечности вводится нажатием сочетания клавиш + + .

Для изменения алгоритма, использующего бесконечный предел, или для вычисления какого-либо другого интеграла щелкните на интеграле правой кнопкой мыши и измените алгоритм с помощью контекстного меню

Can only evaluate an n-th order derivative when n=0,1..5.

Можно вычислить n-й порядок производной, только когда п=0,1..5

Порядок производной должен быть одним из следующих чисел: 0, 1, 2,. ..5.

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

Can’t evaluate this function when its argument less than or equal to zero

Невозможно вычислить эту функцию, когда ее аргумент меньше или равен нулю

Такое сообщение может касаться XY- или полярных графиков, имеющих логарифмические оси, на которых или пределы, или некоторые из значений, не положительны

Отрицательные числа и ноль не могут быть расположены нигде на логарифмических осях. Смените тип осей графика или постройте его для других значений

Can’t converge to a solution

Не сходится к решению

Численный метод расходится (не может найти решения)

Убедитесь, что операция не применяется к функции в области непосредственной близости точки ее сингулярности (деления на ноль). Попробуйте поменять параметры численного метода (например начальное приближение).

Попробуйте увеличить константу TOL, т. е. осуществить поиск решения с худшей погрешностью.

Попробуйте поменять численный алгоритм, если это возможно (вызвав контекстное меню нажатием на месте ошибки правой кнопки мыши)

Can’t define the same variable more than once in the same expression

Невозможно определить ту же самую переменную более одного раза в одном и том же выражении

Вы пытаетесь вычислить одну и ту же переменную дважды в одном выражении

Пример подобной ошибки: если Вы создаете вектор с левой стороной а := и используете это же имя справа, то получите ошибку

Can’t determine what units the result of this operation should have

Невозможно определить, в каких единицах следует быть результату этой операции

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

Если выражение включает в себя единицы измерений, то можно возводить его только в действительную фиксированную степень

Cant divide by zero

Деление на ноль невозможно

Где-то в программе или внутри численного метода возникло деление на ноль

Найдите место деления на ноль и устраните его

Попробуйте поменять параметры численного метода, константы точности или сам численный алгоритм

Could not find a solution

Невозможно найти решение

Численный метод расходится (не может найти решения)

См. «Can’t converge to a solution»

Can’t find the data file you’re trying to use

Невозможно найти файл, который Вы пытаетесь использовать

Невозможно найти файл данных или другой тип файла, к которому Вы обращаетесь

Удостоверьтесь, что такой файл существует в указанном месте

Can’t have anything with units or dimensions here

Здесь нет ничего в единицах измерений или в размерностях

Это выражение использует единицы измерений где-то, где они не разрешены

Единицы измерений не разрешены:

— в аргументах большинства функций;

— в экспонентах; — в верхних и нижних индексах.

Для того чтобы использовать выражения с единицами измерений, вначале переведите это выражение в UnitsOf (выражение)

Can’t have more than one array in a contour plot

Нельзя иметь более одного массива в контурном графике

Вы вводите более одного массива в местозаполнитель контурного или поверхностного графика

Можно иметь только один массив в данном местозаполнителе, т. к. графики могут выдавать лишь одну поверхность в один момент времени

Can’t perform this operation on the entire array at once. Try using «vectorize» to perform it element by element

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

Например, можно увидеть это сообщение при попытке разделить один вектор на другой

Для того чтобы применять функцию или оператор к каждому элементу вектора или матрицы, используйте оператор векторизации

Can’t plot this many points

Невозможно начертить график с таким большим количеством точек

Попытка построения графика с числом точек, превосходящим возможное

Попробуйте сделать число точек меньше, чем 150 000

Can’t put a «:=» inside a solve block

Нельзя помещать «:=» внутрь вычислительного блока

Внутри вычислительного блока не должно быть формулировки присваивания. Он должен содержать только булевы выражения

Используйте панель с булевыми операторами

Can’t raise an expression having units to a complex power

Нельзя возводить в комплексную степень ыражение, имеющее единицы измерений

Это выражение содержит единицы измерений, а Вы возводите его в комплексную степень

Выражение с единицами измерений можно возводить только в действительную степень. Для того чтобы возводить в комплексную степень выражение с единицами измерений, вначале переведите это выражение в UnitsOf (выражение) — единицы измерений будут отменены

Can’t solve a system having this many equations

Невозможно решить систему, имеющую так много уравнений

Mathcad не способен решить систему

См. определение термина «вычислительный блок » (гл. 8)

Can’t understand something in this data file

Невозможно что-то понять в файле данных

Файл, к которому Вы пытаетесь получить доступ при помощи READ или READ*, имеет дефект

Файл должен быть ASCII-текстом

Все строки файла должны иметь тот же номер значений, что используется в READ*

Если файл имеет требуемый формат, а это сообщение продолжает появляться, попробуйте удалить любую часть текста из файла

Can’t understand the name of this function

Невозможно понять имя этой функции

Такое сообщение может появиться, если в качестве имени функции используется, например, число 6(х)

Выражение должно соответствовать требованиям, предъявляемым в Mathcad к написанию имен функций

Can’t understand the way this range variable is defined

Невозможно понять определение ранжированной переменной

Определение ранжированной переменной неверно

Вводя область определения ранжированной переменной, необходимо использовать один из следующих видов:

Rvar := nl . .n2 Rvar := nl,n2 . .пЗ

Cant understand this number

Невозможно понять это число

Это выражение содержит символ или десятичную точку там, где это непозволительно

Вы увидите эту ошибку, например, если случайно запишете число так: .452.

Cant use a range variable in a solve block

Невозможно использовать ранжированную переменную в вычислительном блоке

Эта ошибка появится, если использовать область определения переменной в неподходящем месте

Придумайте алгоритм, не допускающий применения ранжированной переменной в вычислительном блоке

Cannot evaluate this accurately at one or more of the values you specified

Невозможно точно вычислить одно или более значений

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

Проверьте область определения функции

Cross product is defined only for vectors having exactly three elements

Векторное произведение определяется только для векторов, имеющих точно три элемента

Векторное произведение определяется только для векторов, имеющих точно три элемента

См. определение векторного произведения (гл. 9)

Can’t evaluate this expression. It may have resulted in an overflow or an infinite loop

Невозможно вычислить это выражение. Это может быть результатом переполнения или бесконечных циклов

Это функциональное определение может содержать слишком много вложенных функций. Или функция может быть константой в бесконечных циклах

Проверьте несколько итераций цикла

Degree of the polynomial must be between 1 and 99.

Степень полинома должна находиться в пределах между 1 и 99

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

Dimensions must be >4

Размерность должна быть >4

Эта матрица должна иметь по крайней мере 4 ряда и 4 столбца

Исправление ошибок

Определив выражение, вызвавшее ошибку, нужно его отредактировать с целью устранения ошибки или исправить определение переменной, приведшей к ошибке. После щелчка по выражению и начала редактирования MathCAD удаляет сообщение об ошибке. После щелчка вне уравнения (или нажатия клавиши [F9]), MathCAD повторно вычисляет выражение. Если ошибка устранена, то MathCAD затем повторно вычисляет другие выражения, зависящие от измененного.

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

Рассмотрим допустимые в MathCAD имена переменных и функций. Имена в MathCAD могут содержать любые из следующих символов:

· прописные и строчные латинские буквы;

· цифры от 0 до 9

· знак подчеркивания _

· штрих ` Это не апостроф. Находится на одной клавише с тильдой

· греческие буквы. Есть два способа набрать греческую букву: напечатать римский эквивалент и нажать [Ctrl]+Gили щелкнуть по соответствующему символу на палитре греческих символов

· символ бесконечности, который можно задать как комбинацию клавиш[Ctrl]+[Shift]+Z.

· Имена переменных и функций не могут включать пробелы или любые другие символы, не перечисленные выше.

MathCAD не делает различий между именами переменных и именами функций. Если определить вначале f(x), а затем переменную f, окажется невозможным использовать f(x) где-либо ниже определения f некоторые имена уже используются MathCAD для встроенных констант, единиц измерения и функций. Хотя эти имена можно переопределить, этот уничтожит их встроенные значения.

MathCAD различает в именах символы верхнего и нижнего регистра, а также различные шрифты.

Кроме того, среда MathCAD включает так называемые предопределенные переменные. MathCAD содержит 8 переменных, значения которых определены сразу после запуска программы. Они называются встроенными или предопределенными. Эти переменные имеют или общепринятое значение (например, пи или е), или используются как внутренние переменные, управляющие работой MathCAD. Эти переменные можно переопределять, например, определим е:= 2. Ниже этого определения переменная е примет в рабочем документе новое значение.

Приведем примеры некоторых встроенных переменных:

е=2.71828 – основание натурального логарифма;

Е=10^307 – машинная бесконечность;

MathCAD интерпретирует все, начинающееся цифрой, как число. Цифра может сопровождаться:

· цифрами после десятичной точки;

· символами h или o для шеснадцатеричных и восьмеричных чисел; символами i или j для комплексных чисел. Комплексные числа MathCAD воспринимает в форме a+bi (или a+bj). Специальные функции и операторы для работы с комплексными числами:

· Re(z) – вещественная часть числа z;

· Im(z) – мнимая часть числа z;

· Arg(z) – аргумент числа z (угол в комплексной плоскости между вещественной осью и радиус-вектором, определяемым числом z);

· |z| – модуль числа z.

Одиночное число в MathCAD называют скаляром. Столбец чисел называется вектором, а прямоугольная таблица чисел — матрицей. Способы создания массива:

· заполнить массив пустых полей

· использовать дискретный аргумент

Можно различать имена векторов, матриц и скаляров, используя различный шрифт для их описания.

Эта переменная не определена mathcad ошибка

MathCAD — это просто! Часть 27. Программирование и ошибки: вместе веселее!

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

В общем-то, если сказать, что ошибки никто не любит, это будет не так уж далеко от истины. Точнее, никто не любит собственные ошибки. Чужие любят все, а не только экзаменаторы и разнообразные инспекторы. Однако, к сожалению, при программировании (а написание небольших вспомогательных программок в MathCAD’е, как я уже когда-то давно тому назад говорил, это тоже программирование) ошибки попросту неизбежны. Даже самые лучшие программисты совершают ежедневно множество ошибок, и никто, в общем-то, за это не применяет к ним особых санкций. Существует даже такое мнение, что программа без ошибок совершенно бесполезна — если в ней нет ошибок, значит, в ней нет и никакой полезной функциональности, потому что не ошибается только тот, кто ничего не делает. Так что ошибки в программах — это вполне естественные спутники каждого, кто пишет даже самые маленькие программки, а потому и бояться их не следует. Тем не менее, с ошибками в программах можно и нужно бороться. И для этого существуют специальные средства, некоторые из которых доступны и тем, кто пишет программы в MathCAD’е. Однако, прежде чем рассказывать о том, что это за средства, и как ими нужно пользоваться, нужно, как мне лично кажется, поговорить еще немного о том, вокруг чего будет сосредоточена наша борьба — то есть о самих ошибках.

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

Самые простые ошибки — синтаксические. Как вы уже имели возможность воочию убедиться, при программировании очень важно придерживаться определенных правил в записи конструкций. Например, если вы вместо имени функции rkfixed напишете в программе tkfixed, ошибившись при вводе на одну букву и нажав на соседнюю с r клавишу t, то как раз и получите в свое распоряжение самую что ни на есть классическую синтаксическую ошибку. Ни к каким особенно страшным последствиям она (как, впрочем, и все другие ошибки аналогичного класса) не приведет: программа просто не сможет быть выполнена по той причине, что MathCAD не сможет найти функцию, которую вы ему указали. Искать такие ошибки тоже совсем не сложно — они всегда хорошо видны, поскольку даже сама среда подсвечивает их, чтобы можно было найти особенно быстро. Исправлять, соответственно, тоже очень просто: достаточно записать идентификатор правильно, и все в программе станет на положенные места. MathCAD, кстати, избавляет пользователя от множества таких ошибок благодаря необходимости вводить все операторы, управляющие ходом программы, с помощью специальных горячих клавиш или соответствующих кнопок на панели инструментов Программирование. Если бы их нужно было, напротив, набирать вручную с клавиатуры, то и возможности сделать синтаксическую ошибку были бы несравнимо шире.

Второй тип ошибок — ошибки алгоритмические. Это такие ошибки, которые, в принципе, не мешают выполнению программы, но делают результаты такого выполнения полностью лишенными всякого смысла. Многие из таких ошибок — банальные опечатки: там, где нужно было поставить плюс, вы, например, поставили в спешке минус или же сделали что-нибудь другое примерно в таком же духе. Конечно, сказать, что алгоритмические ошибки — это сплошь и рядом одни только опечатки, было бы, мягко говоря, не до конца верно. Потому что очень многие из них являются следствием недостаточности знаний писавшего программу — то есть если ошибочно составлена сама последовательность действий, которые должен сделать MathCAD для того, чтобы вы могли получить интересующий вас результат. Еще великое множество алгоритмических ошибок — результат банальной невнимательности: например, присвоение значения не той переменной, ее необнуление либо, например, вывод не той переменной в качестве результата выполнения вашей программы. В общем-то, именно об алгоритмических ошибках мы с вами сейчас и будем говорить более подробно. Однако есть еще один, особенно неприятный, тип ошибок.

Третий тип — это ошибки мистические. Да-да, именно мистические, я не оговорился. Какие именно это ошибки? Это ошибки, имеющие совершенно непонятную природу и столь же непонятный способ лечения — как правило, это проявления ошибок не в вашей программе, а в каком-то из внутренних компонентов MathCAD’а. К сожалению, эти ошибки, в «большом» программировании встречающиеся не так уж, в общем-то, и часто, в MathCAD’е не такие уж редкие гости. Отчасти это объясняется тем, что MathCAD — это все-таки средство расчетов, а не программирования, которое играет в этой среде второстепенную и вспомогательную роль, но, конечно, когда реально сталкиваешься с такими вот мистическими ошибками, это все не слишком успокаивает. Хотя поначалу почти все ошибки в программах кажутся мистическими, на самом деле большая их часть все-таки имеет рациональную природу. Если же природа появившейся ошибки вам совершенно непонятна, то вам следует коренным образом перестроить структуру программы или хотя бы тот ее фрагмент, в котором локализовалось проявление этой ошибки. Практически во всех случаях этот не слишком хитрый прием позволяет полностью избавить программу от досадной непонятной ошибки.

Что ж, о самих ошибках мы с вами, можно считать, побеседовали. Теперь давайте, пожалуй, перейдем к тому, какими именно способами можно бороться с самыми распространенными из них — то есть алгоритмическими. Об остальных, в общем-то, я уже довольно подробно все рассказал, а вот что касается алгоритмических ошибок, то здесь нужно будет в большинстве случаев прибегнуть к помощи специализированных встроенных в MathCAD инструментов.

Отладка в MathCAD’е

Процесс поиска и устранения алгоритмических ошибок называется по-русски отладкой. По-английски этот же самый процесс называется debugging, то есть, если дословно, «избавление от жучков». В общем-то, и по-русски довольно часто можно услышать термины «дебагинг» или «баг», однако во избежание путаницы мы будем использовать слово «отладка» (если, конечно, не возражаете). Кстати, история возникновения английского термина весьма любопытна, и, вполне возможно, вы ее слышали. Первые компьютеры были машинами весьма громоздкими и дорогостоящими, а потому и всевозможные поломки для них были делом далеко не просто устранимым. Когда выяснилось, что причиной очередной поломки стал жучок, забравшийся внутрь компьютера и вызвавший замыкание, в счете за ремонт записали: «debugging». Рука шутника оказалась легкой — термин, как видите, прижился и используется на протяжении уже многих десятилетий.

В чем же заключается процесс отладки? На самом деле ничего особенно таинственного и трудного для понимания здесь нет. Просто во время отладки у вас есть возможность выполнять программу не сразу «залпом», как это происходит обычно, а пошагово, то есть выполнять последовательно друг за другом каждую строчку программы, делая, когда нужно, паузы для осмысления работы программы и просмотра промежуточных значений каждой из переменных. Отладка используется при разработке любых программ, а потому и создатели MathCAD включили поддержку этого удобного и, в общем-то, достаточно универсального средства выявления ошибок в свой программный продукт. Доступ к инструментам, используемым при отладке программ в MathCAD’е, осуществляется через подпункт Debug меню Tools в главном рабочем окне MathCAD’а (см. соответствующий скриншот).

Стоит отметить, что, поскольку MathCAD — это среда, ориентированная не на программирование, а на различные вычислительные действия, то отладка в ней имеет более широкое применение, чем только отладка программ, которые пишет пользователь. Отлаживать можно и все вычисления даже в том случае, если они выполняются без применения какого-либо программирования с вашей стороны. В общем-то, поскольку такая возможность будет весьма полезной для большинства читателей не столько при программировании в MathCAD’е, сколько при обычных вычислениях, то именно с такой позиции мы с вами и станем рассматривать отладку в этой мощной математической среде. Нам также понадобится панель отладки. Ее включают так же, как все остальные панели инструментов, в меню View -> Toolbars. Конечно, эта панель, как вы могли уже заметить, дублирует отладочное меню в Tools -> Debug, однако, думаю, нажать на кнопку, расположенную на этой панели, будет все-таки проще и быстрее, чем искать соответствующий пункт в надежно спрятанном от пользователя меню.

При переходе в отладочный режим (кнопка либо пункт меню Toggle Debug Mode) внешний вид главного окна MathCAD’а меняется (см. скриншот): внизу появляется специальное окно, используемое для просмотра промежуточной отладочной информации. Оно называется Trace Window.

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

Как видите, ошибок в программах действительно бояться не следует. Это вполне нормальная составляющая процесса программирования, неизбежно проявляющаяся в каждом из результатов этого процесса. Тем не менее, с ошибками можно и нужно бороться, и с большинством из них это можно производить с весьма высокой вероятностью достижения успеха. Хотя, конечно же, встречаются и такие ошибки, с которыми трудно будет разобраться даже тому, кто на программировании, что называется, собаку съел. Но все-таки они встречаются не так уж часто. Так что в программировании, если вы хотите избежать мучений, связанных с поиском ошибок, очень важна ваша внимательность. Если вы будете достаточно внимательны при написании программы, то риск допустить ошибку будет сравнительно невелик. Впрочем, это правило применимо не только к программированию.

Эта переменная не определена mathcad ошибка

Mathcad раскрывается в полной мере при использовании переменных и функций.

Два знака равенства

В математических вычислениях мы используем множество различных констант, переменных, операторов и знаков равенства. Обычно в жизни мы используем знак равенства для многих разных операций, но Mathcad отличает их. Наиболее важными операциями являются:

  • определение (присвоение значения) — используется двоеточие;
  • вычисление — используется знак равенства.

Важность оператора определения не меньше, чем важность оператора вычисления. В приведенном ниже примере значение y можно вычислить лишь после присвоения ему определенного значения. х и у здесь являются переменными.

Два знака равенства, которые изображены выше, имеют совершенно разные значения, поэтому нужно очень внимательно относится к ним.

Поставьте курсор перед числом 4 в примере выше.

Удалите число 4 клавишей [Delete], и введите 5. Нажмите на пустой области, чтобы выйти из области вычисления и увидите, что результат вычислений поменялся на 25:

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

Использование переменных

Введите такие выражения в область вычисления

Проведите операции замены значения х на такие: 100, 0.5, -4 и 0.

В первых двух случаях вы получите число в качестве результата. В третьем случае у вас будет мнимое число. При значении х ноль программа выведет ошибку и обведет результат красным. Если вы нажмете на красное выделение, то увидите описание проблемы:

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

  • с любой буквы как большой, так и маленькой;
  • с других символов, которые не являются операторами;
  • с символов из вкладки Математика -> Операторы и символы -> Символы;
  • с символов из таблицы символов ОС Windows.

Использование переменных доступно, только если вы определите их заранее. Термин «заранее» обозначает, что присвоение значения переменной должно производиться выше или левее выражения, где эта переменная используется. Если вы не объявили переменную заранее, то появится сообщение об ошибке:

Подстрочные индексы

Mathcad существует два типа подстрочных индексов:

  1. Описательный подстрочный индекс.
  2. Индекс массива (матрицы).

Для ввода описательного индекса сначала введите желаемое имя переменной, а потом нажмите комбинацию [Ctrl+-], далее вводите подстрочный индекс.

Переменная, которая имеет описательный индекс — это простая переменная, которой присвоено имя. Индекс массива сильно отличается от него. Такой индекс можно присвоить, если ввести квадратную скобку [ после имени переменной. Переменная может иметь один или два индекса массива:

Индекс массива может иметь только числовое значение. При этом не путайте разные типы индексов, так как они довольно схожи визуально.

Более четко разницу видно, если нажать мышкой на выражение

Любая переменная может иметь оба индекса одновременно: описательный и индекс массива. Сначала всегда будет прописан описательный.

Функции

Использование переменных возможно только при определении их заранее. Но есть исключение из этого правила — определение функции. Можно произвести определение своей функции. Пример ниже.

Переменная а имеет для функции локальное значение. Она не несет определения за пределами этой функции.

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

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

Функции могут иметь более одной переменной.

Значения переменных х и у не изменяются и в этой функции.

Встроенные функции

Mathcad имеет очень много встроенных функций. Перейдите во вкладку Функции.

Все функции вы можете увидеть, если нажмете на кнопку Все функции.

Обратите внимание, что все тригонометрические функции в качестве аргумента получают угол не в градусах, а в радианах. Чтобы использовать градусы нужно выбрать их во вкладке Математика -> Операторы и символы -> Символы.

Математика в тексте

В текстовую область можно поместить область вычислений. Так вы сможете использовать в тексте подстрочные и надстрочные символы. Чтобы сделать это, при редактировании текстовой области нужно нажать на кнопку Математика во вкладке Математика -> Области.

Резюме

1. Mathcad использует два знака равенства отдельно для определения := и для вычисления =.

2. Имя переменной нельзя начинать с цифры. Можно использовать для этого только буквы или символы, отличные от символов операторов. Символы можно вводить с панели Математика -> Операторы и символы -> Символы, а также брать из панели символов Windows.

3. Для определения значения переменной нужно:

  • щелкнуть на пустую область;
  • ввести имя переменной;
  • ввести оператор определения [:=];
  • ввести значение переменной.

4. Для присвоения переменной подстрочного описательного индекса нужно:

  • нажать мышкой в конце имени переменной;
  • нажать [Ctrl+-];
  • ввести подстрочный индекс.

5. Для присвоения переменной индекса массива:

  • нажмите мышкой в конце имени переменной;
  • нажмите на клавиатуре на открывающуюся квадратную скобку [;
  • ввести нужный подстрочный индекс.

6. Определять переменную нужно только выше или левее места использования ее в вычислениях.

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

8. Переменные в функциях имеют определение только в рамках этой функции.

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

Глобальное определение в PTC Mathcad 15 и PTC Mathcad Prime 3.0

Оператор глобального определения позволяет определить выражение (переменную, функцию) в любом месте документа.

a)

Рис. 1. Оператор глобального определения в Mathcad 15 (а) и Mathcad Prime 3.0 (б).
Если выражение определено глобально, то его можно использовать в других операциях независимо от того, выше или ниже эти операции находятся в документе:

Рис. 2. Выполнение вычислений с глобальным и локальным определением в Mathcad 15 (а) и Mathcad Prime 3.0 (б).

При необходимости, в Mathcad 15 внешний вид оператора глобального определения можно поменять на символ обычный символ равенства «=». Для это щелкните правой кнопкой мыши по оператору, в контекстном меню выберите View Definition As -> Equal.


Рис. 3. Изменение внешнего вида оператора глобального определения.
В Mathcad 15 возможно переопределение переменных, заданных глобально. В Mathcad Prime 3.0 подобное переопределение выдаст ошибку.

б)
Рис. 4. Переопределение переменной, заданной глобально, в Mathcad 15 (а) и Mathcad Prime 3.0 (б).

Чтобы учесть все определения, Mathcad работает по следующему алгоритму:
1. Первый проход документа сверху вниз – распознавание только операторов глобального определения и вычисление выражений.
2. Второй проход документа – распознавание операторов локального определения и вычисление выражений с поправкой на выражения, которые определенны локально.
Это важно учитывать, если Вы переопределяете выражения, заданные глобально. Демонстрация этого алгоритма приведена на рисунке 5.


Рис. 5. Документ с переопределенными выражениями.
Однако в Mathcad Prime 3.0 выражения, определенные глобально, переопределить уже нельзя (ни локально, ни глобально) – Mathcad выдаст ошибку (рис. 6).


Рис. 6. Попытка переопределить переменную, заданную глобально в Mathcad Prime 3.0.

Другой важный момент при использовании глобального определения: если Вы используете переменные для определения выражений, заданных глобально (т.е. используете переменную справа от символа ?), то эта переменная также должна быть определена глобально, причем выше того выражения, в котором она используется. Иначе переменная не будет определена (рис. 7).

б)
Рис. 7. Неправильное использование переменных в выражениях, заданных глобально, в Mathcad 15 (а) и Mathcad Prime 3.0 (б).

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Школа онлайн с государственным аттестатом