logo search
информатика_4 / Учебное пособие по MathCad

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

Это приложение является алфавитным списком ди­агностических сообщений об ошибках в математиче­ских выражениях. Они появляются при попытке ввода, обработки или вычисления выражения, в котором Mathcadобнаруживает ошибку. Для описания диагно­стических сообщений по работе символьного процес­сора см. главу «Символьные вычисления».

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

Вложенные блоки— ключевое словоGivenиспользо­вано дважды в строке без последующихFindилиMinerr. Mathcadне разрешает вложенные блоки решения урав­нений, хотя можно определить функции через блоки решения уравнений и затем использовать их в других бло­ках решения уравнений. См. главу «Решение уравнений»;

Диапазон недопустим— попытка использования дис­кретного аргумента внутри блока решения уравнений. Чтобы решать систему уравнений для многих значений параметров, см. раздел «Как лучше искать корни» на стр. 353;

Дисбаланс скобок (unmatched parenthesis)— вы ввели или пытались вычислить выражение, содержащее ле­вую скобку без соответствующей ей правой. Исправьте выражение, удалив левую скобку или поставив в нуж­ном месте правую;

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

Длинный входной список (list too long)— введено слиш­ком много элементов в списке, разделенном запятыми. Это может произойти при попытке вывести на график больше выражений, чем допускаетсяMathcad, или при попытке создать таблицу с более чем пятьюдесятью элементами;

Должен быть диапазон (must be range)— что-либо, не являющееся дискретным аргументом, использовано в месте, где он требуется, например, в качестве индекса для суммирования. Индекс для суммирования распола­гается под знаком суммы и должен быть предваритель­но определен как дискретный аргумент;

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

Должно быть безразмерным (must be dimensionless) — указанное выражение имеет размерность, хотя ситуа­ция требует, чтобы оно было безразмерным. Единицы из­мерения нельзя использовать для аргументов некото­рых функций (например,cosиIn)или в показателе сте­пени. Например, выражениеco5(lL) является недопус­тимым;

Должно быть вектором (must be vector)— это сообще­ние отмечает скаляр или матрицу в операции, требую­щей векторный аргумент;

Должно быть вещественным (must be real)— мнимое или комплекснозначное выражение использовано там, гдеMathcadтребует вещественнозначное выражение. Например,Mathcadтребует вещественнозначные аргу­менты для некоторых встроенных функций и вещест­веннозначные индексы;

Должно быть возрастающим (must be increasing)— вектор, элементы которого не расположены в порядке строгого возрастания, использован в качестве аргумен­та одной из функцийIspline, pspline, cspline, interp, linterp иhist.Первый аргумент этих функций должен быть вектором со строго возрастающими элементами. ( При этом следует помнить о том, что, еслиORIGINесть О,Mathcadвключает в число элементов вектора элемент с нулевым индексом, и если он не определен явно, его значение полагается равным нулю);

Должно быть массивом (must be array)— попытка вы­полнить операцию, которую можно выполнять только на массиве, со скаляром. Например, можно увидеть это сообщение об ошибке при попытке транспонировать число, поскольку в таком контексте операция транспо­нирования не имеет смысла;

Должно быть многомерным массивом— следует ис­пользовать матрицу, имеющую более чем одну строку либо более чем один столбец;

Должно быть ненулевым (must be nonzero) —попытка вычислить встроенную функцию от нуля, хотя для ну­ля она не определена;

Должно быть положительным (must be positive)— это сообщение отмечает чертеж, в котором одна из границ по оси, использующей логарифмический масштаб, рав­на нулю или отрицательна.Mathcadможет выводить на график вдоль логарифмической оси только положи­тельные значения;

Должно быть скаляром (must be scalar) —векторное или матричное выражение использовано там, где тре­буется скаляр, например в качестве аргумента функцииidentity;

