Как задать функцию в маткаде с условием
Оператор добавления линии Add Line выполняет функции расширения программного блока. Расширение фиксируется удлинением вертикальной черты программных блоков или их древовидным расширением. Благодаря этому, в принципе, можно создавать сколь угодно большие программы.
Оператор внутреннего присваивания выполняет функции внутреннего, локального присваивания. Например, выражение присваивает переменной x значение 123. Локальный характер присваивания означает, что такое значение х сохраняет только в теле программы. За пределами тела программы значение переменной х может быть неопределенным, либо равно значению, которое задается вне программного блока операторами локального := или глобального присваивания.
Условный оператор if является оператором для создания условных выражений. Он задается в виде:
Если условие выполняется, то возвращается значение выражения. Совместно с этим оператором часто используются операторы прерывания break и иного выбора otherwise.
Оператор цикла for служит для организации циклов с заданным числом повторений. Он записывается в виде:
Эта запись означает, что выражение, помешенное в расположенный ниже заменитель, будет выполняться для значений переменной Var, меняющихся от Nmin до Nmax с шагом +1. Переменную счетчика Var можно использовать в исполняемом выражении.
Оператор цикла while служит для организации циклов, действующих до тех пор, пока выполняется некоторое условие. Этот оператор записывается в виде:
Выполняемое выражение записывается на место расположенного ниже заполнителя.
Оператор иного выбора otherwise обычно используется совместно с оператором if . Это поясняет следующая программная конструкция:
Здесь f(x) получает значение 1, если х>0, и –1 во всех остальных случаях.
Оператор прерывания break вызывает прерывание работы программы всякий раз, как он встречается. Чаще всего он используется совместно с оператором условного выражения if и операторами циклов while и for, обеспечивая переход в конец тела цикла.
Оператор продолжения continue используется для продолжения работы после прерывания программы. Он также чаще всего используется совместно с операторами задания циклов while и for, обеспечивая возвращение в точку прерывания и продолжение вычислений.
Оператор возвращения return прерывает выполнение программы и возвращает значение операнда, стоящего следом за ним. Например, конструкция
будет возвращать значение 0 при любом х < 0.
Оператор и функция обработки ошибок позволяет создавать конструкции обработчиков ошибок. Этот оператор задается в виде:
Здесь если при выполнении Выражения_1 возникает ошибка, то выполняется Выражение_2. Для обработки ошибок полезна также функция error(S), которая, будучи помешенной в программный модуль, при возникновении ошибки выводит всплывающую подсказку с надписью, хранящейся в символьной переменной S.
Программный модуль, в сущности, является функцией, но описанной с применением упомянутых программных средств. Она возвращает значение, определяемое последним оператором (если не предусмотрено иное с помощью оператора return). Это значит, что после такого модуля, выделенного как целый блок, можно поставить знак равенства для вывода результата его работы (см. рис. 1.18). В блоке могут содержаться любые операторы и функции входного языка системы. Для передачи в блок значений переменных можно использовать переменные документа, которые ведут себя в блоке как глобальные переменные.
Обычно модулю присваивается имя со списком переменных, после которого идет знак присваивания:=. Переменные в списке являются локальными и им можно присваивать значения при вызове функции, заданной модулем. Локальный характер таких переменных позволяет использовать для их идентификаторов те же имена, что и у глобальных переменных документа. Однако лучше этого не делать и использовать разные имена для локальных переменных программных модулей и переменных документа.
Условный оператор.
Для проверки условий в MathCAD служит оператор if. Этот оператор имеет 2 поля ввода (справа и слева от слова if). В правое поле ввода вводится условие, а в левое поле ввода вводится команда или последовательность команд, которые следует выполнить в случае истинности условия. Если невыполнение условия должно привести к выполнению какого-либо другого программного кода, можно в строке, следующей за оператором if, вставить оператор otherwise. В поле ввода слева от этого оператора необходимо ввести строку программы, которая будет выполняться только в том случае, если не выполнилось условие, заданное в операторе if.
Если в программе введено подряд несколько строк с оператором if, то выражение слева от otherwise ,будет выполнено только в том случае, если не выполняются условия, заданные во всех операторах if.
Рассмотрим, например, описание кусочно-заданной функции:
Цикл с условием (while).
Оператор while имеет 2 поля ввода (справа и снизу).
- В поле ввода справа от слова while следует ввести условие, при истинности которого выполняется цикл..
- В поле ввода ниже слова while следует ввести тело цикла – одна или несколько строк программы (для введения нескольких строк используется оператор AddLine), выполнение которых нужно повторить несколько раз.
Рассмотрим использование цикла while для вычисления приближенного значения квадратного корня (методом касательных):
Цикл с параметром (for).
Оператор for имеет три поля ввода :
- В поле ввода между словом for и знаком , следует указать имя переменной-счетчика.
- В поле ввода после знака следует указать диапазон значений, которые будет принимать переменная-счетчик (вместо диапазона можно указать имя массива, из которого должны браться значения переменной-счетчика).
- В поле ввода под словом for следует ввести тело цикла.
Рассмотрим функцию, вычисляющую факториал.
Рекурсия.
Для того, чтобы сделать программу рекурсивной, нужно организовать вызов ею самой себя внутри программы. Например, рассмотрим рекурсивную функцию, вычисляющую факториал:
Эта функция, в отличие от предыдущей не может работать для нецелых и отрицательных чисел.
Обработка ошибок.
Система MathCAD предоставляет пользователю возможность перенаправлять программу в случае возникновения ошибки (деление на 0, выход за пределы массива). Для этого существует оператор on error, который содержит 2 поля ввода (справа и слева):
- Справа вводится выражение, которое следует вычислить
- Слева вводится выражение, которое следует вычислить, если в правом выражении окажется ошибка.
- Программы, составленные из нескольких операторов.
- Задать функцию и найти ее значение:
- Построить графики заданных функций в декартовой системе координат заданным цветом с пересекающимися в начале координат осями и названием, не отображая выражения, задающие функции. Оба графика должны быть изображены сплошной линией, но разной толщины.
Например, рекурсивная программа вычисления факториала выдает ошибку для вычисления факториала нецелых и отрицательных чисел. Изменим программу так, чтобы в таких случаях факториал был равен 0:
Иногда возникает обратная ситуация: система MathCAD не видит никакой стандартной ошибки, но необходимо, чтобы появлялась надпись об ошибке. Например, в нерекурсивной программе вычисления факториала выдается ответ для отрицательных значений, а хотелось бы, чтобы возникала ошибка. В таких случаях используется конструкция следующего вида:
error (“[текст ошибки]”) if [условие]

