Перейти к содержимому

Как задать дельта функцию в маткаде

  • автор:

Дискретизация периодического сигнала

В среде MathCAD заданная непрерывная функция имеет следующий вид:

Дискретную последовательность или дискретный сигнал v ( t ) выражают через исходный непрерывный (аналоговый) сигнал следующим образом:

,(2)

где δ( t ) – дискретная дельта-функция;

Δ t – шаг дискретизации;

– последовательность дельта-функций;

m – число дискретных точек.

Одиночную дельта-функцию запишем в виде

Дельта-функция в среде MathCAD имеет вид

Дискретный сигнал равен

Для записи функции арктангенса воспользуемся встроенной функцией MathCAD atan ( x ), а для записи синуса – sin ( x ). Зададим период функции T = 5 π и шаг дискретизации Δ t = 1.

Окончательно программу для расчёта дискретной функции v ( t ) запишем в следующем виде:

Для построения графика зависимости сигнала x = f ( t ) необходимо выбрать в главном меню программы MathCAD «Вид – Панели инструментов – График», далее на появившейся панели «Graph» выбрать элемент «Декартов график», после чего на рабочей области программы MathCAD появится область построения графика. По оси ординат области построения графика необходимо ввести « x ( t )», а по оси абсцисс – « t ». Далее двойным щелчком левой кнопки мыши по области построения графика необходимо вызвать панель форматирования графика. На закладке «Оси X – Y » панели форматирования для удобства отображения нужно установить размер сетки, кратный по оси ординат ­амплитуде сигнала, а по оси абсцисс – периоду сигнала. На закладке «Трассировки» нужно установить толщину линий графика, для этого необходимо выделить мышью строку «trace1» в списке линий и в поле «Вес» выбрать «3». Кроме того, для удобства можно установить диапазон значений по оси абсцисс путём ввода соответствующих значений в области на оси абсцисс графика. По оси абсцисс введём диапазон изменения непрерывного сигнала от 0 до T .

Рис. 1. График зависимости функции x = f ( t )

Аналогичным образом можно построить график зависимости одиночной дельта-функции от времени (рис. 2).

Рис. 2. График зависимости одиночной дельта-функции δ( t ) от времени t

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

Рис. 3. График зависимости последовательности дельта-функций от времени

На рис. 4. показан график зависимости дискретной функции v ( t ) для шага дискретизации Δ t = 1.

Рис. 4. График зависимости дискретной функции от времени v = f ( t )

для шага дискретизации Δ t = 1

Чтобы построить график зависимости дискретной функции от времени v = f ( t ) для шага дискретизации Δ t = 2 нужно в программе расчёта присвоить параметру Δ t значение 2, после чего программа автоматически произведет перерасчёт.

Рис. 5. График зависимости дискретной функции от времени v = f ( t )

для шага дискретизации Δ t = 2

С увеличением шага дискретизации Δ t уменьшается частота решётчатой функции и уменьшается информативная составляющая непрерывного сигнала, подвергнутого дискретизации.

MathCAD — это просто! Часть 18. Символьные преобразования

Особое место в символьной математике MathCAD’а занимают символьные преобразования. Этот вид символьных вычислений используется по сравнению с другими не слишком часто, но, тем не менее, его роль в ряде вычислений трудно переоценить.

Вы скажете, что то, что мы делали до этого, тоже можно назвать символьными преобразованиями. Что же, это будет, несомненно, вполне справедливо, так как рассматриваемые нами операторы действительно преобразовывали тем или иным образом исходное выражение. Тем не менее, символьными преобразованиями применительно к MathCAD’у называется, как правило, группа вполне конкретных преобразований, в которую входят прямое и обратное преобразование Фурье, прямое и обратное преобразование Лапласа, а также прямое и обратное Z-преобразование. В общем-то, конечно же, эти преобразования по своей сути довольно просты, но если заниматься ими без компьютера (то есть вооружившись исключительно бумагой и ручкой), то может возникнуть ряд проблем, поскольку данные преобразования предполагают интегрирование преобразуемых выражений, хотя, конечно же, существуют специальные правила (например, для того же преобразования Лапласа), которые дают возможность вычислить результат преобразований и без интегрирования. Пользуясь MathCAD’ом, вы избавите себя от необходимости как интегрировать все эти выражения, так и заучивать громоздкую систему правил более простого применения преобразований. Впрочем, конечно же, MathCAD не избавит вас от необходимости понимания сути данных преобразований и интерпретации их результатов. Впрочем, думаю, пора уже перейти к рассказу о самих преобразованиях, а не о том, как легко их выполнять в MathCAD — вы сами сможете убедиться в том, что это действительно легко, на практике.

