How to stem plot a complex function in matlab?

14 Ansichten (letzte 30 Tage)
Sultan Al-Hammadi
Sultan Al-Hammadi am 25 Jul. 2018
Stem plot the following function[Plot the imaginary and real parts seperately]: e^(x*j*pi*) for (x>=5 && x<=11): my solution: x=5:11; y=exp(j*pi*x); figure(1); stem(x,real(y)); figure(2); stem(x,imag(y));
I got two graphs but I am not sure if there are correct. Let me know if there is a mistake or a neater way to approach it?

Antworten (1)

Dimitris Kalogiros
Dimitris Kalogiros am 25 Jul. 2018
Hello
You can try this piece of code:
clc;
close all;
x=5:.05:11;
y=exp(1i*pi*x);
plot3(x, zeros(size(x)), zeros(size(x)), '-k');
xlabel('x'); ylabel('real(y)'); zlabel('imag(y)');
axis square; zoom on; grid on; hold on;
for k=1:length(x)
plot3([x(k) x(k)],[0 real(y(k))],[0 imag(y(k))],'-b');
plot3(x(k), 0, 0,'b.');
plot3( x(k), real(y(k)), imag(y(k)), 'b*');
end
hold off
It repsesents complex numbers as 3D vectors.
Personally, when I deal with complex numbers, I use to visualize them as real and imag part on the same graph:
clc;
close all;
x=5:.05:11;
y=exp(1i*pi*x);
figure;
stem(x, real(y), 'bo'); hold on;
stem(x, imag(y), 'r*');
zoom on; grid on; xlabel('x');
legend('real', 'imaginary');
hold off

Kategorien

Mehr zu 2-D and 3-D Plots finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by