0 / 0 / 0 Регистрация: 13.11.2019 Сообщений: 14 |
|
1 |
|
MathCAD 15 Значение должно быть скалярным05.06.2020, 19:29. Показов 2167. Ответов 23
Здравствуйте. Помогите, пожалуйста. Не могу понять в чём проблема. Постоянно вываливаются ошибки. Либо подсвечивается первая строка в программе и появляется уведомление «Значение должно быть скалярным», либо подсвечиваются переменные R и P и уведомление «Значение имеет единицы измерения Unitless, а должно иметь единицы измерения Плотность магнитного потока». Если выбираю размерность R и P, то появляется аналогичное сообщение об ошибке в размерности, но уже для Q, записанном после кода программы (там, где должен содержаться ответ).
__________________
0 |
Programming Эксперт 94731 / 64177 / 26122 Регистрация: 12.04.2006 Сообщений: 116,782 |
05.06.2020, 19:29 |
23 |
2049 / 1437 / 730 Регистрация: 25.12.2016 Сообщений: 4,039 |
|
05.06.2020, 19:57 |
2 |
что за странные матричные индексы,вы что хотели этим изобразить? Миниатюры
0 |
0 / 0 / 0 Регистрация: 13.11.2019 Сообщений: 14 |
|
05.06.2020, 20:19 [ТС] |
3 |
Не совсем понятен ваш вопрос. Хотелось, чтобы индекс соответствовал номеру строки в матрице для заданного элемента. Миниатюры
0 |
2049 / 1437 / 730 Регистрация: 25.12.2016 Сообщений: 4,039 |
|
05.06.2020, 20:29 |
4 |
Хотелось, чтобы индекс соответствовал номеру строки в матрице для заданного элемента. это понятно,хотите так пусть будет так,z не определен,светится красным.
0 |
0 / 0 / 0 Регистрация: 13.11.2019 Сообщений: 14 |
|
05.06.2020, 20:36 [ТС] |
5 |
Я думала, что переменная должна была определиться. Значение было задано в двух местах. Миниатюры
0 |
8363 / 6099 / 3234 Регистрация: 14.01.2014 Сообщений: 13,907 |
|
05.06.2020, 20:43 |
6 |
Там, где высвечивается ошибка, Mathcad не знает, чему равно z. Напомню, что z должно быть определено заранее до его использования в других операторах.
0 |
0 / 0 / 0 Регистрация: 13.11.2019 Сообщений: 14 |
|
05.06.2020, 20:50 [ТС] |
7 |
Ошибка появляется в месте, указанном на скриншоте (первая строка в программе). Перед вводом программы z определено. Его нужно задать как-то по-другому? Миниатюры
0 |
8363 / 6099 / 3234 Регистрация: 14.01.2014 Сообщений: 13,907 |
|
05.06.2020, 21:00 |
8 |
То, что Вы показали на последних двух скринах, этого в Вашем файле нет совсем! Поэтому не могу сказать, почему на последнем скрине ошибка. Совет для последнего скрина. Перед функцией со странным именем Q(Q,z):= (два одинаковых имени Q?) наберите z=, чтобы посмотреть его значение.
0 |
0 / 0 / 0 Регистрация: 13.11.2019 Сообщений: 14 |
|
05.06.2020, 21:16 [ТС] |
9 |
Извините, но скрины из приложенного документа. Значение z проверенно, оно имеется. Совсем не понимаю что нужно исправить Изображения
0 |
8363 / 6099 / 3234 Регистрация: 14.01.2014 Сообщений: 13,907 |
|
05.06.2020, 21:26 |
10 |
Проверьте лучше свой файл, который Вы загрузили с такими недоделками Миниатюры
0 |
0 / 0 / 0 Регистрация: 13.11.2019 Сообщений: 14 |
|
05.06.2020, 21:34 [ТС] |
11 |
Ещё раз извиняются. Не перезаписался файл. Не могли бы вы помотреть эту версию?
0 |
8363 / 6099 / 3234 Регистрация: 14.01.2014 Сообщений: 13,907 |
|
05.06.2020, 22:44 |
12 |
Не очень понятная ситуация с этой функцией даже после исправления имени на QQ(Q,z). Заново перенабрал ещё раз ниже эту функцию (оставив прежнюю на месте), выяснилось, что Q016 в последней строке было не задано перед этим (убрал). Перенёс задание значения повыше перед заданием массива Q. Вновь набранная функция работает. Файл приложил.
0 |
0 / 0 / 0 Регистрация: 13.11.2019 Сообщений: 14 |
|
05.06.2020, 22:52 [ТС] |
13 |
Большое спасибо за потраченное время, исправленные ошибки и пояснение.
0 |
0 / 0 / 0 Регистрация: 13.11.2019 Сообщений: 14 |
|
06.06.2020, 09:52 [ТС] |
14 |
К сожалению, всё равно остался вопрос. Необходимо, чтобы значения Q были просчитаны для всех значений x с учётом неравенств (в первой строке за место z должно быть x00, во второй — х01 и т.д). Подскажите, пожалуйста, как это реализовать?
0 |
8363 / 6099 / 3234 Регистрация: 14.01.2014 Сообщений: 13,907 |
|
06.06.2020, 10:07 |
15 |
Мне вообще непонятна вся эта «пирамидальная» конструкция — ясно, что эти суммы со знаком минус можно было гораздо короче расписать либо через знак суммы, либо через отдельную функцию (для этого все слагаемые надо привести в матричный вид — пока там только часть с матричными индексами и ещё есть с литерными вроде Ri). У меня такое впечатление, что это неудачная реализация какого-то алгоритма (формулы), который надо было сначала привести здесь!
0 |
0 / 0 / 0 Регистрация: 13.11.2019 Сообщений: 14 |
|
06.06.2020, 10:14 [ТС] |
16 |
Смысл конструкции — это построение эпюры поперечных сил. Пыталась сделать по этому примеру. Миниатюры
0 |
8363 / 6099 / 3234 Регистрация: 14.01.2014 Сообщений: 13,907 |
|
06.06.2020, 10:22 |
17 |
Вы опять приводите код (явно неудачный), а надо алгоритм или формулу! Из какой методички он взят?
0 |
0 / 0 / 0 Регистрация: 13.11.2019 Сообщений: 14 |
|
06.06.2020, 10:26 [ТС] |
18 |
0 |
8363 / 6099 / 3234 Регистрация: 14.01.2014 Сообщений: 13,907 |
|
06.06.2020, 10:40 |
19 |
Сейчас мне некогда смотреть этот документ, который Вы сами бы загрузить здесь! Мои замечания касались только рациональности реализации программного кода, чем можно заняться потом. Главное — работает ли данный код правильно? Что именно Вас не устраивает?
0 |
0 / 0 / 0 Регистрация: 13.11.2019 Сообщений: 14 |
|
06.06.2020, 10:57 [ТС] |
20 |
Сейчас код работает не так, как мне нужно. А мне нужно получить в итоге не одно значение для Q, а 17 (по количеству строчек). И чтобы за место z подставлялись все значения x. Например, в первой строке за место z сначало проверяется x00, сравнивается с границами промежутка (0 и х00) и поскольку равенство строгое, уравнение должно посчитаться с этим значением x (остальные х отметаются для первого уравнения, т.к. не входят в промежуток) и т.д.
0 |
В примере, как работать с Маткадом, всё работает (изображение 1):
Когда я делаю тоже самое, появляется ошибка, что значения не является скаляром:
Как исправить? Помогите, пожалуйста.
Оно может быть скаляром, только если размеры матриц A и B совпадают.
Решение системы линейных уравнений — это ВСЕГДА вектор. Скаляром оно быть не может по определению.
Во-первых, уже правильно говорили, что знак равенства в уравнении нужно вводить через Ctrl = (он должен быть жирным, и в примере это видно) .
Во-вторых, если вы задали альфу как функцию от трёх аргументов, то и в уравнении её надо писать так же, то есть со скобками, в которых перечислены аргументы. Ну, или сразу писать там матрицу, как было сделано в примере.
Значение должно быть скаляром или вектором mathcad
Некоторые из операторов Mathcad имеют особые значения в применении к векторам и матрицам. Например, символ умножения означает просто умножение, когда применяется к двум числам, но он же означает скалярное произведение, когда применяется к векторам, и умножение матриц — когда применяется к матрицам.
Таблица описывает векторные и матричные операторы Mathcad. Многие из этих операторов доступны из палитры символов. Обратите внимание, что операторы, которые ожидают в качестве аргумента вектор, всегда ожидают вектор-столбец, а не вектор-строку.
Чтобы заменить вектор-строку на вектор-столбец, используйте оператор транспонирования [Ctrl]1.
Операторы, не перечисленные в этой таблице, не будут работать для векторов и матриц. При попытке использовать такой оператор с вектором или матрицей Mathcad будет отмечать это сообщением об ошибке «неверная операция с массивом», или «нескалярная величина». Можно, однако, использовать оператор векторизации, чтобы выполнить любую скалярную операцию или функцию поэлементно на векторе или матрице. См. раздел «Выполнение параллельных вычислений» ниже в этой главе. Рисунок 9 показывает использование некоторых векторных и матричных операций.
Рисунок 9: Векторные и матричные операции.
В следующей таблице
представляет квадратную матрицу.
Исправляем ошибки: Нашли опечатку? Выделите ее мышкой и нажмите Ctrl+Enter
В примере, как работать с Маткадом, всё работает (изображение 1):
Когда я делаю тоже самое, появляется ошибка, что значения не является скаляром:
Как исправить? Помогите, пожалуйста.
Здесь легко и интересно общаться. Присоединяйся!
Оно может быть скаляром, только если размеры матриц A и B совпадают.
Решение системы линейных уравнений — это ВСЕГДА вектор. Скаляром оно быть не может по определению.
В ошибочной строке справа после знака равенства есть какой-то символ перед В. Попробуй его убрать. Еще, этот самый знак равенства должен, похоже, вводиться через Ctrl =.
MathCAD — это система, ориентированная на пользователя, который не обязан знать абсолютно ничего о программировании. Создатели MathCAD изначально поставили перед собой такую задачу, чтобы дать возможность профессионалам — математикам, физикам и инженерам самостоятельно проводить сложные расчеты, не обращаясь за помощью к программистам. Несмотря на блестящее воплощение этих замыслов, выяснилось, что совсем без программирования MathCAD серьезно теряет в своей силе, в основном, из-за недовольства пользователей, знакомых с техникой создания программ.
В очень ранних версиях MathCAD встроенного языка программирования не было. Чтобы применять привычные операции проверки условий и организовывать циклы, приходилось изобретать причудливую смесь из встроенных функций if и until, а также комбинаций ранжированных переменных. Но надо отметить, что использование ранжированных переменных — мощный аппарат MathCAD, похожий на применение циклов в программировании. В подавляющем большинстве случаев намного удобнее организовать циклы с помощью ранжированных, чем заниматься для этого программированием.
И тем не менее встроенный язык программирования MathCADпозволяет решать самые различные, в том числе и довольно сложные, задачи и является серьезным подспорьем для расчетов. Поэтому последние версии MathCAD имеют не очень мощный, но весьма элегантный собственный язык программирования.
Для вставки программного кода в документы MathCAD имеется специальная панель инструментов . Большинство кнопок этой панели выполнено в виде текстового представления операторов программирования, поэтому их смысл легко понятен. Операторы программирования могут быть введены только с этой панели, но никак не с клавиатуры (можно еще их вводить с помощью сочетаний клавиш, которые приведены в тексте всплывающей подсказки).
Создание программного блока начинается с команды . Нажатие этой клавиши приведет к тому, что в рабочей области документа появится вертикальная черта, а справа от нее — два пустые поля ввода . Вертикальная черта означает, что строки, находящиеся справа от нее, образуют линейную программную последовательность операций. Эта черта является особенностью программ MathCAD. В полях ввода можно ввести две первые строки программы, а если требуется большее число строк, то необходимо нажимать клавишу столько раз, сколько необходимо строк. Не стоит забывать, что программа является полноценным выражением MathCAD. Это выражение может быть использовано для присвоения значения скалярной или векторной переменной или определения функции, или даже в составе другого выражения, в том числе и другой программы.
Для определения функции это будет выглядеть следующим образом:
Внутри программы можно использовать глобальные переменные документа, но изменить их значение внутри программы никак нельзя. Можно создать в программе другие переменные, доступ к которым может осуществляться только из самой программы. Эти переменные называются локальными переменными. Локальные переменные «не видны» извне. Локальная переменная создается с помощью знака локального присвоения с панели Programming. Для оператора локального присваивания, так же как и для операторов обычного и глобального присваивания, можно изменить внешний вид так, чтобы он выглядел как обычный знак равенства. Для этого достаточно вызвать контекстное меню этого оператора и в нем выбрать команду View Definition As/Equal.
Последняя строка любой программы не должна содержать никаких управляющих операторов. Эта строка задает значение, возвращаемое программой. В качестве этого значения может быть скаляр (число или переменная), вектор или матрица. Таким образом, последняя строка программы может содержать имя локальной переменной либо некоторое математическое выражение, куда входят как локальные, так и глобальные переменные, либо вектор или матрицу.
Вставить строку программного кода в уже созданную программу можно в любой момент с помощью той же самой кнопки Add Line. Для этого следует поместить на нужное место внутри программы линии ввода.
Если вертикальная линия ввода находится в начале текущей строки, то нажатие кнопки приведет к появлению новой строки перед текущей строкой, если вертикальная линия ввода находится в конце строки, то нажатие кнопки приведет к появлению новой строки после текущей. Можно выделить только часть текущей строки, что повлияет на положение новой строки в программе (например, если необходимо для некоторого условия выполнить не одно действие, а несколько). Таким образом, основной принцип создания программных модулей заключается в правильном расположении строк кода. Ориентироваться в их действии довольно легко, т.к. фрагменты кода одного уровня сгруппированы в программе с помощью вертикальных черт.
Проверка условий в программах.
Программы в MathCAD могут быть не только линейными, но и разветвленными. Одним из вариантов ветвления в программах является проверка условия. Условия могут проверять значения как локальных, так и глобальных переменных, а также выражений, содержащих эти переменные.
Для проверки условий в программах MathCAD служит оператор if . В поле ввода справа нужно ввести условие. Для ввода условий служит панель Boolean. На этой панели есть кнопки, предназначенные для проверки условий , а также кнопки, предназначенные для вставки логических операций (логическое отрицание, операция «и», операция «или», операция «исключающее или»). Вторые позволяют создавать сложные условия. В поле ввода слева нужно ввести строку программы, которая должна выполняться, если введенное условие истинно.
Если для условия «истинно» необходимо выполнение нескольких строк программы, надо воспользоваться кнопкой .
Если невыполнение условия должно привести к выполнению какого-либо иного программного кода, можно в строке, следующей за оператором if, вставить оператор . В поле ввода слева от этого оператора необходимо ввести строку программы, которая будет выполняться только в том случае, если не выполнилось условие, заданное в операторе if.
Следует помнить, что если в программе введено подряд несколько строк с оператором if , то выражение слева от оператора otherwise будет выполнено только в том случае, если не выполняются условия, заданные во всех операторах if.
Другим очень важным элементом при создании нелинейных программ являются циклы. Циклы позволяют повторять несколько раз выполнение одного и того же программного блока. Для создания циклов в MathCAD предусмотрено два оператора for и while.
Цикл for — цикл со счетчиком.
В таких циклах создается некоторая переменная-счетчик, значение которой изменяется после каждого выполнения тела цикла. Выход из цикла происходит при достижении этой переменной заданного значения. Этот оператор вводится с панели Programming клавишей for . В поле ввода после слова for следует указать имя переменной — счетчика. Это может быть любое имя, которое не использовалось ранее в программе. Внутри цикла можно использовать эту переменную в любых выражениях, нельзя только присваивать ей никакого значения. В поле ввода после знака следует указать диапазон значений переменной-счетчика. Вводить диапазон в данном случае следует так же, как и при создании ранжированной переменной. Вместо диапазона в данном поле ввода можно указать имя некоторого массива (вектора или матрицы). В этом случае переменная-счетчик будет последовательно принимать значения всех элементов этого массива. Возможность перебора элементов массива не может быть реализована с помощью цикла while, поэтому именно в таких случаях цикл for и является незаменимым. В поле ввода под словом for следует ввести тело цикла.
Пример: Заполнить вектор числами от xнач до xкон с шагом h. Затем определить сумму элементов этого вектора и найти их среднее арифметическое значение.
Цикл while — цикл, который выполняется до тех пор, пока выполняется определенное условие.
В поле ввода справа от слова while следует ввести условие. Это условие строится по тем же правилам, что и в операторе if. Оно будет проверяться после каждого выполнения тела цикла и в тот момент, когда условие перестанет выполняться, повторение тела цикла прекратится. В поле ввода ниже слова while следует ввести тело цикла (напомним, что для ввода нескольких строк в теле цикла надо воспользоваться кнопкой Add Line).
Пример1: Вычислить сумму с точностью е.
Пример2: Найти первый элемент, превышающий определенный порог.
Использование операторов break и continue.
Иногда возникает необходимость повлиять на выполнение цикла некоторым образом, например, прервать его выполнение по какому-либо условию или выполнять некоторые итерации не так, как другие. Для этого и служат операторы break и continue.
Оператор break, если он расположен внутри цикла, означает немедленное прекращение выполнения текущей итерации и выход из цикла. Если есть необходимость прекратить выполнение цикла по какому-либо условию, то следует использовать конструкцию следующего вида break if (условие).
Пример: Выделить из массива все элементы от начала и до первого вхождения в него заданного числа.
Оператор continue используется для того, чтобы немедленно перейти в начало цикла и начать следующую итерацию. Этот оператор также обычно используется в составе конструкции вида continue if (условие). Оператор continue используется в случаях, когда необходимо чтобы некоторые вычисления производились для одних итераций и не производились для других.
Пример: Требуется заполнить элементы квадратной матрицы в шахматном порядке.
Оператор return (возврат значения).
Как мы уже указывали, результат выполнения программного модуля помещается, как правило, в последней его строке. Но можно прервать выполнение программы в любой ее точке (например, с помощью условного оператора) и выдать некоторое значение, применив оператор return. В этом случае при выполнении указанного условия значение, введенное в поле ввода после return, возвращается в качестве результата, и никакой другой код больше не выполняется. Вставляется в программу оператор return с помощью одноименной кнопки панели Programming . Пример:
Система 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, и т.п.). Напечатать такие группы чисел.
Не нашли то, что искали? Воспользуйтесь поиском:
Лучшие изречения: На стипендию можно купить что-нибудь, но не больше. 9014 — | 7251 — или читать все.
78.85.5.224 © studopedia.ru Не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования. Есть нарушение авторского права? Напишите нам | Обратная связь.
Отключите adBlock!
и обновите страницу (F5)
очень нужно
MathCAD — универсальная система математических расчетов: Методические указания к лабораторной работе
Цель работы — изучение основ работы с программой MathCAD; освоение входного языка системы; управление вычислительным процессом; построение и форматирование графиков; выполнение символьных операций. Приводятся основные сведения по работе с системой, упражнения для практического освоения системы, контрольные вопросы. Пособие подготовлено на кафедре «Теоретические основы радиотехники» УГТУ-УПИ.
Маткад ошибка значение должно быть скалярным
Маткад ошибка значение должно быть скалярным
БАЗОВЫЕ ОПЕРАЦИИ.
РАНЖИРОВАННЫЕ ПЕРЕМЕННЫЕ. ФУНКЦИИ. ГРАФИКИ
МАССИВЫ
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. Как осуществляется обработка ошибок в программном блоке? Приведите пример.
-
RUSS1A
- Сообщения: 11
- Зарегистрирован: Ср фев 15, 2012 10:55 pm
Значение должно быть скалярным
Маткад выдает ошибку при вычислении цикла: значение должно быть скалярным. Скриншот прилагаю. Прошу помочь советом. Спасибо
-
RUSS1A
- Сообщения: 11
- Зарегистрирован: Ср фев 15, 2012 10:55 pm
Сообщение RUSS1A » Чт фев 16, 2012 7:17 am
то же не считает:
This array index is invalid for this array
-
RUSS1A
- Сообщения: 11
- Зарегистрирован: Ср фев 15, 2012 10:55 pm
Сообщение RUSS1A » Чт фев 16, 2012 12:38 pm
В файле пример 1 и пример 2, ниже просто пробы пера — смотреть не надо.
-
VSI
- Сообщения: 305
- Зарегистрирован: Вт мар 15, 2005 6:40 pm
- Откуда: Мариуполь
Сообщение VSI » Чт фев 16, 2012 7:27 pm
RUSS1A писал(а):В файле пример 1 и пример 2, ниже просто пробы пера — смотреть не надо.
По Вашему первому примеру:
-
RUSS1A
- Сообщения: 11
- Зарегистрирован: Ср фев 15, 2012 10:55 pm
Сообщение RUSS1A » Чт фев 16, 2012 9:57 pm
VSI, Спасибо, с первым примером разобрался: понял в чем была ошибка.
Второй пример я доработал с учетом исправлений в первом. Результат какой-то выводится, но не тот, что должен быть. Справа от программы написал решение при i=0. Решение не может быть равным 0;0, как выдает маткад. В чем же косяк?
Файл маткада прикладываю.
Спасибо.
-
RUSS1A
- Сообщения: 11
- Зарегистрирован: Ср фев 15, 2012 10:55 pm
Сообщение RUSS1A » Пт фев 17, 2012 3:09 pm
все, разобрался. нули для «x» и «y» получаются из-за того, что цикл вайл не выполняется, а выше я эти переменные не задаю — они берутся по умолчанию «0».
Это значение должно быть скаляром или вектором 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 =.
источники:
http://sprashivalka.com/tqa/q/28669377