2016-04-22 17 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

相关问题