Должно быть трехмерным вектором (must be 3-vector) — попытка найти векторное произведение от операндов, не являющихся трехмерными векторами. Векторное произведение определено только для векторов с тремя элементами;

Должно быть целым (must be integer) —использовано не­целое выражение там, где требуется целое, например как аргумент функцииidentityили как индекс, нижний или верхний. (Хотя можно определять дискретные аргументы с дробными значениями, например х:=1, 1.1 .. 10 — их нельзя использовать как нижние индексы.);

Допустим только один массив (only one array allowed) — попытка ввести более чем один массив в поле ввода для карты линий уровня.Mathcadв этом случае допускает не более чем один массив, поскольку карта линий уровня мо­жет представлять не более чем одну функцию одновремен­но;

Дублирование (duplicate)— попытка определить одну переменную дважды в одном определении. Это сооб­щение появляется, когда вы создаете вектор по левую сторону определения и используете одно имя в этом векторе дважды;

Индекс вне границ (index out of bounds)— это сообще­ние помечает индекс, ссылающийся на несуществую­щее значение массива. Такое сообщение можно видеть при использовании отрицательного верхнего или ниж­него индекса (или индекса, меньшего, чемORIGIN, еслиORIGIN> 0) либо при использовании верхнего или нижнего индекса для ссылки на элемент массива с номером, большим, чем возможно согласно определе­нию в документе;

Мало нижних индексов (too few subscripts) —для мат­рицы использован один нижний индекс. Указание на элементы матрицы возможно при помощи двух ниж­них индексов, разделяемых запятой;

Не может быть определено (cannot be denned) —слева от символа определения (:=) помещено неопределяе­мое выражение.Mathcadдопускает следующие виды выражений слева от символа определения:

-Простое имя переменной: х

-Имя переменной с нижним индексом: х;

-Имя переменной с верхним индексом: x<l>

-Матрица имен переменных, порожденная нажатием [Ctri]M. Матрица может содержать лишь простые имена переменных или имена переменных с ниж­ними индексами

-Имя функции с аргументами: j(x, у)

-Использование других видов выражений некоррект­но. Если нужно вычислить результат вместо опреде­ления переменной, следует поставить знак равенст­ва (=) вместо нажатия двоеточия;

Не содержит верхних индексов (cannot take subscript)— верхний индекс использован не для матрицы, а для че­го-то другого;

Не содержит нижних индексов (cannot take subscript)— нижний индекс использован не для вектора или матри­цы, а для чего-то другого;

Не является именем (not a name) —число или другая комбинация символов использованы там, гдеMathcadтребует имя, например как второй аргумент функцииroot.Примеры того, что не является именем:/(X)) (функция), 3 (число),х + 2(выражение);

Неверная операция с массивом (illegal array operation) — 'попытка применить к вектору или матрице функцию или оператор, которые требуют скалярные аргументы. На­пример, это сообщение можно видеть при попытке при­менения функции синус к квадратному корню из матри­цы Если же нужно применить оператор или функцию к каждому элементу матрицы, используйте оператор векто­ризации, как описано в главе «Векторы и матрицы»;

Неверное имя функции (illegal function name)— исполь­зовано выражение, котороеMathcadинтерпретирует как функцию, но имя функции неверно. Это сообщение появится, например, в случае использования числа как имени функции:6(х).Чаще всего оно возникает, если пропущен оператор типа *, что заставляетMathcadин­терпретировать скобки в выражении как признак функ­ции, а не как группирование операций;

Неверное употребление ORIGIN (illegal ORIGIN)—ORIGINопределен через нецелое значение или значе­ние с величиной, большей 16 000 000. Это сообщение отмечает первое использование индекса после невер­ного употребленияORIGIN;

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

-точка с запятой использована где-либо вне коррект­ного определения диапазона. (Точка с запятой в этом случае выводится на экран как многоточие.) Можно использовать точку с запятой только в опре­делении диапазона для дискретного аргумента

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

