2017-04-25 84 views
0

你好我試圖繪製在Matlab中的圖形和我得到奇怪的結果: 我應該做的Y圖=一罪(B X + C) 時a,b,c從圖表變爲圖表.. 但是,當你將'b'值改變爲大值時,你可以看到 圖形應用程序中的圖形變得很奇怪。繪製的sin(x)圖形在Matlab - 奇怪的結果

和的,使圖形奇怪的原因之一是在MATLAB函數的「N」的值:X = linspace(X0,XT,N) 爲什麼例如當我改變N到200中的圖形去瘋? 究竟是'N'做什麼,也許我沒有得到它:(

所以這裏是我的代碼,問題是在'圖4'(部分'c'),該圖沒有看起來像罪( 。X) 而figure1,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

在'w'和't'中都有'pi',然後你將它們相乘,從而在'sin'和'cos'函數內給出'pi^2'。你確定你需要兩個嗎? – NKN

回答

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);