Главная страница » Что значит переменная не определена в маткаде

Что значит переменная не определена в маткаде

  • автор:

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

Это приложение является алфавитным списком диагностических сообщений об ошибках в математических выражениях. Они появляются при попытке ввода, обработки или вычисления выражения, в котором 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 tolerance) — это сообщение отмечает выражение, использующее 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) — указанная функция содержит некорректный список аргументов. Правильное определение функции начинается таким образом:

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

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

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

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

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

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

Потеряны значащие цифры (significance lost) — это сообщение отмечает попытку вывести функцию от величины, которая лежит за пределами диапазона, где зна чение функции может быть вычислено точно. Например, оно появится при попытке вычислить sin (10 100 ). Поскольку величина sin (IQi 00 ) зависит от совершенно определенных цифр числа IQi 00 , то любое значение, которое 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 display) — попытка вывести вектор или матрицу размера больше, чем допускается 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, либо для импорта в графическую область.

почему маткад пишет, что переменная F1 не определена,

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

Юлия

Ошибку где-то сделал.

Вот что можно рассмотреть на приведённой картинке?
Если я правильно понял перед F1:=Find стоит ещё строчка с F1=Find только в виде уравнения с жирным знаком равенства. Такого не должно быть.

Что значит переменная не определена в маткаде

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

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

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

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

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

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

Тип бесконечности вводится нажатием сочетания клавиш <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 переменная не определена в уравнении

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

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

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

Возможности MathCad позволяют определить корень как в численном виде (т. е. результат решения уравнения представляет собой число) так и в символьном (результат — выражение). Для численного определения корня необходимо задать (определить) ВСЕ переменные входящие в уравнение и даже искомую переменную. MathCad воспринимает задание искомой переменной как начальное приближение корня. Крайне важно задаться начальным приближением, поскольку без него корень уравнения невозможно определить в силу особенностей используемых численных методов. Нужно отметить, что некорректное задание начального приближения часто становится причиной получения неверного результата либо его отсутствия вообще. Но не стоит забывать также и о том, что корня может не быть, потому что само уравнение его не имеет.
В том случае, если необходимо решить уравнение относительно какой-либо переменной в символьном виде, то нет необходимости задаваться значениями всех входящих в уравнение параметров и начальным приближением переменной. В этом случае достаточно ввести уравнение (также через «жирное равно») и после оператора Find(x) поставить «→». При этом будут работать уже другие функции MathCad, которые заточены под символьное преобразование и упрощение выражений. Результатом решения будет выражение. Стоит отметить, что MathCad сможет записать решение далеко не всякого уравнения. В этом смысле его возможности ограничены.

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

Пример №1. Решение уравнения в MathCad с помощью блока Given Find численно: Скачать

Пример №2. Решение уравнения в MathCad с помощью блока Given Find символьно: Скачать

Способ №2: Применение метода solve:

Этот метод по существу не отличается от выше рассмотренного, поскольку процедура нахождения корня аналогична. Разница лишь в оформлении. В этом случае наше уравнение записывается без операторов Given и Find. После ввода уравнения на панели Symbolic нажимаем кнопку solve (см. рис. 3), определяем через запятую искомую переменную, жмем «→» и получаем ответ.
Рис. 3. Панель «Символьные»
Иногда, то что не получается найти с помощью Given Find получается в solve.

Пример №3. Решение уравнения в MathCad с помощью solve: Скачать

РЕШЕНИЕ УРАВНЕНИЙ И СИСТЕМ УРАВНЕНИЙ

4 Решение уравнений и систем средствами Mathcad

Система Mathcad обладает широкими возможностями численного решения уравнений и систем уравнений.

Функция root, блоки Given…Find, Given…Minerr

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

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

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

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