-имя существующей функции использовано как имя переменной или имя существующей переменной использовано как имя функции;

Неверный множитель (illegal factor)— в поле ввода единиц в конце выражения, возвращающего числен­ный результат, введено неверное выражение. Допустимы вещественные ненулевые скалярные значения;

Неверный порядок (invalid order) —отмечает попытку вычислить производную с указанным порядом, который не является целым числом от 0 до 5 включительно;

Неверный размер вектора (wrong size vector)— это со­общение указывает на функцию преобразования Фу­рье, аргумент которой имеет число элементов, отличное от допустимого,fftтребует в качестве аргумента вектор с количеством элементов 2°, гдеп —целое число, боль­шее 1.ifftтребует вектор с 1+2" элементами, гдеn— це­лое число, большее 0. ЕслиORIGINравен нулю,Mathcadавтоматически включает элемент с нулевым индексом как компоненту вектора-аргумента;

Некорректная точность аппроксимации (illegal toler­ance)— это сообщение отмечает выражение, исполь­зующееTOLинтеграл, или вхожденияRoot, FindилиMinerr,для которых TOL 3> 1 или TOL <^ 0. Для устра­нения этой ошибки нужно где-либо выше отмеченного выражения установить значение TOL между нулем и

единицей;

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

Не определено (undefindet)— показанное в негатив­ном изображении имя функции или переменной не оп­ределено. Чтобы его определить, введите имя перемен­ной с последующим двоеточием (:) и выражение или число, ее определяющее. Это сообщение часто означает, что для определения переменной использован знак равен­ства (=) вместо двоеточия. Для создания определения сле­дует использовать двоеточие. Если используется знак ра­венства,Mathcadсчитает, что нужновычислитьзначение переменной. Это сообщение также появляется при некор­ректном использовании переменной в глобальном опре­делении. Если переменная используется в правой части глобального определения, она должна быть определена глобальновышенего. Если используется локально опре­деленная переменная или переменная, глобальное опре­деление которой находится ниже места ее использования,Mathcadотмечает, что переменная не определена. Сооб­щение«не определено»часто указывает на то, что где-то выше в рабочем документе содержится ошибка. Если определение некорректно, то ниже в документе любые выражения, зависящие от этого определения, показыва­ются в негативном изображении;

Неправильный диапазон (illegal range)—дискретный аргумент определен неправильно. При определении диапазона следует использовать одну из следующих форм записи:

Rval:=nl .. п2 Rval:=nl, n2 .. п2

Это набирается нажатием клавиш Rval:nl;n2 иRval:nl,n2;n2 соответственно. В определении диапа­зона допустимо использовать максимум одну запя­тую и одну точку с запятой. Если используется вто­рая форма записи, величинап2должна лежать меж­ду значениямип\и п3, но не равнятьсяп\;

Нескалярная величина (no scalar value) —вектор или выражение, содержащее дискретный аргумент, исполь­зуются там, где требуется скалярная величина. Напри­мер, можно увидеть это сообщение при попытке ввести равенство видах:= /, если / — дискретный аргумент. Нельзя определить один дискретный аргумент через другой непосредственно, для этого следует использо­вать выражения, подобныеxi.Данная ошибка часто возникает при построении графиков, если ввести в по­ле ввода имя векторахвместоxi;

Несовместимые единицы (incompatible units)— отме­чает выражение, в котором складываются, вычитаются или выполняются иные операции с выражениями, имеющими различную размерность. Например, это со­общение об ошибке можно видеть при попытке:

-сложить или вычесть два выражения, имеющие раз­личную размерность, например 3 кг + 5 сек

-создать вектор, матрицу или таблицу, в которой не все элементы имеют одинаковую размерность

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

Несовпадение размеров массивов (array size mismatch) — попытка произвести операцию с векторами или матрицами, размеры которых не подходят для этой операции. Многие операции требуют, чтобы их векторные аргументы были одного размера, например произведение или функцииlinterpи со/г. Сложение и вычитание век­торов и матриц тоже требуют соответствия размерности. Умножение матриц требует, чтобы количество столбцов первой матрицы совпадало с количеством строк вто­рой;

