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
Если conjugate
не знает, как обработать специальную математическую функцию, то на символьный звонок conjugate
отвечают. Смотрите Пример 3.
Эта функция автоматически сопоставлена со всеми записями контейнерных объектов, такими как массивы, списки, матрицы, полиномы, наборы и таблицы.
conjugate
знает, как обработать суммы, продукты, показательную функцию и синусоидальную функцию:
conjugate((1 + I)*exp(2 - 3*I))
delete z: conjugate(z + 2*sin(3 - 5*I))
conjugate
реагирует на свойства идентификаторов:
delete x, y: assume(x, Type::Real): conjugate(x), conjugate(y)
Если вход содержит функцию, которую не знает система, то на символьный звонок conjugate
отвечают:
delete f, z: conjugate(f(z) + I)
Теперь предположите, что f
является некоторой пользовательской математической функцией, и что содержит для всех комплексных чисел 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)
в возвращенном выражении.