Im

Мнимая часть арифметического выражения

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

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

Синтаксис

Im(z)
Im(L)

Описание

Im(z) возвращает мнимую часть z.

Надлежащее использование Im для постоянных арифметических выражений. Специально для чисел, типа DOM_INT, DOM_RAT, DOM_FLOAT, или DOM_COMPLEX, мнимая часть вычисляется непосредственно и очень эффективно.

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

Если Im не может извлечь целую мнимую часть z, затем возвращенное выражение содержит символьный Re и Im вызовы. В таких случаях попытайтесь использовать rectform функция. Смотрите Пример 3. Обратите внимание на то, что использование rectform является в вычислительном отношении дорогим.

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

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

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

Примеры

Пример 1

Мнимая часть 2 e1 + i:

Im(2*exp(1 + I))

Пример 2

Im не может извлечь мнимую часть символьных выражений, содержащих идентификаторы без значения. Однако в некоторых случаях это может все еще упростить входное выражение, как в следующем двум примерам:

Im(u + v*I)

Im(z + 2)

По умолчанию идентификаторы без значения приняты, чтобы представлять произвольные комплексные числа. Можно использовать assume изменить это. Следующая команда говорит систему что z представляет только мнимые числа:

assume(z, Type::Imaginary):
Im(z + 2*I)

unassume(z)

Пример 3

Если Im не может извлечь мнимую часть символьного выражения, попытаться использовать функциональный rectform. Это разделяет сложное выражение z в его действительную и мнимую часть и более мощно, чем Im:

Im(exp(I*sin(z)));
r := rectform(exp(I*sin(z)))

Затем используйте Im(r) извлекать мнимую часть r:

Im(r)

Пример 4

Символьные выражения типа "Im" всегда имейте свойство Type::Real, даже если никакой идентификатор символьного выражения не имеет свойство:

is(Im(sin(2*x)), Type::Real)

Пример 5

Можно расширить функции Re и Im к их собственным специальным математическим функциям. Смотрите раздел “Algorithms”. Для этого встройте свою математическую функцию в функцию environmentf и реализуйте поведение функций Re и Im для этой функции как пазы "Re" и "Im" из функциональной среды.

Если подвыражение формы f(u,..) происходит в z, затем Re и Im издайте приказ f::Re(u,..) и f::Im(u,..), соответственно, к стандартной программе паза, чтобы определить действительное и мнимую часть f(u,..), соответственно.

Например, расширьте функциональный Im для синусоидальной функции. Конечно, функциональная среда sin уже имеет "Im" паз. Вызовите свою функциональную среду Sin для того, чтобы не перезаписать существующую системную функцию sin:

Sin := funcenv(Sin):
Sin::Im := proc(u) // compute Im(Sin(u))
  local r, s;
begin
  r := Re(u);
  if r = u then
    return(0)
  elif not has(r, {hold(Im), hold(Re)}) then
    s := Im(u);
    if not has(s, {hold(Im), hold(Re)}) then
      return(cos(r)*sinh(s))
    end_if
  end_if;
  return(FAIL)
end:
Im(Sin(2)), Im(Sin(3*I)), Im(Sin(2 + 3*I))

Возвращаемое значение FAIL говорит функциональный Im тот Sin::Im не могло определить мнимую часть входного выражения. Результатом является затем символьный Im вызов:

Im(2 + Sin(f(z)))

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

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

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

z

Алгоритмы

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

Паз "Im" вызван аргументами u'off'. Если стандартная программа паза f::Im не может определить мнимую часть f(u,...), затем это должно возвратить FAIL.

Если f не имеет паза "Im", или если стандартная программа паза f::Im возвращает FAIL, затем f(u,...) заменяется символьным вызовом Im(f(u,...)) в возвращенном выражении. Смотрите Пример 5.

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

Если стандартная программа паза T::Im не может определить мнимую часть d, затем это должно возвратить FAIL.

Если T не имеет паза "Im", или если стандартная программа паза T::Im возвращает FAIL, затем d заменяется символьным вызовом Im(d) в возвращенном выражении.

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

Функции MuPAD

Для просмотра документации необходимо авторизоваться на сайте