Нет соответствующего Given (no matching Given)— это сообщение указывает на функцииFindилиMinerrбез соответствующего им словаGiven.Каждый блок реше­ния уравнений, начинающийся со словаGiven,должен оканчиваться словомFindилиMinerr;

Неуместная запятая (misplased comma) —запятая ис­пользована там, где ее не должно быть. Можно исполь­зовать запятую в одном из следующих случаев:

-для разделения аргументов функций

-для разделения первых двух элементов диапазона в определении дискретного аргумента

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

-для разделения элементов в таблице ввода

-для разделения нижних индексов элемента матрицы.

Использование запятой для любых других целей в Mathcadнедопустимо;

Особенность— попытка вычислить функцию или выполнить операцию с недопустимым значением. На­пример, это сообщение можно видеть при делении на ноль или попытке обратить вырожденную матрицу (с нулевым определителем);

Отсутствует сходимость—Mathcadне способен вы­числить результат интегрирования, дифференцирова­ния, функцииroot, FindилиMinerrс требуемой точно­стью. Для дополнительной информации см. описания соответствующих операторов и функций;

Ошибка в блоке (error in solve block) —можно видеть это сообщение при вычислении пользовательской функции, выражаемой через блок решения уравнений, содержащий ошибку. Для устранения данной ошибки устраните ошибку в блоке решения уравнений. (Если использовать блок решения уравнений непосредствен­но, не определяя через него функцию, можно получить детализированное диагностическое сообщение.);

Ошибка в константе (error in constant) —Mathcadин­терпретирует указанное выражение как некорректную константу.Mathcadвоспринимает все начинающееся с цифры как константу. Если ввести цифру и непосред­ственно за ней несколько букв,Mathcadинтерпретиру­ет это как некорректную константу. Полный список всех возможных корректных форм констант приведен в разделе «Окончания чисел» приложения;

Ошибка в списке (error in list)— указанная функция содержит некорректный список аргументов. Правиль­ное определение функции начинается таким образом:

цх, у, z...) :=

Список аргументов в скобках может состоять из од­ного или нескольких имен, разделенных запятой. Любой другой вид списка неправилен. Это сообще­ние об ошибках появляется также, если создан недо­пустимый список в другом контексте, например в списке выражений для оси ординат графика;

Ошибка области определения (domain error)— попыт­ка вычислить значение функции, имеющей аргумент, выходящий за область определения. Например, попыт­ка вычислить 1п(0).

Ошибка файла (file error)— система столкнулась с ошибкой при чтении файла с помощью функцииREAD илиREADPRN.См. главу «Файлы данных», где описа­ны допустимые форматы файлов данных;

Переполнение стека определений (definition stack over­flow)— использовано слишком мнот о вложенных функ­ций;

