如何绘制信号的相量?
How to plot phasors of signals?
我有 3 个信号,我正在尝试绘制它们的 phasors 及其总和。我需要将它们端到端地绘制出来以演示相量加法。也就是说,第一个相量必须从原点开始。第二个相量必须从第一个相量的末尾开始。第三个相量必须从第二个相量的末尾开始。这样,第三个相量的终点就是结果相量(考虑到它是从原点开始的)。横轴和纵轴分别为实轴和虚轴,范围分别为[-30, 30]。
我今天才开始使用 matlab,这是晚上的事。我尝试使用 plot、plot2、plot3、compass 和几种方法,但都失败了。指南针是最接近成功的。
我有每个相量的幅度和相位值。
那么我该如何完成这个任务呢?你能帮我画两个相量吗?
感谢任何帮助。
谢谢!
相关示例:来自http://fourier.eng.hmc.edu/e84/lectures/ch3/node2.html
[spektre 的例子]
figure(1); hold on;
ang = [0.1 0.2 0.7] ; % Angles in rad
r = [1 2 4] ; % Vector of radius
start = [0 0]
for i=1:numel(r)
plot([start(1) start(1)+r(i)*cos(ang(i))],[start(2) start(2)+r(i)*sin(ang(i))],'b-+')
start=start+[r(i)*cos(ang(i)) r(i)*sin(ang(i))]
end
plot([0 start(1)],[0 start(2)],'r-')
以下示例应该可以帮助您入门:
首先定义三个相量。
% Define three complex numbers by magnitude and phase
ph1 = 20*exp(1i*0.25*pi);
ph2 = 10*exp(1i*0.7*pi);
ph3 = 5*exp(1i*1.2*pi);
然后,使用cumsum
,计算出包含ph1, ph1+ph2, ph1+ph2+ph3
的向量。
% Step-wise vector sum
vecs = cumsum([ph1; ph2; ph3]);
vecs = [0; vecs]; % add origin as starting point
复数按实部和虚部绘制。
% Plot
figure;
plot(real(vecs), imag(vecs), '-+');
xlim([-30 30]);
ylim([-30 30]);
xlabel('real part');
ylabel('imaginary part');
grid on;
这将产生下图:
我有 3 个信号,我正在尝试绘制它们的 phasors 及其总和。我需要将它们端到端地绘制出来以演示相量加法。也就是说,第一个相量必须从原点开始。第二个相量必须从第一个相量的末尾开始。第三个相量必须从第二个相量的末尾开始。这样,第三个相量的终点就是结果相量(考虑到它是从原点开始的)。横轴和纵轴分别为实轴和虚轴,范围分别为[-30, 30]。
我今天才开始使用 matlab,这是晚上的事。我尝试使用 plot、plot2、plot3、compass 和几种方法,但都失败了。指南针是最接近成功的。
我有每个相量的幅度和相位值。
那么我该如何完成这个任务呢?你能帮我画两个相量吗?
感谢任何帮助。
谢谢!
相关示例:来自http://fourier.eng.hmc.edu/e84/lectures/ch3/node2.html
[spektre 的例子]
figure(1); hold on;
ang = [0.1 0.2 0.7] ; % Angles in rad
r = [1 2 4] ; % Vector of radius
start = [0 0]
for i=1:numel(r)
plot([start(1) start(1)+r(i)*cos(ang(i))],[start(2) start(2)+r(i)*sin(ang(i))],'b-+')
start=start+[r(i)*cos(ang(i)) r(i)*sin(ang(i))]
end
plot([0 start(1)],[0 start(2)],'r-')
以下示例应该可以帮助您入门:
首先定义三个相量。
% Define three complex numbers by magnitude and phase
ph1 = 20*exp(1i*0.25*pi);
ph2 = 10*exp(1i*0.7*pi);
ph3 = 5*exp(1i*1.2*pi);
然后,使用cumsum
,计算出包含ph1, ph1+ph2, ph1+ph2+ph3
的向量。
% Step-wise vector sum
vecs = cumsum([ph1; ph2; ph3]);
vecs = [0; vecs]; % add origin as starting point
复数按实部和虚部绘制。
% Plot
figure;
plot(real(vecs), imag(vecs), '-+');
xlim([-30 30]);
ylim([-30 30]);
xlabel('real part');
ylabel('imaginary part');
grid on;
这将产生下图: