Imaginary part of complex number
Find the imaginary parts of these numbers. Because these numbers are not symbolic objects, you get floating-point results.
[imag(2 + 3/2*i), imag(sin(5*i)), imag(2*exp(1 + i))]
ans = 1.5000 74.2032 4.5747
Compute the imaginary parts of the numbers converted to symbolic objects:
[imag(sym(2) + 3/2*i), imag(4/(sym(1) + 3*i)), imag(sin(sym(5)*i))]
ans = [ 3/2, -6/5, sinh(5)]
Compute the imaginary part of this symbolic expression:
imag(2*exp(1 + sym(i)))
ans = 2*exp(1)*sin(1)
In general,imag
cannot extract the entire imaginary parts from symbolic expressions containing variables. However,imag
can rewrite and sometimes simplify the input expression:
syms a x y imag(a + 2) imag(x + y*i)
ans = imag(a) ans = imag(x) + real(y)
If you assign numeric values to these variables or if you specify that these variables are real,imag
can extract the imaginary part of the expression:
syms a a = 5 + 3*i; imag(a + 2)
ans = 3
syms x y real imag(x + y*i)
ans = y
Clear the assumption thatx
andy
are real by recreating them usingsyms
:
syms x y
Find the imaginary parts of the elements of matrixA
:
syms x A = [-1 + sym(i), sinh(x); exp(10 + sym(7)*i), exp(sym(pi)*i)]; imag(A)
ans = [ 1, imag(sinh(x))] [ exp(10)*sin(7), 0]
Callingimag
for a number that is not a symbolic object invokes the MATLAB®imag
function.
You can compute the imaginary part ofz
via the conjugate:imag(z)= (z - conj(z))/2i
.