Переполнение стека (stack overflow^— вычисление вы­ражения привело к переполнение внутреннего стекаMathcad. Это может быть результа 'ом слишком сложно­го выражения или рекурсивного с пределения функции;

Переполнение (overflow)— попытка вычислить выра­жение, которое превосходит наибольшее число, которое может быть представленоMathcad(примерно 10307). Это может случиться не только когда велик сам по себе ко­нечный результат, но и в случае превышения этого пре­дела любым промежуточным результатом;

Потеряны значащие цифры (significance lost)— это со­общение отмечает попытку вывести функцию от вели­чины, которая лежит за пределами диапазона, где зна чение функции может быть вычислено точно. Напри­мер, оно появится при попытке вычислитьsin(10100) . Поскольку величинаsin(IQi00) зависит от совершенно определенных цифр числаIQi00, то любое значение, котороеMathcadсможет вернуть, не будет иметь зна­чащих цифр. Вместо возвращения результата, точность которого не обоснована,Mathcadвыдает данное сооб­щение;

Прервано (interrupted)— вы прервалиMathcadнажа­тием клавиши [Esc] при выполнении вычислений. Для пересчета помеченного выражения щелкните мышью на выражении и нажмите [F9];

Пропущенный знак операции (missing operator)— в вы­ражении или уравнении пропущен один из знаков опе­рации;

Пропущенный операнд (missing operand)— в выражении пропущен один из операндов. Например, это сообщение можно видеть при вводе знака плюс без ввода слагаемых и последующем нажатии знака равенства.Mathcadпо­казывает поле ввода (маленький прямоугольник) на мес­те пропущенного операнда;

Размерность в невещественной степени— выражение с единицами измерений возведено в комплекснознач-ную или мнимую степень. Если выражение имеет раз­мерность, оно может быть возведено только в вещест-веннозначную степень, иначеMathcadне может опре­делить единицы, в которых выражен результат;

Решение не найдено (did not find solution)—Mathcadне нашел решения системы уравнений. Чтобы блок реше­ния уравнений выдал в качестве решения приближающий результат, используйте функциюMinerrвместо функцииFind.Подробнее см. главу «Решение уравнений»;

Слишком большое выражение (equation too large)— для вычисления вMathcadвведено слишком большое выражение. Разделите выражение на два или более подвыражений;

Слишком большой нижний индекс (subscript too large)— попытка использовать нижний индекс, превышающий пределы, допускаемыеMathcad;

Слишком велико, чтобы отобразить (too large to dis­play)— попытка вывести вектор или матрицу размерабольше, чемдопускаетсяMathcad;

Слишком мало аргументов (too few arguments) —ука­занное выражение содержит функцию со слишком ма­лым количеством аргументов. Для встроенных функ­ций число аргументов фиксировано; см. главу «Встро­енные функции». Для функций пользователя число па­раметров зависит от определения, сделанного в рабо­чем документе;

Слишком мало ограничений (too few constraints) —это сообщение указывает наFindилиGivenс количеством ограничений, меньшим числа переменных. Добавьте несущественные ограничения или уменьшите число переменных, относительно которых ищется решение. Подробнее см. главу «Решение уравнений»;

Слишком мало элементов (too few elements)— это со­общение указывает на преобразование Фурье, кубический сплайн или функцию линейной интерполяции, приме­няемую для вектора со слишком малым количеством компонентов. Преобразование Фурье и обратное к не­му требуют как минимум четыре элемента вектора;

Слишком много аргументов (too many arguments)— указанное выражение содержит функцию со слишком малым количеством аргументов. Для встроенных функ­ций число аргументов фиксировано; см. главу «Встро­енные функции». Для функций пользователя число па­раметров зависит от определения, сделанного в рабо­чем документе;

Слишком много индексов (too many subscripts)— ис­пользовано два или более нижних индекса для вектора либо три или более индекса для матрицы;

Слишком много ограничений (too many constraints) в блоке решения уравнений используются более пятиде­сяти ограничений;

Слишком много точек (too many points)— попытка вывести на график точек больше, чемMathcadможет обработать для одного графика;

Слишком много файлов— открыто слишком много файлов с использованием таких функций доступа к файлам, какWRITEPRN, READPRN,или других функ­ций этого типа. Одновременно таким образом может быть открыто не более 30 файлов. Выберите командуПрисоединить к файлуиз менюФайл,введите имя од ной из используемых файловых переменных и нажми­те «Отсоединить»;

Только символьный оператор —попытка получить численный результат у выражения, которое должно быть вычислено только символьно. Некоторые опера­торы должны вычисляться только символьно, как опи­сано в главе 17 «Символьные вычисления»;

Файл не найден (file not found)— система не нашла файла данных, указанного в качестве параметра для функцииREADилиREADPRN,либо для импорта в гра­фическую область.