MathCAD имеет возможность написания различных программ, содержащих несколько операторов, при этом операторы могут быть вложены друг в друга, если в какой-то оператор вложено несколько операторов, то их нужно объединять вертикальной линией (Add Line).
Рассмотрим программу, вычисляющую среднее арифметическое элементов произвольной матрицы.
Вариант 1) , синий; ,красный
Вариант 2) , зеленый; , черный
Вариант 3) , голубой; , коричневый
Вариант 4) ,фиолетовый; , красный
Вариант 5) , зеленый; , голубой
Вариант 6) , коричневый; , красный
Вариант 7) , синий; , черный
Вариант 8) , фиолетовый; , голубой
Вариант 9) , синий; , зеленый
Вариант 10) , голубой; , красный
Вариант 11) , коричневый; , зеленый
Вариант 12) , синий; , коричневый
График с условием
В общем есть функция(смотрите картинку)
Нужно построить график, причем первая часть графика — это график первой функции при 0=70.
Как построить такой график?
Изображения
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

График с условием
Доброго времени суток , не могу построить график по заданному условие ( см.приложение ) , кто может.
Нарисовать график с условием
Всем привет! У меня есть функция и условие, накладываемое на эту функцию. Рисую с помощью.

График функции с условием строится с ошибкой
доброго дня всем. задаем такую простую функцию function y=fun(x) if x<=4 y=sin(x) else.
Цикл с пред условием и пост условием: табулирование функций
составить цикл с пред условием и пост условием y=8^-2^+sin(x/2) nx=-20 xk=20 h=0.2
Как задать функцию в маткаде с условием
При решении граничных задач, когда известны не все начальные условия, используются следующие функции.
• bvalfit(v1, v2, x1, x2, xf, D, load1, load2, scoreb)
• sbval(v1, x1, x2, D, load1, scorei)
Возвращает вектор, содержащий те начальные значения, которые не были указаны в x1 , для ОДУ или системы ОДУ, заданных в D . Эти начальные значения можно будет затем использовать в одном из решателей ОДУ. Если известны некоторые значения решения и его первые n − 1 производных в промежуточном значении, используйте функцию bvalfit , особенно полезную, когда производная имеет нарушение непрерывности в интервале интегрирования. Если известны некоторые значения в начальных и конечных точках, используйте функцию sbval . Граничная задача преобразуется в начальную при съемке из начальных точек и сопоставлении траекторий решений и их производных в промежуточной точке.
• v1 , v2 — векторы из вещественных значений — начальных приближений, не указанных в x1 .
• x1 , x2 — вещественные значения — конечные точки интервала, на котором ищется решение дифференциальных уравнений.
• xf — вещественное значение — промежуточная точка между x1 и x2 , в которой траектории решений должны сходиться.
• D(x, y) — функция, принимающая значения в виде n -элементных векторов, от независимой переменной x и вектора функций y , содержащего уравнения первых производных всех неизвестных функций в системе ОДУ.
Чтобы создать этот вектор, составьте уравнения так, чтобы члены, содержащие первые производные, были в левой части и без множителей и чтобы в уравнениях не было производных более высокого порядка. Например, ОДУ функции y(x) со второй производной необходимо записать в виде системы уравнений с y 0 (x) и y 1 (x) , где первой производной y 0 является y 1 . Следующее ОДУ с одной функцией переписано для решателя с помощью векторных индексов:


с предполагаемой левой частью.

• load1(x1, v1), load2(x2, v2) — действительные функции, принимающие значения в виде векторов, элементы которых соответствуют значениям y n в x1 и x2 соответственно. Некоторые из этих значений являются известными начальными условиями. Неизвестные значения приравниваются к соответствующим начальным значениям из v1 и v2 соответственно.
• scoreb(xf, y) — действительная функция, принимающая значения в виде векторов, используемая для указания способа схождения решений в xf . Обычно требуется определить scoreb(xf, y):= y , чтобы решения всех неизвестных функций сошлись в xf .
• scorei(x2, y) — действительная функция, принимающая значения в виде векторов, с таким же числом элементов, как и v . Каждый элемент является разностью между начальным условием в x2 , как было изначально задано, и соответствующей оценкой решателя. Вектор score служит мерой того, насколько точно предлагаемое решение соответствует начальным условиям в x2 . Значение 0 у любого элемента указывает на точное соответствие.
