conjugate

Комплексное спряжение

Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.

Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразовывают Notebook MuPAD в Live скрипты MATLAB.

Синтаксис

conjugate(z)
conjugate(L)

Описание

conjugate(z) вычисляет сопряженный (z) - i  (z) комплексного числа z = (z) + i  (z).

Для количеств типа DOM_INT, DOM_RAT, DOM_FLOAT или DOM_COMPLEX, сопряженное вычисляется непосредственно и очень эффективно.

conjugate может обработать символьные выражения. Свойства идентификаторов учтены (см. assume). Возвращен идентификатор z без любого свойства принят, чтобы быть комплексным, и символьный вызов conjugate(z). Смотрите Пример 2.

conjugate знает, как обработать специальные математические функции, такие как:

_mult   _plus   _power  abs     cos     cosh    cot
coth    csc     csch    erf     erfc    exp     gamma
igamma  sec     sech    sin     sinh    tan     tanh
Смотрите пример 1.

Если conjugate не знает, как обработать специальную математическую функцию, то на символьный звонок conjugate отвечают. Смотрите Пример 3.

Эта функция автоматически сопоставлена со всеми записями контейнерных объектов, такими как массивы, списки, матрицы, полиномы, наборы и таблицы.

Взаимодействия среды

conjugate чувствителен к свойствам набора идентификаторов через assume.

Примеры

Пример 1

conjugate знает, как обработать суммы, продукты, показательную функцию и синусоидальную функцию:

conjugate((1 + I)*exp(2 - 3*I))

delete z: conjugate(z + 2*sin(3 - 5*I))

Пример 2

conjugate реагирует на свойства идентификаторов:

delete x, y: assume(x, Type::Real):
conjugate(x), conjugate(y)

Пример 3

Если вход содержит функцию, которую не знает система, то на символьный звонок conjugate отвечают:

delete f, z: conjugate(f(z) + I)

Теперь предположите, что f является некоторой пользовательской математической функцией, и что f(z)¯=f(z¯) содержит для всех комплексных чисел z. Чтобы расширить функциональность conjugate к f, мы встраиваем его в функциональную среду и соответственно задаем ее слот "conjugate":

f := funcenv(f):
f::conjugate := u -> f(conjugate(u)):

Теперь, каждый раз, когда conjugate вызван аргументом формы f(u), это вызывает f::conjugate(u), который в свою очередь возвращает f(conjugate(u)):

conjugate(f(z) + I), conjugate(f(I))

Возвращаемые значения

арифметическое выражение или контейнерный объект, содержащий такие выражения

Перегруженный

z

Алгоритмы

Если подвыражение формы, f(u,...) происходит в z и f, является функциональной средой, то conjugate пытается вызвать слот "conjugate" f, чтобы определить сопряженный из f(u,...). Таким образом можно расширить функциональность conjugate к собственным специальным математическим функциям.

Слот "conjugate" вызван аргументами u... f.

Если f не имеет никакого слота "conjugate", то подвыражение f(u,...) заменяется символьным вызовом conjugate(f(u,...)) в возвращенном выражении.

Смотрите пример 3.

Точно так же, если элемент, d библиотеки domainT происходит как подвыражение z, то conjugate пытается вызвать слот "conjugate" той области с d в качестве аргумента, чтобы вычислить сопряженный из d.

Если T не имеет слота "conjugate", то d заменяется символьным вызовом conjugate(d) в возвращенном выражении.

Смотрите также

Функции MuPAD