您好我试图在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)');
答案 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);