Преобразование Лапласа

Преобразование Лапласа — основа операционного исчисления — довольно большого раздела математики, занимающегося решением дифференциальных уравнений с помощью перевода их в алгебраические. Операционное исчисление было придумано в конце 19-го столетия английским физиком Оливером Хевисайдом для расчета свойств электрических цепей. Первоначально встреченное со скепсисом из-за отсутствия строгого математического обоснования производимых действий, к нашему времени операционное исчисление стало одним из удобнейших способов решения дифференциальных уравнений. В терминах операционного исчисления функция, которая подвергается преобразованию Лапласа, называется оригиналом, а та, которая получается в результате этого преобразования, изображением. Оригинал и изображение определены на различных множествах: изображение — функция комплексной переменной, в то время как оринигал — функция переменной действительной. Хотя мы с вами еще не говорили о работе в MathCAD’е с комплексными переменными, думаю, для того, чтобы освоиться с выполнением символьных преобразований, специальных знаний по этому вопросу вам не понадобится. Записывается преобразование Лапласа в виде математической формулы следующим образом:

Еще одна ремарка: в качестве простейшей функции для проведения над ней преобразования Лапласа обычно рассматривается функция Хевисайда. Это функция, значение которой определяется следующим образом: если аргумент меньше нуля, то ее значение равно нулю; если аргумент равен нулю, то ее значение равно одной второй; если аргумент больше нуля, то ее значение равно единице. Впрочем, поскольку мы с вами вооружены мощнейшей математической средой MathCAD, нет нужды начинать с функции Хевисайда — мы сразу можем обратиться к более сложным примерам. Что ж, давайте теперь посмотрим, как применять преобразование Лапласа в MathCAD’е. Для этого обратимся к успевшей уже, наверное, вам надоесть панели Symbolic (ничего, потерпите — скоро мы с ней уже разберемся окончательно!).

Прямое преобразование Лапласа, как вполне логично было бы предположить, выполняет оператор laplace — так оно, собственно, и есть. Этот оператор нужно поместить следом за функцией, которую нужно преобразовать (и которая, таким образом, будет оригиналом), а в качестве единственного параметра нужно указать переменную, относительно которой эта функция будет преобразовываться.

Обратное преобразование Лапласа делает все то же самое, только наоборот. То есть оно позволяет перейти от изображения функции к ее оригиналу, в связи с чем имеет очень высокую востребованность все в том же операционном исчислении. Применяется обратное преобразование Лапласа в MathCAD’е совершенно точно таким же образом, что и прямое, только для этого нужно использовать оператор invlaplace.

Преобразование Фурье

Преобразование Лапласа, несмотря на всю свою полезность и относительную простоту, далеко не единственное символьное преобразование, с которым вам наверняка придется столкнуться в реальных расчетах с помощью MathCAD’а. Не менее значимо в математике преобразование Фурье. Самое известное использование преобразования Фурье — это переход от временного представления спектральной функции к ее частотному представлению. Для этого преобразование Фурье используется в радиоэлектронике, оптике и других сферах прикладной науки, связанных с обработкой и использованием периодических сигналов. Вообще же преобразование Фурье с математической точки зрения не связано никак с частотой или временем — это просто разложение периодической функции на сумму (в предельном случае — интеграл) синусоидальных слагаемых (т.е. синусов и косинусов), которые имеют различные коэффициенты при аргументах и при самих функциях. При частотно-временной интерпретации, когда синусы и косинусы рассматриваются как некие колебания, мы как раз и получаем периодическую функцию как сумму колебаний с различными амплитудами и частотами. Если же рассматривать все в комплексных числах, то вместо синусов и косинусов будут комплексные экспоненты — т.е. базисными функциями будут уже не тригонометрические, а показательные. Записывается преобразование Фурье в виде формулы следующим образом:

Что ж… Давайте, пожалуй, перейдем к вопросу о том, каким образом можно применять преобразование Фурье в MathCAD’е. Собственно говоря, делать это не сильно сложнее, чем в случае с преобразованием Лапласа, поскольку в этом мощном математическом пакете для преобразования Фурье также предусмотрен специальный оператор. Думаю, будет довольно просто догадаться, что из всех операторов на панели Symblolic за преобразование Фурье отвечает именно оператор fourier. Он точно так же, как и оператор laplace, имеет один параметр — переменную, относительно которой будет проводиться преобразование.

В нашем примере, когда мы пытаемся преобразовать экспоненту, в результате получаем дельта-функцию Дирака. Эта функция является производной функции Хевисайда и определяется как равная нулю везде, кроме точки ноль и бесконечности в этой точке. Обратное преобразование Фурье в MathCAD’е осуществляет оператор invfourier. Его использование, собственно говоря, совершенно аналогично использованию оператора обратного преобразования Лапласа, а потому надолго на нем я останавливаться не буду.

Z-преобразование

Итак, нам с вами осталось рассмотреть последнее на сегодня преобразование, которым мы с вами и завершим разговор о символьных преобразованиях в MathCAD’е. Z-преобразованием называется такое преобразование, при котором ряд вещественных чисел преобразуется в аналитическую комплексную функцию. Если опять брать иллюстрацию из теории сигналов, то выборка вещественных чисел будет временным рядом, а получаемая в результате преобразования функция в качестве аргумента будет использовать комплексную частоту. Формулой Z-преобразование записывается таким вот образом:

Для применения Z-преобразования в проектах MathCAD’а нужно воспользоваться оператором ztrans. Думаю, вы уже догадываетесь, что у этого оператора, как и у остальных операторов символьных преобразований, всего один параметр, в который для успешного проведения преобразования нужно записать имя переменной, относительно которой это самое преобразование будет проводиться.

Для обратного Z-преобразования используется оператор invztrans, который по своему использованию совершенно аналогичен всем остальным MathCAD’овским оператором символьных преобразований.

Стоит отметить, что не следует путать Z-преобразование в том смысле, в котором оно используется сейчас в разговоре о символьных преобразованиях, с Z-преобразованием Фишера — преобразованием выборки величин с тем, чтобы приблизить их к нормальному распределению. Впрочем, поскольку эти формулы относятся к различным разделам математики, думаю, особых проблем и путаницы у вас возникнуть не должно.

Подводя итоги сказанному выше о символьных преобразованиях, можно еще раз упомянуть, что MathCAD существенно облегчает и упрощает работу с ними (кто не верит — попробуйте решить на листочке какой-нибудь пример к статье). Благодаря поддержке преобразования Лапласа в MathCAD’е можно проводить вычисления с использованием всей мощи операционного исчисления, а поддержка других преобразований позволяет проводить расчеты, связанные с теорией сигналов.

SF, spaceflyer@tut.by

Компьютерная газета. Статья была опубликована в номере 31 за 2008 год в рубрике soft

Функция хевисайда в маткаде – Иллюстрированный самоучитель по MathCAD 12 › Алгебраические вычисления › Вспомогательные функции [страница — 41] | Самоучители по математическим пакетам

mathcad, дельта-функция (Дирака) — & i can’t stop

В Mathcad нет δ-функции, как нет её в чистом виде ни в одном математическом пакете. Очевидно, что заставить комп работать с функциями, подобными этой, можно только с помощью подпрограмм или скриптов, которые только чисто логически смогут реализовать то, что дано из теории.
Например у одной из таких нереализуемых напрямую функций, а получаемых на компе только с помощью «костылей» или «логической обработки», δ-функции есть три определяющих её свойства: функция имеет отличное от нуля значение в одной точке, в этой точке функция бесконечна, площадь под δ-функцией существует и задается как её вес.
Отсюда очевидно, что следующие записи (и более извращенные попытки, типа отжига dΦ(x)/dx) никак не могут быть численными реализациями поставленных условий (первый вариант еще более-менее справедлив для некоторых частных случаев):

более того, эта запись говорит о том, что автор претендует на оценку «-1», т. к. обнаруживает абсолютное непонимание примитивнейшей теории (а задающие вопросы по этому поводу смело могут идти и перечитывать всю ВМ с нуля).
Но попытки бездумно использовать это дело в численных методах все-таки встречаются. Звучит вопрос «А че эта ска не работает? А??» (да-да, mathcad самое глючное создание).

