Matlab,Same Data产生不同的图

时间:2016-04-22 14:40:39

标签: matlab matrix plot

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会出于某种原因添加一条线。

1 个答案:

答案 0 :(得分:1)

因为plot使用线性插值线连接所有点。由于sinh(y(end))不等于sinh(y(1)),并且当您绘制y2 = [y,y] y2时,这两个点在您的NaN中相邻,MATLAB将在这两个点之间进行线性插值,从而线性地插入。 / p>

如果你不想要这一行,但你想把它作为一个系列进行绘制,那么试着在你需要的地方添加x2 = [x, NaN, -x]; y2 = [y, NaN, y]; plot(x2,y2) ,即

53x63x46