2016-04-22 19 views
2
s=linspace(-3,3); 

x=cosh(s); 
y=sinh(s); 

plot(x,y) 
hold on 
plot(-x,y) 
%until here good plots 
close all 
x=[x,-x]; 
y=[y,y]; 
plot(x,y) 
%above plot adds a line 

基本上,當我堆積我的矩陣來繪製它們在一個,Matlab增加了一些原因。Matlab,相同的數據產生不同的圖

+1

差距行只是在那裏的兩個部分連接您的圖,就像你問MATLAB的那樣。如果你不想要它,我建議你分別繪製這兩個部分: 'x = [x。', - x。'];' 'y = [y。',y。']; ' 'plot(x,y)' – BillBokeey

+0

@BillBokeey你應該補充一點,作爲回答 – Dan

+0

噢,那麼我將在你已經回答的問題上發表一個答案還沒有到來@丹^^ – BillBokeey

回答

1

因爲plot用線性內插線連接所有的點。由於sinh(y(end))不等於sinh(y(1)),當您繪製y2時,這兩個點在您的y2 = [y,y]中相鄰,MATLAB將在這兩個點之間進行線性插值,從而確定線。

如果你不想讓行,但要繪製此作爲一個系列,嘗試添加NaN您想即

x2 = [x, NaN, -x]; 
y2 = [y, NaN, y]; 
plot(x2,y2) 
+0

好一,快樂 – MSE

相關問題