И что же можно обнаружить? А вот тут лежит «работа» некоего чела, которую рецензировал, между прочим, к. т. н. Ну я не знаю, может это в Таганроге можно такую чушь писать под столом, но зачем в сеть то её кидать?
Сначала этот чувачек (гений сыска Кавчук С.В.) задает вторым вариантом δ-функцию, и делает вид, что все нормально и такое быть может, потом использует её в записях итогов вычислений в уме (но нах тогда спрашивается она нужна, если сама среда использовать её не может, и его кривые руки это показывают). И в этих записях, блин, нет, это надо видеть, он умножает числа на Dirac(t) и даже не икает!

как в Mathcad построить график функции дирака? Как задается Дельта функция Дирака в Mathcad?

Урок 5. Переменные и функции в Mathcad

Возможности Mathcad можно в полной мере оценить только при использовании переменных и функций.

Два знака равенства

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

  • определение (присвоить значение) – вводится через двоеточие [:]
  • вычисление – вводится через знак равенства [=]

Оператор определения не менее важен, чем оператор вычисления. Значение выражения y можно отобразить только после присвоения ему какого-либо значения. x и y здесь являются переменными.

Введите следующие выражения:

Эти два знака равенства принципиально различны, поэтому их не следует путать.

Поместите курсор перед числом 4 в первом выражении:

Удалите число 4 с помощью клавиши [Delete] и введите 5. Щелкните по пустой области и убедитесь, что результат третьего выражения изменился на 25:

Попробуйте удалить число 25. Вы увидите, что при первом нажатии число станет красным, а при повторном нажатии удалится 25 и знак равенства:

Использование переменных

Введите следующие выражения:

Попробуйте изменить значение x на 100, 0.5, -4 и 0:

Первые два случая дадут в результате число. При -4 получится мнимое число. Да, Mathcadможет работать и с такими числами. При нуле программа выдаст ошибку, а результат будет обведен красным. Если Вы щелкните по неправильному выражению, то получите описание, что может быть не так:

Теперь о том, какие имена можно и нельзя использовать для переменных. Есть несколько правил: имя переменной не может начинаться с цифры и в имени переменной нельзя использовать пробелы и знаки операторов. Имена переменных могут начинаться:

  • с любой строчной или прописной буквы
  • другие символы, если они не являются операторами
  • символы с вкладки Математика –> Операторы и символы –> Символы
  • символы из Таблицы символов Windows

Вот несколько примеров:

Переменные можно использовать, только если они были определены ранее. «Ранее» означает, что объявление переменной должно располагать выше или левее выражения, где она используется. Если переменная не объявлена, появится сообщение об ошибке:

Подстрочные индексы

В Mathcad есть два различных вида подстрочных индекса для переменных:

  1. Описательный подстрочный индекс.
  2. Индекс массива (матрицы).

Чтобы набрать описательный подстрочный индекс, введите имя переменной, нажмите [Ctrl+-] и наберите подстрочный индекс:

Переменная с описательным подстрочным индексом – это обычная переменная, со своим именем. Индекс массива существенно отличается от него. Этот индекс можно ввести, нажав открывающую квадратную скобку [ после имени переменной. У переменной может быть один или два индекса массива:

Индекс массива должен быть числом. При этом не следует путать виды подстрочных индексов, т.к. они выглядят практически идентично:

Разница видна при щелчке мышью по выражению:

У переменной может быть сразу описательный индекс и индекс массива. Сначала всегда идет описательный индекс:

Функции

Переменные можно использовать, только если они были определены ранее. Однако есть одно важное исключение – определение функции. Можно определить собственную функцию, как на примере ниже:

Переменная a является локальной для функции. Она не определена за пределами функции:

Если Вы определили a до определения функции, значение a не будет изменено в процессе вычисления значения функции.

Внимание: если Вы дали переменной такое же имя, как и функции, Вы больше не сможете использовать эту функцию. У переменной и функции должны быть разные имена:

Этой проблемы можно избежать, задав для переменной и функции разные обозначения. Об этом мы поговорим в уроке 10 «Обозначения и единицы измерения».

Функции могут содержать две и более переменной:

Здесь значения переменных xи yтакже не изменяются при вычислении функции.

Встроенные функции

В Mathcad есть большое число встроенных функций. Зайдите на вкладку Функции:

Список всех функций можно увидеть, щелкнув по кнопке Все функции.

Заметьте, что тригонометрические функции принимаю в качестве аргумента угол в радианах, а не в градусах. Для использования градусов используйте символ с вкладки Математика –> Операторы и символы –> Символы:

Математика в тексте

В текст можно вставить математическую область. Таким образом, можно использовать над- и подстрочные символы в тексте. Для этого при редактировании текстовой области нажмите кнопку Математика с вкладки Математика –> Области:

Резюме
  1. В Mathcadесть два различных знака равенства: определить := и вычислить =.
  2. Имя переменной обычно начинается с буквы; цифры нельзя использовать в начале переменной. Также можно использовать символы с клавиатуры, с панели Математика –> Операторы и символы –> Символы, с Таблицы символов Windows.
  3. Чтобы определить переменную и задать ей значение:
  • щелкните мышью на пустую область;
  • введите имя переменной;
  • нажмите [:] для ввода оператора определения;
  • введите значение, которое Вы хотите присвоить.
  • щелкните мышью в конце имени переменной;
  • нажмите [Ctrl+-];
  • введите подстрочный индекс.
  1. Чтобы дать переменной индекс массива:
  • щелкните мышью в конце имени переменной;
  • нажмите открывающую квадратную скобку [;
  • введите число – подстрочный индекс.
  1. Переменную можно использовать ниже или правее места, где она определена.
  2. Имя функции следует набирать по тем же правилам, что и имя переменной, но ввод имени функции заканчивается вводом [(]. В скобках содержатся аргументы функции.
  3. Переменные в функциях – локальные, т.е. они определены только при использовании функции.
  4. Математическую область можно встроить в текст. Эту возможность следует использовать, если необходимо вставить над- и подстрочные символы в текст.
Другие интересные материалы

Иллюстрированный самоучитель по MathCAD 12 › Алгебраические вычисления › Вспомогательные функции [страница — 41] | Самоучители по математическим пакетам

Вспомогательные функции

Кроме перечисленных, Mathcad включает целый ряд вспомогательных функций, во множестве ситуаций облегчающих вычисления.

  • Discontinuous functions (Разрывные функции).
  • Round-off and truncation (Сокращения и округления) (листинг 2.7).
  • Sorting (Сортировки).
  • Strings (Строковые).
  • Finance functions (Финансовые).
  • Coordinate transform (Преобразования координат) (листинг 2.8).
  • Conditional (Условия) (листинг 2.9).
  • Expression type (Типа выражения).

Листинг 2.7. Функции сокращения и округления:

Примечание
В прежних версиях Mathcad (вплоть до 11-й включительно) функции округления и сокращения могли выдавать результат, отличный от аналитического (что было связано с принципом представления чисел). В Mathcad 12 эти функции работают более правильно, выводя точный результат округления, совпадающий с символьным

Листинг 2.8. Функции преобразования координат на плоскости:

Листинг 2.9. Функции знака и условия:

Примечание
Разработчики Mathcad 12 восстановили встроенную функцию until, которая вплоть до 2000-й версии служила для включения в документы циклов без помощи программирования. Функция until (x, у) служит для «непрограммной» имитации цикла: если х<0, происходит вычисление очередного у, затем опять вычисляется новое х (так или иначе зависящего от у), снова проверяется условие х<0 и т. д. Финальное значение у, при котором х становится неотрицательным, выдается в качестве результата функции
.


Рис. 2.9. Функции Хевисайда и устаревшая функция Кронекера

Внимание!
Начиная с Mathcad 12 функция (символ) Кронекера 5 (рис. 2.9) изъята из списка встроенных функций
.

Урок 11. Программирование в Mathcad

Mathcad содержит встроенную среду программирования, что значительно расширяет возможности вычислительного пакета. Операторы программирования находятся в меню Математика –> Операторы и символы –> Программирование:

Этих операторов не очень много, но и они позволяют построить достаточно сложные алгоритмы. К тому же, уже ознакомившись с базовыми понятиями (операторы, переменные, константы, функции и т.д.), можно использовать Mathcad, если Вы хотите лишь начать изучать программирование.

  1. «Программирование» – для создания программной структуры.
  2. «Локальное назначение» – знак «равно» для программ.
  3. «Оператор if»– оператор условия.
  4. «Оператор else»– альтернативный выбор.
  5. «Оператор return» – выход из программы.
  6. «Try / On Error» – применяется, если при выполнении программы может возникнуть ошибка.

Эти команды можно сочетать с операторами, переменными и функциями Mathcad. Например, Вы можете использовать структуру функции для ввода входных значений:

«Программирование» и «Локальное определение»

Создадим программу, которая вычисляет разницу между двумя переменными a и b.

На рисунке ниже представлена структурная диаграмма программы:

Здесь всего три элемента: вход, действие и выход. Вместо структурной диаграммы можно использовать другие способы, помогающие созданию программы, например, блок-схемы или псевдокод.

Определите ввод переменных a и b:

Нажмите оператор «Программирование» на панели Математика –> Программирование:

Нажмите [Enter] для создания второй строки:

Переместите курсор в верхний местозаполнитель, затем вставьте оператор «Локальное назначение»:

Заполните местозаполнители слева и справа от оператора:

Переместите курсор в нижний местозаполнитель и вставьте оператор «return»:

Важно! Операторы программирования return, else, if, while и т.д. следует вставлять из меню программирования. Ввод этих команд с клавиатуры не приведет к желаемому результату.

Введите переменную в местозаполнитель:

Всегда тестируйте программы, потому что при некоторых значениях могут получиться бессмысленные результаты. В некоторых случаях это могут быть отрицательные числа, ноль или бесконечность.

У операторов программирования есть свои горячие клавиши. Попробуйте запомнить их:

  • «Программирование» – правая квадратная скобка ]
  • «Локальное назначение» – левая фигурная скобка <
  • «return»– [Ctrl+\]

Создайте предыдущую программу снова, используя горячие клавиши. Теперь это должно занять меньше минуты!

Программе не обязательно задавать входные переменные:

Оператор «return» также не обязателен – программа примет за выходное значение последнее вычисление:

В нашей второй программе (которая более полезна, чем предыдущая) мы вычислим площадь поверхности цилиндра диаметром D и высотой H. Структурная диаграмма этой программы:

Программа и некоторые выходные результаты показаны ниже. Возможно, нужно запретить отрицательные входные значения…

Заметьте, что переменные внутри программы являются локальными. Локальная переменная не определяется вне программы:

Входным значениям можно дать числа с единицами измерения:

Однако если задать единицу измерения только одной переменной, Mathcad скажет, что единицы не совместимы:

Поэтому единицы измерения следует использовать единообразно.

Булева алгебра

В программах часто используются равенства и неравенства. Операторы сравнения находятся в меню Математика –> Операторы и символы –> Операторы –> Сравнение:

Операторы сравнения дают результат 1 при истинном выражении и 0 при ложном:

Операторы сравнения можно сочетать. Пример таких сочетаний с оператором логического И:

Операторы

Необходимо создать программу функции, которая принимает следующие значения:

Структурная диаграмма программы представлена ниже. Треугольник означает выбор между двумя или более альтернативными вариантами. Напишем программу, используя операторы if и else.

Введите имя функции и местозаполнитель для первой строки:

Нажмите if в меню программирования или с помощью горячей клавиши >. Появится вторая строка, которая относится к оператору if:

Введите критерий выбора и желаемое значение функции. Обратите внимание на серые линии справа:

Нажмите на внутреннюю серую линию (станет мигающей синей), затем вставьте оператор else. Появится еще одна строка, относящаяся к else:

Введите необходимую функцию под else. Внутренняя серая линия удлинится, что указывает на то, что операторы ifи else связаны между собой. Нажмите на нее, нажмите [Enter], затем вставьте оператор return:

Проверьте программу, построив график функции:

При работе с программой можно добавлять новые строки нажатием клавиши [Enter]. Где появится местозаполнитель, зависит от положения курсора. Выбрана внутренняя серая линия:

Курсор стоит за x­ 2 :

На структурной диаграмме показаны различные варианты выбора. Наиболее простой способ создать программу для этой задачи – использовать три различных операторов выбора (в Mathcad нет аналога оператора case).

Здесь важно правильно задать границы независимой переменной. Если Вы введете:

то точки 0 и 1 будут исключены, а Mathcad выдаст некорректный результат для этих значений.

Проверим программу для некоторых входных значений:

Для значений, не имеющих смысла, Mathcad выдаст сообщение об ошибке.

Функции в программах

В Mathcad встроено множество функций, которые могут быть полезными в том числе и в программах. Рассмотрим некоторые из них.

Векторы и матрицы

Откройте Функции –> Все функции и откройте раздел Векторы и матрицы. Найдите функции last() и length(). Это функции для определения некоторых свойств вектора:

Функция length() определяет длину вектора, т.е. количество элементов в нем, а функция last() выводит индекс последнего элемента. По умолчанию в Mathcadнумерация элементов вектора начинается с нуля, поэтому у четвертого элемента массива индекс 3.

Наибольший общий делитель:

Наименьшее общее кратное:

Остаток от деления x на y:

«Разное» содержит функцию time(), которая возвращает системное время момента активации функции.

Строки в Mathcad заключаются в двойные кавычки:

Строки можно задавать в качестве переменных, но их нельзя использовать в вычислениях. (Строку, содержащую только числа, можно преобразовать в константу.)

Длина строки (включая пробелы):

Строки могут быть полезны для задания в программах сообщений об ошибках.

Усечение и округление

Наименьшее целое число, большее x:

Наибольшее целое число, меньшее x:

Список функций Mathcad огромен. Два совета по ознакомлению с новыми функциями:

  1. Подведя указатель мыши к имени функции в списке, Вы увидите ее полное название и краткое описание.
  2. Если Вы вставите функцию в рабочую область, а затем нажмете [F1], Вы получите расширенное описание функции.
Try / On Error

Последняя команда, которую мы изучим в этом уроке, используется для указания, что должно быть сделано, если при выполнении программы возникает ошибка (например, деление на ноль). Если при выполнении программы в блоке tryвозникает ошибка, программа выполняет действия в блоке on error:

Ниже представлена программа с тремя операторами if внутри блока try:

При неверном вводе появится сообщение об ошибке. Таким образом, можно отследить большую часть ошибок, но не все:

Как задать дельта функцию в маткаде

Войти

Авторизуясь в LiveJournal с помощью стороннего сервиса вы принимаете условия Пользовательского соглашения LiveJournal

mathcad, дельта-функция (Дирака)

В Mathcad нет δ-функции, как нет её в чистом виде ни в одном математическом пакете. Очевидно, что заставить комп работать с функциями, подобными этой, можно только с помощью подпрограмм или скриптов, которые только чисто логически смогут реализовать то, что дано из теории.
Например у одной из таких нереализуемых напрямую функций, а получаемых на компе только с помощью «костылей» или «логической обработки», δ-функции есть три определяющих её свойства: функция имеет отличное от нуля значение в одной точке, в этой точке функция бесконечна, площадь под δ-функцией существует и задается как её вес.
Отсюда очевидно, что следующие записи (и более извращенные попытки, типа отжига dΦ(x)/dx) никак не могут быть численными реализациями поставленных условий (первый вариант еще более-менее справедлив для некоторых частных случаев):

более того, эта запись говорит о том, что автор претендует на оценку «-1», т. к. обнаруживает абсолютное непонимание примитивнейшей теории (а задающие вопросы по этому поводу смело могут идти и перечитывать всю ВМ с нуля).
Но попытки бездумно использовать это дело в численных методах все-таки встречаются. Звучит вопрос «А че эта ска не работает? А??» (да-да, mathcad самое глючное создание).

И что же можно обнаружить? А вот тут лежит «работа» некоего чела, которую рецензировал, между прочим, к. т. н. Ну я не знаю, может это в Таганроге можно такую чушь писать под столом, но зачем в сеть то её кидать?
Сначала этот чувачек (гений сыска Кавчук С.В.) задает вторым вариантом δ-функцию, и делает вид, что все нормально и такое быть может, потом использует её в записях итогов вычислений в уме (но нах тогда спрашивается она нужна, если сама среда использовать её не может, и его кривые руки это показывают). И в этих записях, блин, нет, это надо видеть, он умножает числа на Dirac(t) и даже не икает!

как в Mathcad построить график функции дирака? Как задается Дельта функция Дирака в Mathcad?

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

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