在Matlab中绘制sin(x)图 - 奇怪的结果

时间:2017-04-25 15:46:43

标签: matlab plot sin

您好我试图在Matlab中绘制图形并且我得到了奇怪的结果: 我应该做y = a sin(b x + c)的图表 当a,b,c从图形变为图形时 但是当我改变' b'重视一个大的 图app中的图形变得奇怪。

并且使图表变得奇怪的原因之一是' N' matlab函数中的值:x = linspace(x0,xt,N) 例如,当我将N改为200时,图表会变得疯狂吗? 到底是什么' N'也许我没有得到它:(

所以这是我的代码,问题出在'图4' (部分' c'),图表看起来不像sin(x) 而在图1,2,3中,一切都很好。

[在向我提供解决方案时,请考虑我需要3个完整周期的图表]。

代码:

%------a------%
vm1=20;
vm2=41;
vm3=79;
f=44;
w=2*pi*f;

t=linspace(0,6*pi,120);  %6pi for 3 cycles
v1=vm1*sin(w*t+pi/3);
v2=vm2*sin(w*t-pi/4);
v3=vm3*sin(w*t);

plot(t,v1,t,v2,t,v3);
ylabel('v(t)[V]');
xlabel('t[sec]');
legend('v_1(t)','v_2(t)','v_3(t)');

%-----b-----%
vsum=v1+v2+v3;
figure;plot(t,vsum,'linewidth',2);
ylabel('v(t)[V]');
xlabel('t[sec]');
legend('v_s(t)');

%-----c-----%
f1=200;
w1=2*pi*f1;
f2=200*3.2;
w2=2*pi*f2;
f3=200*4.3;
w3=2*pi*f3;

v1_new=vm1*sin(w1*t+pi/3);
v2_new=vm2*sin(w2*t-pi/4);
v3_new=vm3*sin(w3*t);
figure;plot(t,v1_new,t,v2_new,t,v3_new);
ylabel('v(t)[V]');
xlabel('t[sec]');
legend('v_1new(t)','v_2new(t)','v_3new(t)');

vsum_new=v1_new+v2_new+v3_new;
figure;plot(t,vsum_new,'linewidth',2);
ylabel('v(t)[V]');
xlabel('t[sec]');
legend('v_s(t)');

1 个答案:

答案 0 :(得分:0)

在你的函数“y = a * sin(b * x + c)”中,b改变正弦波的周期,即完成一个完整周期所需的时间。

期间:T = 2 * pi / b

因此,如果你想要3个句号,你应该计算T并确保你的t从0到3 * T。

t = linspace(0,6*pi/w1,120);