0 / 0 / 0 Регистрация: 21.05.2020 Сообщений: 7 |
|
1 |
|
MathCAD 15 Значение должно быть вектором21.05.2020, 14:48. Показов 2393. Ответов 14
Делаю работу, почему так происходит? Плюс не особо нравится, что индексы приходится задавать. Доп.вопрос, почему при расчетах появляется возле цифр i Миниатюры
0 |
Programming Эксперт 94731 / 64177 / 26122 Регистрация: 12.04.2006 Сообщений: 116,782 |
21.05.2020, 14:48 |
14 |
8821 / 6387 / 3445 Регистрация: 14.01.2014 Сообщений: 14,690 |
|
21.05.2020, 15:09 |
2 |
У Вас там похоже матричный индекс, а должен быть литерный, который вводится через точку! Удалите его чисто (чтобы курсор был на одном уровне с cosfi ) и потом нажмите точку и введите «рж». У Вас похоже два разных cosfi! Добавлено через 6 минут Добавлено через 7 минут
1 |
0 / 0 / 0 Регистрация: 21.05.2020 Сообщений: 7 |
|
21.05.2020, 15:31 [ТС] |
3 |
Разобрался, а не знаете почему вычисления иногда бывают с i?
0 |
2159 / 1508 / 769 Регистрация: 25.12.2016 Сообщений: 4,293 |
|
21.05.2020, 15:34 |
4 |
poomatu, файл шлите
0 |
8821 / 6387 / 3445 Регистрация: 14.01.2014 Сообщений: 14,690 |
|
21.05.2020, 15:39 |
5 |
Литерные индексы вводятся через точку (после нажатия на точку курсор чуть опускается). Матричные индексы переключить сразу на литерные нельзя, надо заново набирать. Вообще лучше на первых порах набирать не индексы, а просто добавлять к имени переменной эти буковки. Обращаю внимание, что у Вас почти одинаковые имена у разных переменных с cosfi.
1 |
0 / 0 / 0 Регистрация: 21.05.2020 Сообщений: 7 |
|
21.05.2020, 17:03 [ТС] |
6 |
Друзья, а как поставить штрих (просто штрих, а то опять напортачу)
0 |
Модератор 5114 / 3922 / 1352 Регистрация: 30.07.2012 Сообщений: 11,742 |
|
21.05.2020, 17:13 |
7 |
poomatu, Ваш рабочий файл в архив и сюда…
0 |
0 / 0 / 0 Регистрация: 21.05.2020 Сообщений: 7 |
|
21.05.2020, 17:17 [ТС] |
8 |
Вот
0 |
2159 / 1508 / 769 Регистрация: 25.12.2016 Сообщений: 4,293 |
|
21.05.2020, 17:32 |
9 |
не все индексы матричные убрали и не определили некоторые величины,например f1 с матричным индексом опять же и т.д. Миниатюры
0 |
0 / 0 / 0 Регистрация: 21.05.2020 Сообщений: 7 |
|
21.05.2020, 17:36 [ТС] |
10 |
Знаю, этот пункт 1.3.6 еще сырой, его не трогал, сейчас проблема в том, что значения с i считает Если что, я про этот штрих, как его поставить подскажите пожалуйста Миниатюры
0 |
Модератор 5114 / 3922 / 1352 Регистрация: 30.07.2012 Сообщений: 11,742 |
|
21.05.2020, 17:43 |
11 |
Друзья, а как поставить штрих (просто штрих, а то опять напортачу) Что за штрих? Забудьте про него…
0 |
2159 / 1508 / 769 Регистрация: 25.12.2016 Сообщений: 4,293 |
|
21.05.2020, 17:45 |
12 |
да не ставьте вы эти индексы если они не матричные,также и штрихи,если это не производная,штрих ставится Ctrl+F7
0 |
0 / 0 / 0 Регистрация: 21.05.2020 Сообщений: 7 |
|
21.05.2020, 18:40 [ТС] |
13 |
Мне приходится их ставить так как есть требования к оформлению как в методичке, но вопрос открытый, почему i рядом со значениями?
0 |
2159 / 1508 / 769 Регистрация: 25.12.2016 Сообщений: 4,293 |
|
21.05.2020, 18:57 |
14 |
i это мнимая часть комплексного числа,это вас надо спросить почему так получается или где-то неправильная запись или ишо какая ошибка? Добавлено через 11 минут
0 |
0 / 0 / 0 Регистрация: 21.05.2020 Сообщений: 7 |
|
22.05.2020, 06:18 [ТС] |
15 |
Вроде сделал, поменяв U на другое значение, а насчет сК все хорошо, спасибо за помощь
0 |
Сообщения без ответов | Активные темы
Автор | Сообщение | ||
---|---|---|---|
Ivan31 |
Заголовок сообщения: MathCad 5.0.0.0 Значение должно быть скаляром или вектором Добавлено: 16 сен 2019, 19:00 |
||
|
Нужно определить функцию f(x) и вычислить ее значение.Не пойму в чем дело…
|
||
Вернуться к началу |
|
||
Похожие темы | Автор | Ответы | Просмотры | Последнее сообщение |
---|---|---|---|---|
Mathcad ошибка произведение должно быть векторным
в форуме MathCad |
Oks55555 |
25 |
677 |
22 дек 2020, 12:34 |
Значение должно быть скалярным
в форуме MathCad |
Darkly2 |
6 |
2241 |
28 окт 2017, 09:57 |
Основание степени — должно ли быть положительным?
в форуме Алгебра |
alekscooper |
3 |
225 |
01 июл 2019, 21:24 |
Сколько каких карт должно быть в колоде
в форуме Комбинаторика и Теория вероятностей |
Sergey+- |
12 |
513 |
12 янв 2019, 23:41 |
Сохранение из Mathcad 15 в Mathcad 11
в форуме MathCad |
janek55 |
1 |
804 |
25 июл 2015, 10:57 |
Задача с вектором
в форуме Линейная и Абстрактная алгебра |
KIJIM13 |
1 |
320 |
18 авг 2014, 09:23 |
Выражение с вектором и матрицей
в форуме Линейная и Абстрактная алгебра |
aggravator |
6 |
379 |
27 авг 2018, 17:44 |
Задание с радиус-вектором
в форуме Механика |
misslinetta1 |
1 |
80 |
10 дек 2022, 11:59 |
Уравнение с нормальным вектором
в форуме Аналитическая геометрия и Векторная алгебра |
Ogantar |
2 |
309 |
07 ноя 2017, 20:22 |
Билинейная функция с нулевым вектором
в форуме Линейная и Абстрактная алгебра |
e7min |
1 |
144 |
21 авг 2019, 08:34 |
Кто сейчас на конференции |
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6 |
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Вы можете создать форум бесплатно PHPBB3 на Getbb.Ru, Также возможно сделать готовый форум PHPBB2 на Mybb2.ru
Русская поддержка phpBB
Mathcad значение должно быть скалярным или вектором
Некоторые из операторов Mathcad имеют особые значения в применении к векторам и матрицам. Например, символ умножения означает просто умножение, когда применяется к двум числам, но он же означает скалярное произведение, когда применяется к векторам, и умножение матриц — когда применяется к матрицам.
Таблица описывает векторные и матричные операторы Mathcad. Многие из этих операторов доступны из палитры символов. Обратите внимание, что операторы, которые ожидают в качестве аргумента вектор, всегда ожидают вектор-столбец, а не вектор-строку.
Чтобы заменить вектор-строку на вектор-столбец, используйте оператор транспонирования [Ctrl]1.
Операторы, не перечисленные в этой таблице, не будут работать для векторов и матриц. При попытке использовать такой оператор с вектором или матрицей Mathcad будет отмечать это сообщением об ошибке “неверная операция с массивом”, или “нескалярная величина”. Можно, однако, использовать оператор векторизации, чтобы выполнить любую скалярную операцию или функцию поэлементно на векторе или матрице. См. раздел “Выполнение параллельных вычислений” ниже в этой главе. Рисунок 9 показывает использование некоторых векторных и матричных операций.
Рисунок 9: Векторные и матричные операции.
В следующей таблице
- A и B представляют массивы (векторы или матрицы).
- u и v представляют векторы.
- M представляет квадратную матрицу.
- и представляют отдельные элементы векторов u и v.
- z представляет скаляр.
- m и n представляют целые числа.
Операция | Обозначение | Клавиши | Описание |
Умножение матрицы на скаляр | * | Умножает каждый элемент A на скаляр z. | |
Скалярное произведение | * | Возвращает скаляр: . Векторы должны иметь одинаковое число элементов. | |
Матричное умножение | * | Возвращает произведение матриц A и B, число столбцов в A должно соответствовать числу строк в B. | |
Умножение матрицы на вектор | * | Возвращает произведение матриц A и v, число столбцов в A должно соответствовать числу строк в v. | |
Деление | / | Делит каждый элемент массива на скаляр z. | |
Сложение векторов и матриц | A + B | + | Складывает соответствующие элементы A и B, массивы A и B должны иметь одинаковое число строк и столбцов. |
Скалярная сумма | A + z | + | Добавляет z к каждому элементу A. |
Векторное и матричное вычитание | A — B | — | Вычитает соответствующие элементы массива A из элементов массива B, массивы A и B должны иметь одинаковые размеры. |
Скалярное вычитание | A — z | — | Вычитает z из каждого элемента A. |
Изменение знака | — A | — | Умножает все элементы A на -1. |
Степени матрицы, обращение матриц | M n | ^ | n-ная степень квадратной матрицы M (использует умножение матриц). n должен быть целым числом. M -1 представляет матрицу, обратную к M, другие отрицательные степени — степени обратной матрицы. Возвращает матрицу. |
Длина вектора | |v| | | | Возвращает , где — вектор, комплексно сопряженный к v. |
Детерминант | |M| | | | Возвращает детерминант квадратной матрицы M, результат — скаляр. |
Транспонирование | A T | [Ctrl]1 | Возвращает матрицу, чьи строки — столбцы А, и чьи столбцы — строки A. А может быть вектором или матрицей. |
Векторное произведение | u x v | [Ctrl]8 | Возвращает векторное произведение для векторов с тремя элементами u и v. |
Комплексное сопряжение | « | Меняет знак мнимой части каждого элемента A. | |
Суммирование элементов | [Ctrl]4 | Суммирует элементы вектора v; возвращает скаляр. | |
Векторизация | [Ctrl] — | Предписывает в выражении с A производить операции поэлементно. Полное описание дано в разделе “Выполнение параллельных вычислений” | |
Верхний индекс | A | [Ctrl]6 | Извлекает n-ный столбец массива A. Возвращает вектор. |
Нижний индекс (вектора) | vn | [ | n-ный элемент вектора. |
Нижние индексы матрицы | Am,n | [ | Элемент матрицы, находящийся в m-ном ряду и n-ной строке. |
Исправляем ошибки: Нашли опечатку? Выделите ее мышкой и нажмите Ctrl+Enter
Значение должно быть скаляром, MathCad.
В примере, как работать с Маткадом, всё работает (изображение 1):
Когда я делаю тоже самое, появляется ошибка, что значения не является скаляром:
Как исправить? Помогите, пожалуйста.
Оно может быть скаляром, только если размеры матриц A и B совпадают.
Решение системы линейных уравнений — это ВСЕГДА вектор. Скаляром оно быть не может по определению.
В ошибочной строке справа после знака равенства есть какой-то символ перед В. Попробуй его убрать. Еще, этот самый знак равенства должен, похоже, вводиться через Ctrl =.
Маткад ошибка значение должно быть скалярным
Маткад ошибка значение должно быть скалярным
БАЗОВЫЕ ОПЕРАЦИИ.
РАНЖИРОВАННЫЕ ПЕРЕМЕННЫЕ. ФУНКЦИИ. ГРАФИКИ
МАССИВЫ
1 Запуск. Формульные и текстовые области
Запуск Mathcad: Start / All Programs / Mathsoft Apps / Mathcad (Пуск / Все программы / Mathsoft Apps / Mathcad).
Документ Mathcad просматривается, интерпретируется и выполняется слева направо и сверху вниз и может включать три вида областей:
Для ввода математических символов: View / Toolbars / Math (Вид / Панели инструментов / Математическая).
Каждое математическое выражение набирается в отдельной формульной области. Одна формула – одна область!
Перемещение курсора — клавиша Пробел. Изменение направления уголка — клавиша Insert (Ins).
«:=» — «присвоить» — задать выражение (число или формулу)
«=» — «вычислить» подсчитать и вывести значение выражения.
Для вставки в документ текстовой области выполняют Insert / Text Region (Вставка / Область текста), либо просто нажимают в формульной области Пробел. Текстовая область имеет рамку с маркерами, позволяющими изменять ее размеры, и курсор в виде вертикальной линии красного цвета.
2 Ранжированные переменные. Функции. Графики
В Mathcad существует тип переменных, принимающих не одно, а множество значений. Такие переменные носят название ранжированных или дискретных. Ранжированная переменная – переменная, которая принимает ряд значений при каждом ее использовании, причем каждое значение отличается от соседнего на постоянную величину, называемую шагом.
Ранжированная переменная общего вида определяется выражением:
Имя := x1, x2 .. xn
Здесь Имя – задаваемое пользователем имя ранжированной переменной;
x1 – первое значение ранжированной переменной;
x2 – второе значение ранжированной переменной (x2 = x1 + Dx — первое значение плюс шаг);
xn – последнее значение ранжированной переменной.
Значения x1 и x2 разделяются запятой, двоеточие представляет собой единый оператор, указывающий на изменение переменной в заданных пределах. Он вводится с клавиатуры клавишей «;» или выбирается с палитры математических инструментов Matrix (Векторы и матрицы) (кнопка — Range Variable).
Например, если переменная изменяется в интервале с шагом , то она задается в виде
Шаг изменения значений ранжированной переменной в явном виде обычно не задается, он определяется как x2 – x1.
Функции в системе Mathcad можно условно разделить на две группы: встроенные и функции пользователя. Встроенные функции изначально заданы в системе разработчиками. Имя функции вводится с клавиатуры, обычно в нижнем регистре. Полный перечень встроенных функций можно получить, выполнив команду Function (Функция) главного меню Insert (Вставка), или нажав на кнопку панели инструментов. При этом появляется окно, где справа перечислены возможные категории функций, а слева – список функций из выделенной категории.
Среди наиболее часто используемых функций можно указать:
- sin(z) — синус z (z задается в радианах);
- cos(z) — косинус z;
- tan(z) — тангенс z;
- cot(z) — котангенс z;
- exp(z) – экспоненциальная функция, значение е (основание натурального логарифма) в степени z;
- ln(z) – натуральный логарифм z;
- log(z) – десятичный логарифм числа z;
- log(z, b) – логарифм числа z по основанию b;
- acos(z) – арккосинус z;
- acot(z) – арккотангенс z;
- asin(z) – арксинус z;
- atan(z) – арктангенс z.
Функция пользователя сначала должна быть определена, а затем к ней можно обращаться при вычислениях, записи алгебраических выражений, построении графиков и т. п. Функция пользователя определяется
Имя(список аргументов) := Выражение
Сначала задается имя функции, в круглых скобках указывается список аргументов функции (перечень используемых переменных), разделяемых запятыми. Затем вводится оператор присваивания. Справа от него записывается выражение, содержащее доступные системе операторы, операнды и функции с аргументами, указанными в списке аргументов.
Обращение к функции осуществляется по ее имени с подстановкой на место аргументов констант, переменных, определенных до обращения к функции, и выражений.
Основные виды графиков и инструменты для работы с ними находятся на палитре математических инструментов Graph (График).
Для построения графика функции одной переменной в декартовой системе координат в Mathcad:
- определяется функция пользователя;
- задается ранжированная переменная на некотором диапазоне с мелким шагом;
- вставляется шаблон двумерного графика X-Y Plot;
- в знакоместо по оси абсцисс записывается имя переменной, а в знакоместо по оси ординат — функция или имя ранее определенной функции;
- производится щелчок левой клавишей мыши вне области графика.
Примечание — Для построения в одной координатной плоскости графиков двух и более функций их имена или определяющие выражения перечисляются в знакоместе по оси ординат через запятую.
Массив в пакете Mathcad – это совокупность конечного числа упорядоченных пронумерованных элементов, которая может иметь уникальное имя. Обычно используют одномерные (векторы) и двумерные (матрицы) массивы, содержащие числовые, символьные или строковые данные.
– вектор-столбец; – вектор-строка.
Порядковый номер элемента называется индексом. Местоположение элемента в массиве задается одним индексом для вектора и двумя – для матрицы. Номер первого элемента массива определяется значением системной переменной ORIGIN. По умолчанию ORIGIN = 0 и может принимать только целые значения. Изменение значения этой системной переменной осуществляется последовательностью команд Math / Options… / Built-In Variables / Array Origin (ORIGIN) (Математика / Параметры / Встроенные переменные / Начальный индекс массивов) или переопределением в документе, например:
Существует несколько способов создания массивов.
1-й способ. Использование панели Matrix (Матрицы).
Сначала набирается имя массива и оператор присваивания, например, . Далее на панели Math (Математика) выбираем кнопку Matrix (Матриц):
Далее указываем количество ее строк m (Rows) и столбцов n (Columns) матрицы. Для векторов один из этих параметров должен быть равен 1. При m = 1 получим вектор-строку, а при n = 1 – вектор-столбец.
На месте курсора появится шаблон, в знакоместа которого вводятся значения элементов массива:
2-й способ. Использование ранжированной переменной.
Целочисленные ранжированные переменные используются для задания индексов и позволяют создавать массивы в следующем порядке:
- определяется системная переменная ORIGIN;
- задается ранжированная переменная (переменные) для нумерации элементов;
- индексированной переменной присваиваются значения элементов массива через запятую или в виде явной формулы.
Обращаться к отдельным элементам вектора или матрицы можно, используя нижний индекс, принимающий только целочисленные значения. Для ввода нижнего индекса после имени вектора или матрицы нажимается клавиша «[» (прямая открывающая скобка) либо используется пиктограмма с палитры математических инструментов Matrix. Для элемента матрицы указываются через запятую два индекса, обозначающих номер строки и номер столбца соответственно.
Для работы с векторами и матрицами система Mathcad имеет ряд специальных операторов и команд (представленных в таблице 1), используя которые не следует забывать об общих правилах матричного исчисления.
Таблица 1 – Команды палитры инструментов Matrix (Матрица)
Задача 44319 Не могу понять в чём ошибка. Приложение
УСЛОВИЕ:
Не могу понять в чём ошибка. Приложение пишет, что значение должно быть скалярным. Это MathCad 15.0. Что нужно сделать, чтобы исправить ошибку?
РЕШЕНИЕ ОТ slava191 ✪ ЛУЧШЕЕ РЕШЕНИЕ
Возможно нужно взять аргументы sin в круглые скобки sin(Pix^2)
Возможно, также, что mathcad не знает что такое Pi и перед всей конструкцией надо написать Pi:=3,14
Добавил vk140758054 , просмотры: ☺ 48 ⌚ 2020-02-17 11:10:37. информатика 1k класс
Решения пользователей
Написать комментарий
В прошедшем году страна имела следующие показатели, ден. ед.: ВНП — 500; чистые инвестиции частного сектора — 75; государственные закупки — 80; потребление домашних хозяйств — 250; поступление в государственный бюджет прямых налогов — 30; косвенных — 20; субвенции предпринимателям — 25; экспорт — 150; импорт — 110.
Определить:
а) располагаемый доход домашних хозяйств;
б) амортизационный фонд (D);
в) состояние государственного бюджета.
а) Определим величину НД на основе данных о его использовании
у = 250 + 75 + 80 + 150 – 110 = 445.
Поскольку прямые налоги составляют 30 ден. ед., то располагаемый доход:
yv = 445 – 30 = 415.
б) Амортизационный фонд (D) соответствует разности (ВНП— ЧНП). В свою очередь ЧНП = 445 + 20 – 25 = 440.
Следовательно, D = 500 – 440 = 60.
в) Состояние госбюджета характеризуется разностью между государственными расходами и поступлениями в бюджет
δ= (80 + 25) – (30 + 20) = 55.
ТОЛЬКО ПОДСТАВЬ СВОИ ЦИФРЫ.
опираться на традиционный подход, при котором учитывается, что окончания, как и другие морфемы, являются двусторонними единицами, то есть имеют не только форму, но и значение. Окончания имеют грамматические значения, которые характеризуют словоформу как принадлежащую к определенному классу и обязательны для всех словоформ данного класса. Окончания с одним и тем же грамматическим значением считаются одинаковыми, даже если не полностью совпадают по звуко-буквенному оформлению. Так, традиционно считается, что в словоформах большой (книги) и синей (книги) одно и то же окончание, потому что оно выражает одно и то же грамматическое значение (ж.р., ед.ч., Р.п.) и при этом представлено в словах одного грамматического класса — прилагательных. Различия в произношении и в написании (-ой и -ей) связаны с тем, что во втором прилагательном основа заканчивается на мягкий согласный. При совпадающем произношении и написании окончания считаются разными, если выражают разные грамматические значения. Так, в словоформах большой (дом), большой (книги), (к) большой (книге), большой (книгой), (о) большой (книге) окончания разные — омонимичные, так как при внешнем совпадении они выражают разные грамматические значения: большой (дом) — м.р., ед.ч., И.п., большой (книги) — ж.р., ед.ч., Р.п., (к) большой (книге) — ж.р., ед.ч., Д.п., большой (книгой) — ж.р., ед.ч., Т.п., (о) большой (книге) — ж.р., ед.ч., П.п.
Важным является также то, что каждое окончание всегда является элементом какого-либо набора окончаний, которые именно в противопоставлении друг другу реализуют свое значение. Рассмотрим словосочетания большой победой и большой столовой. У прилагательного и существительного в словосочетании большой победой окончания разные, хотя внешне они совпадают и оба имеют значение ед.ч., Т.п. Дело в том, что каждое из этих окончаний противопоставлено разным единицам, является элементом разных наборов окончаний. Окончание ‑ой в большой противопоставлено другим окончаниям прилагательных, а -ой в победой противопоставлено другим окончаниям существительных первого склонения. Окончания прилагательного и существительного в словосочетании большой столовой считаются одинаковыми: хотя слово столовая является существительным, его окончания типичны для прилагательных[ii]. Оно сохранило часть набора окончаний прилагательного: имеет такие же окончания, как прилагательное в сочетании столовая комната.
С учетом сказанного выше можно выделить такие группы словоформ с одинаковыми окончаниями[iii]:
1. каша, семья, борода — окончания существительных 1 склонения в единственном числе, в И.п.;
2. кальций, стол, патриций — нулевые окончания существительных 2 склонения мужского рода в единственном числе, в И.п.;
3. море, сражение — окончания существительных 2 склонения среднего рода в единственном числе, в И.п.;
4. морей, людей — окончания существительных во множественном числе, в Р.п.;
5. синий, бледнолицый, большой, рабочий, нищий, заведующий – окончания прилагательных в мужском роде, в единственном числе, в И.п.;
6. большая, столовая, синяя — окончания прилагательных в женском роде, в единственном числе, в И.п.;
7. последние, красивые — окончания прилагательных во множественном числе, в И.п.
Приписав окончаниям указанные грамматические значения, мы получили 7 групп. Вне группы (если считать, что в группе должно быть больше одного элемента) оказались словоформы синей (окончание прилагательного в женском роде, в единственном числе, в Т. п.) и революцией (окончание существительного 1 склонения в единственном числе, в Т. п.).
Заметим, что при другом выборе значений из числа омонимичных можно получить другое разбиение на группы.
Маткад ошибка значение должно быть скалярным
A «Find» or
«Minerr» must
be preceded
by a matching
«Given»
Find или Minerr
должны предва-
ряться ключе-
вым словам
Эта ошибка выде-
ляет функцию Find
или Minerr при их
несогласованности
Каждый вычислительный блок,
который заканчивается функцией
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 nth
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
Невозможно
определить, в
каких единицах
следует быть
результату этой
операции
Вы возвели выра-
жение, содержащее
единицы измере-
ния, в степень, яв-
ляющуюся пере-
менной в неких
пределах или век-
тором. В результате
невозможно опре-
делить размерность
результата
Если выражение включает в себя
единицы измерений, то можно
возводить его только в действи-
тельную фиксированную степень
Маткад ошибка значение должно быть скалярным
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 предоставляет пользователю некоторый контроль над ошибками, которые могут возникнуть при вычислении выражений или при выполнении программ. Для этой цели служит оператор on error, который можно вставить с помощью одноименной кнопки панели Programming . В поле ввода справа следует ввести выражение или программу, которые необходимо вычислить (известно, что это выражение может содержать ошибку при определенных значениях входных параметров). В поле ввода слева следует ввести выражение, которое будет выполнено вместо правого выражения, если при выполнении последнего возникнет ошибка. Пример: Если аргументу функции присвоено нулевое значение, то в программе возникает ошибка — деление на нуль. Но за счет оператора on error сообщение не выводится, а функции в этой точке присваивается значение, указанное слева от оператора on error — значение машинной бесконечности.
В поле ввода слева может быть введено текстовое выражение, сообщающее об ошибке
Конечно, если программа содержит только простейшие математические операции, то никаких ошибок, кроме деления на нуль или превышения наибольшего допустимого числа в ней возникнуть не может. В таких программах оператор on error используется редко. Но для более сложных программ, которые содержат функции решения дифференциальных уравнений, аппроксимации или другие сложные функции MathCAD, использование on error может избавить от многих трудностей.
Иногда может возникнуть ситуация обратная той, которая была описана выше, т.е. необходимо, чтобы при определенных условиях результатом выражения было сообщение об ошибке, хотя в действительности при этом не возникает ни одной стандартной ошибки MathCAD. Для таких случаев в MathCAD предусмотрена встроенная функция error. В качестве аргумента этой функции нужно в кавычках указать текст сообщения об ошибке, который должен быть выведен. Таким образом, если необходимо, чтобы программа возвращала ошибку при определенном условии, то следует использовать конструкцию вида: error («текст ошибки») if (условие).
Для того, чтобы иметь возможность нормально вводить текст на русском языке в аргумент функции error (а также во все другие функции со строками), следует изменить шрифт, который используется во встроенном стиле Constant. Для того чтобы этот стиль правильно отображал русские буквы, установите курсор на любом числе или строковом выражении в формульном блоке. При этом в поле на панели инструментов Formatting, отображающем текущий стиль, должно быть написано — Constant. Теперь выберите из раскрывающегося списка шрифтов шрифт, поддерживающий кириллицу.
1. Вычислить функцию sin(x) с точностью е.
2. Даны массивы А(5) и В(5). Получить массив С, в который записаны сначала элементы
массива А в порядке возрастания, а затем элементы массива В порядке убывания
3. По введенным значениям коэффициентов А, В, С определить корни квадратного уравнения
4. Дан массив натуральных чисел В(10). Определить, есть ли в нем 4 последовательных числа (например, 1, 2, 3, 4, и т.п.). Напечатать такие группы чисел.
1. Какая панель служит для вставки программного кода в документ MathCAD? Можно ли операторы программирования набрать с клавиатуры?
2. С какой команды начинается создание программного блока? Как с ее помощью можно создавать разветвленный программный блок?
3. Что такое определение программного блока? Обращение к программному блоку?
4. Что такое глобальные и локальные переменные для программного блока? Что может содержать последняя строка программного блока?
5. Как работает оператор if в программном блоке? Приведите пример.
6. Создание цикла с параметром в программном блоке. Приведите пример.
7. Создание цикла while в программном блоке. Приведите пример.
8. Для чего служат операторы break, continue в программном блоке? Приведите примеры.
9. Как работает оператор return в программном блоке? Приведите пример.
10. Как осуществляется обработка ошибок в программном блоке? Приведите пример.
http://sprashivalka.com/tqa/q/28669377
Возьмем для работы обычную функцию:
Очень просто построить график для этой функции, используя вычисление значения y для разных значений х. Для этой задачи в Mathcad используются переменные диапазоны.
Переменные диапазоны
Переменные диапазоны имеют большое количество значений. Определение двух двух таких диапазонов вы можете видеть на картинке ниже.
Первая переменная приобретает значения от 0 до 3 при шаге 1. Вторая переменная имеет для первой позиции значение 3, для второй 6 и имеет границу 13. Первая переменная-диапазон задается как математическая область с использованием оператора [..].
Для того, чтобы ввести такое выражение, нужно на клавиатуре набрать [i:0..3]. Для определения второй переменной, нужно выполнить два шага.
1. Наберите на клавиатуре [j:3,], после запятой появится место для заполнения.
2. Наберите второе значение и верхнюю границу.
Переменная-диапазон, которая представлена первым видом, используется намного чаще. Если есть необходимость, то такую переменную можно менять.
Использование параметров также доступно в переменной-диапазоне. Дальнейший пример показывает, как параметр может изменить длину переменной-диапазона.
Второй тип, который мы рассматриваем, может использоваться более гибко. Когда вы ставите запятую, то в первое место для заполнения вы вводите второе значение переменной, а не ее шаг. А для второго места необходимо указать верхнюю границу, на которой или до нее переменная-диапазон будет заканчиваться.
При использовании переменной-диапазона как индекса массива, необходимо иметь ввиду, что все элементы переменной должны быть либо натуральными числами, либо нулем.
Нельзя переменную-диапазон получить по индексу. Если вы попробуете это совершить, то появится ошибка «Значение должно быть вектором»:
Что такое «вектор» в программе, мы обговорим в следующих уроках.
Наша функция
Мы найдем значение нашей функции для шести значений переменной-диапазона:
В ряду от 0 до 5 есть шесть значений. Присвоим переменной х эти значения с помощью подстрочного индекса.
Можно проверить значения индексов при помощи выражений:
Теперь может проверить значения функции
Для проверки всех значений нужно ввести [x=] и [y=].
Это векторы.
Первый график
Теперь, когда мы знаем значения для x и y, то мы можем отобразить их на графике. Для этого зайдите во вкладку Графики -> Вставить график -> График XY.
Вы увидите, что в месте, которое вы обозначили, появятся оси и место для заполнения значения. Введите значение у.
Перейдите к месту для заполнения внизу и введите значение х. После чего нажмите [Enter]. Вы увидите график.
Элементы графика
Элементы графика отмечены на схеме внизу. Это:
- Оси Х и Y
- Легенды для осей
- Фон графика
- Линия графика
- Метки на осях
- Значения на метках.
Изменить размеры области, где помещен график можно так же, как и размер другой области. Чтобы выбрать график, нужно щелкнуть на нем мышкой с нажатой при этом клавишей [Ctrl]. Если вы подведете мышку к правому нижнему углу, то курсор изменится на двойную стрелку. Вы можете зажать мышку и потянуть для изменения размеров. Также вы можете перемещать оси графика. Наведите мышь на любую из осей и потяните в нужную сторону. Для изменения цветового фона графика нужно выбрать его во вкладке График -> Фон графика. Тип фона выберите прозрачным.
Так как мы брали для расчетов только несколько точек, то график вышел ломаным. В этом случае может иметь смысл вывод одних лишь точек. Для этого нужно в вкладке Графики -> Стили -> Символ выбрать символ круга. На линии отобразятся точки.
Выберите Стиль линии -> (нет) и линия графика пропадет. Так как символы достаточно мелкие, то придется увеличить размер кривой. При этом символы также вырастут в размере. Также можно изменить цвет кривой, сделайте его красным.
Сейчас посмотрите на метки и обозначения, которые есть возле них. Проведи медленно мышкой по этим меткам вдоль оси Y. Значения первой, второй и последней метки будут изменять размер в сторону больше, когда вы наведете на них. Первое и последнее из этих значений обозначают границы вывода графика. Изменяя второе значение, вы можете менять чисто меток на оси. Попробуйте изменить значение на второй метке на оси Y на 5, а на оси Х на 1.
Теперь выделите график нажатие мыши и во вкладке График -> Оси и выберите Выражение оси. Легенда будет исчезать, если вы нажмете в любую область вне графика и появляться снова, когда вы будете выбирать график. На нижеприведенном рисунке легенду заменяют две математические области с y и х.
Возможно, вам больше понравится именно такой вывод графика, чем тот, который мы получили вначале. Но это зависит от предпочтений.
Быстрое построение графика
Можно выполнить построение графика намного быстрее, если вашей целью является лишь прослеживание поведения функции. Перед началом работы необходимо удалить все значения переменной х, которые мы присваивали ранее. Для этого используем команду clear(x).
Вводим функцию, график которой нам нужно построить.
Вставим далее график XY. Введите в первый заполнитель [y(x)], а во второй [x]. Теперь нажмите в любое место за пределами графика. Диапазон х поставьте в диапазоне от -10 до 10. Значения y примутся автоматически.
Резюме
Переменные-диапазоны:
- Переменная-диапазон — это комплекс значения. Переменные-диапазоны, которые используются в качестве индексов массива, должны иметь значения натуральных чисел или нуля.
- Все переменные-диапазоны должны иметь значение, шаг и верхнюю границу.
- Переменные-диапазоны с шагом 1 нужно вводить в порядке: имя переменной, оператор присваивания, начальное значение, две точки, верхняя границы, которая является последним значением).
- Если нужно ввести диапазон в другим шагом, отличным от 1, то сначала вводится два первых значения через запятую, а потом верхняя граница после двух точек.
График набора точек:
- Выберите количество точек, которые должны отобразиться на графике.
- Создайте переменную-диапазон, где укажите значения от нудя до нужной границы.
- Выполните определение для значения x. Для этого используйте имя переменной-диапазона в качестве подстрочного индекса.
- Проведите вычисление значений функции.
- Для вставки графика зайдите в Графики -> Вставить график -> График XY.
- Задайте имена переменных (в нашем примере x и y) в местозаполнителях.
- Нажмите в любое место вне области графика для его построения.
Для того, чтобы быстро построить график функции y(x) нужно:
- Разместите график XY с помощью Графики -> Вставить график -> График XY.
- Задайте имя функции, в нашем случае y(x) в первый местозаполнитель, а имя переменной (х) — во второй.
- Нажмите в любое место вне графика, чтобы построить его.